An Alternate Navigation System + New Selecton Features

• May 10, 2021 - 01:42

To be sure, I am intending to post this to the Features Requests Forum, so I hope I have it right. Also, I dunno if either of these two ideas have already been proposed, but here it goes. The easy one first...

1 - Would it be possible to make some new selection features? For long, multistave scores, I would like one to "Select All In This Stave", which would save time on navigating. Another one would be, if possible, "Select All In One (or more) Voice(s)". And, finally, "Select Upper/Middle/Lower Notes In This Stave". I perform those tasks a lot, and it takes a lot of time and effort (and error correction) to navigate while doing these operations manually.

2 - The other idea to enhance navigation might be a menu of anchors built upon Rehearsal Marks. For instance, since we already have things like Rehearsal Marks, why not offer some kind of option to use them as navigational anchors by making a pulldown menu or plugin to jump to those Marks? The Navigator is pricelessly helpful right now, but it is not very precise as an anchor, and it usually requires a few extra mouse clicks to get where one wants to go.

I think these would really enhance the copying/cutting/pasting process a great deal, as well as the navigation. All of these options would seem to have few dependencies, and, if they can operate independently, then they should be easy to build. Word Processors also have the second type of functionality already, usually in like a Table of Contents, as in LibreOffice's Writer , so why not a midi editor? In this sense, a score could be thought of a little like a book or essay. It might seem of further interest when one considers the expanded use of images and text based explanations (not just musical notation) in MuseScore.

I would help, but I dont know C++. I know python, so maybe I could do some plugin work. Either way, I'm willing to learn if someone would show me around, but I'm pretty much at the mercy of others going it alone.


* "Select all in this stave" → Home, Shift+End
* "Select All in One (or more) Voice(s) → Same as above, but (un)check voices in the selection filter (F6)
* "Select Upper/Lower/Middle Notes" of a chord → Not a direct command, but I believe the PruneStack plugin enables such a type of operation. It might also be worth it to add additional (temporary) staves and (Tools>) Explode onto them

  1. Ctrl+F, "rXX", see

Also see the Timeline, which is a far more useful version of the basic ideas of the Navigator.

So as far as I can see, everything you list is already there.

In reply to by Marc Sabatella

Let's go one at a time to keep it simpler.

This first one, for instance:

"Select all in this stave" → Home, Shift+End

Suppose I have a multipage score open, where four staves span the entire document, and I just want to top stave. The above command works, but it only goes to the end of one page?

What I was hoping for was the entire length of that top stave,

There might be reasons why it only works one page at a time, probably like if each page is somehow viewed as an independent score; or, even if each page is not viewed as an independent score, then there still seems to be cases where multiple scores are included in one document, and one may not actually want the entire top line of all pages selected; for, if that were so, you'd end up copying the top line in many different scores. But if the command were set per each score in a document, I'd like to be able to copy a stave (in this case the top one) for the full duration of the piece, even if that one score spans multiple pages.

In reply to by myMelodies

For No 2 check out the timeline as Marc suggested. This gives a condensed overview of the score showing major features like key changes, time signature changes and rehearsal marks. It also shows by shading which instruments have empty measures. And you can jump to the measure of your choice by clicking on the appropriate place in the condensed view.

Access it from there View menu.

In reply to by myMelodies

Move to #2.

CNTRL+F does pretty much what I want, except I was hoping to automate the list, specifically - when the rehearsal marks are created, a function would auto-append them to the search list.

Had I my druthers, which is why I would like to program it myself, I'd also make the search list a multidimensional array to accommodate other elements of the score. So, for instance, a list of rehearsal marks is only one way of jumping around, but other things could be used as anchors, too. Measure numbers, barlines, time sigs, key sigs, section breaks, songs, titles, tempo changes, accidentals, etc could all be set into a main array, and then secondary lists corresponding to the location of each species in the main index list could be used to jump to those specific locations. That way you could have a piece 5000 measures long with 20 staves and 40 changes in time signature' and, then, to reach the specific time signature you wanted, you would just open the index list, choose time sigs, and then a secondary list would be presented with the 40 time signatures to choose from. How it would actually appear and function is a different question, but it would be a nice, fast, efficient and accurate way to jump 4200 measures in two clicks.

If someone were to object to such a feature, then provide an override to turn it off. But - either way - I'd like to try to program it for myself.

The last topic here is where to put it on the GUI. I'd rather have it tabbed at the upper right of the page, but it is just fine as a pulldown. The catcher for me would be the automation.

As per the existing search list, which I am still learning, it's a great feature, so I dont object to it. My wish here is just to branch out a bit into a more automated boolean sense, where the typing and scrolling is reduced to just a few point-and-click moments.

In reply to by Marc Sabatella

That's certainly a fine piece of technology. I didnt know about it, and I still dont know much about it, so I am glad you told me. :)

The main difference is, it runs constantly, and it takes up a lot of space in the window. What I was proposing is more of a flyout menu with submenus, which would sit in a small corner somewhere up at the top of the screen, or even in the menubar itself. One would just click the menu item, and it would open up for a moment so one could make ones selection, and the program would just close out the menu and take one right to the location one would want to work (perhaps even without having to zoom or pan much if the score has many vertically stacked staves).

Given what you have in the Timeline, and how much effort went into it, and how much work it will take to get the flyout menu I am describing - I dont think it would be worth considering as much more than a personal project. I'd still like to get it to work for myself, though. In trying to rethink the Timeline, I'd learn about both MuseScore's code and the Timeline, and - if I actually got this flyout menu to work on my own, then that might be shareable (or at least something to consider for whatever reason).

Do you still have an unanswered question? Please log in first to post your question.