Display cells from hidden instruments in the timeline, using cyan shading, and maybe allow toggle hiding directly from timeline

• Jul 19, 2017 - 17:11
Reported version
S5 - Suggestion

Hidden instruments are very much still part of the score, and since the timeline is and overview of the score, it needs to include cells for these hidden instruments. In order to communicate that these cells are not viewable in the ScoreView, they should use the same cyan shading that is used for the cells outside the frame of the ScoreView. The instrument name should probably be written in medium grey to make it clear that entire instrument is hidden.


It would also be nice if user could toggle hiding instruments directly from the timeline, for instance with a little eye that appears when you can see when hover over instrument names, which when clicked will toggle visibility.

This was discussed in https://musescore.org/en/node/233786 (which at least mike320 agrees with this...although since that forum topic was something else related, I'm not sure how many others agreed.


From a code view, this will be quite simple to add, especially since I am already adding something quite like that. The only thing that will stop me from adding it is a resounding "no". If added, this will appear in the next PR.

We have hidden instruments (made invisible in the Instrument Dialog) but we can also "make invisible the empty staff" with or without the first system (In Style > General), and with a special case in Staff Properties to "not add if system empty"
We can also make measure invisible on a given staff... via Right click > Measure Properties
And now in master, we also have the "cutaway" option in Staff Properties...

Measure::visible() should take care of all these cases. Do we want the same representation for all these cases?

I think we should keep the coloring scheme of the timeline simple, as it is currently, so all these things lasconic mentions of hidden staffs, measures, instruments, should all be colored in the cyan hue that is also used for notes outside the viewable range. If these are all covered by Measure::visible() then that makes the implementation simple.

One thing I should mention: the fact that there are so many ways that measures can be hidden, then I think that the thick cyan line separating the visible from non-visible now seems to me to be unnecessary, and might even be too distracting if the visible-nonvisible boundary forms odd shapes. So I would also suggest that we just get rid of that thick line entirely, so it isn't too busy on the eyes:


Interestingly, if right click a staff and set "Hide when empty" to always, then it seems that the timeline already does what is being asked in this feature request: it shades it in cyan.

I should also note that the timeline displays on a staff-per-row basis, not on an part-per-row basis. So regarding my feature to add a little eye icon for hiding, if it were to do the same as Edit->instruments, it should hide the entire part, not just that specific staff. Anyway, don't focus on the eye right now...focus on the shading first. I think there is more work to be done for multi-staff instruments anyway with the timeline (for instance by having them user a same rectangle in the first column).

I think what you are seeing is that hide empty staves will hide single staves, not necessarily parts on a multi-staff instrument. You can not mark individual staves invisible in this case, though at time I wish it were not so.

Just a note here (I know JoshuaBonn1 isn't ready to focus on appearance details quite yet) that I think the "cyan" is actually green, and as such looks out of place in MuseScore, where things are blue. (The same is true of some stuff in the Inspector in master, which I hope will also be reworked in the fullness of time.)

The grey-green-cyan or whatever color it should be called has one nice thing going for it, and that is that it doesn't stand out too much. Sibelius uses orange for this area...and we found it stood out too much. Blue is specifically not allowed for these out-of-view cells because blue has a specific meaning of selection in musescore. Grey won't work because grey is currently used to indicate presence of elements (and using a lighter grey for these out-of-view cells wouldn't work because a filled out-of-view cell would look too much like an unfilled in-view cell).

If there is another color scheme that works with musescore let us know.

Regarding the color scheme, it would be good if all color would use #XXXXXX notation and if they could be centralized somewhere. Even better if they could reuse color from the application QPalette.

Actually, in Sibelius the orange shading is for measures that are in the view, not out of it. Similarly, in the Navigator (which the Timeline is meant to be an alternative to) the (blue) shading is over the in-view part of the score, not the out-of-view part.

It isn't hard to make this happen for the Timeline, and I actually like it a lot better:

Screen Shot 2017-07-26 at 3.17.46 PM.png

This isn't exactly the right color—lasconic's suggestion sounds great—but what do you think?

FWIW, Sibelius creates an orange outline around the visible measures, and then puts a gray shade over the non visible measures. The color change from gray to cyan or whatever is to distinguish between out of view measures and measures with notes in them (as ericfontainejazz described in #7). This is not to disagree with what Isaac Weiss' idea, rather give a bit more insight.


I'm still a little hesitant to have blue be used for visible area because blue should only mean selected.

There may be another way or shade. I also think that regardless of whatever hue or whether it colors inside or outside of viewable area, that the intensity should be very faint, since it is not important info, and so it doesn't distract. Again, I don't think the thick border between viewable and non viewable should be used since it is distracting and in fact Joshuas latest code no longer has that.

Maybe we should put the color in preferences text file (no need for gui, just the text tile), so people can try out different color schemes without recompiling.

yes of course I have used the Navigator a lot. But the navigator isn't used for selecting, while the timeline is used for selection, and so that is why I'm saying to leave blue for selections only. Keep in mind there are two ways currently for selection...range selections and simply elements selected. Range selected measures have a thick blue border and are shaded lightly blue, while element selected measures have a thin black border and are shaded lightly blue.

Again with the viewable border, I think you are missing an important point I've mentioned a couple times that the viewable border is potentially a very messy odd shape, not a clean rectangle.

Regarding inside and outside, it's the case of 6 eggs vs half a dozen. Just need to figure the way the doesn't conflict...the double blue is a bit conflicting but isn't too bad.

Status (old) active fixed
Status active fixed

Fixed in branch master, commit 2d5a6b022b

Add functionality to timeline
Check out my blog posts for more info:
Blog 7: https://musescore.org/en/user/1190941/blog/2017/07/16/gsoc-2017-timelin…
Blog 8: https://musescore.org/en/user/1190941/blog/2017/07/22/gsoc-2017-timelin…
Blog 9: https://musescore.org/en/user/1190941/blog/2017/07/30/gsoc-2017-timelin…
Blog 10: https://musescore.org/en/user/1190941/blog/2017/08/05/gsoc-2017-timelin…
Specific commit information can be found: https://github.com/JoshuaBonn1/MuseScore/tree/7-timeline-class
fix #230821 : Multiple meta values in a measure only displays one
fix #234081 : Display hidden instruments and allow for hiding of instruments from timeline