Lack of Capabilities in the Custom Time Signature Creator

• Oct 19, 2018 - 04:18
Reported version
P2 - Medium
Graphical (UI)
S5 - Suggestion

I have been asked to request a feature whereby atypical time signatures can be used. In one instance, I came across a section where I wanted a decimal/fraction time signature, but the program does not allow for this. Custom time signatures should be able to include fractions and decimals for more obscure time signatures (which may or may not be applicable in the real music world [there is at least one instance where this applied] but are helpful in prerequisite musical organization).


Currently, the "text" field supports only the numerals and the "+" sign as far as I can tell - presumably because we don't have pre-defined glyphs for much else (there is, I noticed, a comma available in Bravura). We should at least support other characters by using "normal" glyphs sized appropriately. But we should also provide more flexibility in the overall presentation. Two common requests are "large" time signatures that display between staves, also signatures of the form 3/4 + 5/8 (as opposed to 3+5/4+8, which is the closest we can do currently).

A "large" option would I think be especially appreciated by many, as this style has become quite common.

"Custom time signatures should be able to include fractions and decimals for more obscure time signatures (which may or may not be applicable in the real music world [there is at least one instance where this applied] but are helpful in prerequisite musical organization)."

Can you show some examples of these in use in actual music?

In reply to by elerouxx

Simply wow.
Have you thought of making the parser accesible in the normal score mode via a shortcut (Dorico uses shift+m for time signatures in what they call popovers), so that one can enter a time signature on the go?
It would make your new feature even more powerful.

In reply to by mike320

So what? It's about flexibility and providing users with different options. Popovers are one of the things Dorico owners will always bring up because they are so time-saving. I think it would be very wise to start incorporating them in MuseScore, and in a post comment Marc Sabatella said that they want to do things like this.

In reply to by Asmatzaile

I thought on just clicking the time signature and editing it in place, but that would be a lot harder to implement (this PR has been tricky enough for me to write).
And also would raise several consistency issues to discuss as this would be different from MuseScore's general interaction.
Another idea was to expose the text field directly in the inspector.
But I think the way it ended is the best so far, since the Time Signature dialog shows a real-time preview as you write the text, and this could not be easily done in other implementations.
On the other hand, if you really want to compare, this new proposed method covers several things that Dorico doesn't support.

How about exposing the text field directly in the Inspector? That would be consistent with MuseScore's ways and would speed the process as desired. I tried modifying the code and got this:

Attachment Size
parser_ts_inspector.gif 511.26 KB

In reply to by elerouxx

I wasn't talking about editing an existing time signature (which would indeed be done in the Inspector, or even in place as you suggested, if someone figured out how to do it) but about adding a new one when a note or rest is selected (which currently can only be done via the palettes). I think this "popover" function would allow for high flexibility and versatility.

In reply to by Asmatzaile

I see. Well, there are some things to consider. Dorico's popover allows to quickly add a time signature but it's integrated with the Real values, with the advantages and limitations on that. In Musescore, the real num/den values and the appearance text are not linked (the text is not functional) and this allows for a very precise beaming pattern that is not necessarily reflected on how the t/s looks.
Also, the popover is a Dorico's design concept. I like it but it's theirs. So the discussion should focus on how Musescore can do things better in its own way. In my opinion it raises two topics:
1. Despite the inspector isn't 'the right way' to edit a time signature, it should work better: it should change the whole time signature if it's selected globally or change just the selected staff if it was ctrl-selected.
2. The palette Create time signature option allows to create a t/s, but hitting the Add button doesn't do any obvious thing, until you realize: it creates the new t/s but doesn't add it to the palette, nor to the score, plus the button doesn't even blink when pressed. I often find myself clicking the Add button more than once, to find out that I added several of the same t/s to the 'more' t/s palette, so I need an extra step to drag this t/s from More to the palette, AND an extra step to drag it to the score. I don't think this is a good design. But if I can just select a measure, hit shift-t and create the new signature (along with its appearance and beaming pattern) and add it to the score, it seems perfect to me. It's a super pop over.

In reply to by elerouxx

The inspector very much IS the right way to do this. I would also add that palettes should also provide an easy way too. We should (as a rule) never hide functionality behind right-click. All functionality should be available in the UI and right-click should only be used as an alternative way of accessing this functionality.

Also, the 'Inspector' is not actually an inspector. It's a properties panel and we should continue using it for this purpose. This is why I've created the modular designs implemented in MuseScore 4. Time signature properties would fit perfectly with this design.

In reply to by Tantacrul

  • I agree. The num/dem fields for actual (global or local) values should be exposed in the inspector, and work just as if we clicked a t/s on the palette. The Properties button may be renamed to Note Grouping or Beaming Pattern or something like that, which is more specific but not so frequently edited.
  • Also, I found that the Properties dialog, as it is is, actually only modifies the ts of first selected staff. Not my fault tho, it has been like this for a while and would need to be fixed in another PR. Or hopefully be rethought for future version.
  • About the 'Large' Time Signature Font, I've been squeezing my brain cells left to automatically increase the size of the t/s, when clicked, just to a point in which it doesn't make a mess, but that's not something I can make quickly. Then tried rephrasing the label on the checkbox. Technically, the checkbox activates the narrow sans font glyphs named as "Large" style alternative in SMuFL standard, but the glyphs are not larger themselves, and their size will be an engraver's choice. I suppose I could simply double the size of the large glyphs (independently of the Scale values) as a quick solution, or then find a way to remove the L word from the label, if any of these solutions help make clear the purpose of the checkbox.

I put quite an effort activating so many SMuFL glyphs and writing the code for the parser string. Unfortunately there are inherited issues that need improvement or fixing regarding time signatures, like what to do with the properties panel problem, and that's not something I can do alone. I believe this PR as it came out so far is a good starting point and makes room for more improvements soon.

In reply to by elerouxx

I definitely don't think you'd need to solve existing issues with the popup dialog. However, regarding my feedback on this PR, I did actually give this exact feedback around 2 or 3 months ago.

I think the Large Time Sig options are just too broken to be included.

One of my responsibilities is to try and improve MuseScore's credibility and standing when compared to the other notation apps out there. We can't achieve this if we include options that produce broken results by default. It destroys our credibility.

(For anyone wondering what we're talking about)

In reply to by Jojo-Schmitz

I do hope that we will see the enhanced time signature creator/editor in MuseScore 4.0. At present it's really difficult to notate dual time signatures like the two examples shown below.

Time signature 3-4 and 2-4.png
Time signature 6-8 and 9-8.png

You cannot use the existing Time Signature creator from the palette in MS 3.6.2, because it doesn't allow a space between the two time signature digits in the "Text" boxes. I resort to the method proposed in the forum post "Dual Time Signature":
But the resulting "dual time signature" workaround is shockingly fragile if the layout of notes is changed subsequently.

Sorry I have been a bit afar from development, seeing that there's so much internal work to do for 4.0
I'm taking this time out to finish my master's degree project, in which MuseScore takes a role by the way :D
I have been thinking that the honest name for what I created above would be "Fake time signature". Maybe this would make things more clear on the user side. But that's a topic for next year I guess.
Good luck all and see you soon.