Editing a hairpin to add a dynamic

This doesn’t feel right. I can work around it, and I generally feel pretty comfortable with dynamics, but I think this behavior is a bit confusing.


+1 very confusing




Definitely. I would expect to type:
to get such a result.

1 Like

I’m worried that my suggestion to fix this problem might be misconstrued as hate speech or rudeness, so in honor of teamwork, I’ll simply invite everyone present to raise a glass of delicious wine to salute everyone who has been working on fixing this problem for two years.
@dspreadbury, cheers!

Certainly that result doesn’t match the action in the OP. But on the other hand I would not take that action. To put mp at the end of the hairpin I would select the half rest. Then the dynamic automatically groups with the hairpin, and shunts before the rest, as usual.

Or …

I suppose if I really felt the need to enter >mp in the popover (perhaps because I feared Dorico would place the dynamic right on the rest, which it helpfully doesn’t do) I would delete the existing hairpin before selecting the tied half notes – because I know Dorico does this kind of thing with adding to the dynamics popover.

In don’t know what Daniel and the Team think of this, but to me it is a non-issue.


For me it’s a bug. And I didn’t put mp after the hairpin. I put mf before the hairpin and have undescriptable issues. It is in D5, was in D4, but probably wasn’t in D3 nor D3.5.

For me it simply makes no sense. It’s equivalent to having p in all strings, linked, and then when unlinking specific dynamics, it unlinks all. Why? :weary:
Just unlink the ones selected…
I do have to post this in its own thread, but didn’t have much time yet to dedicate myself to this cause.

1 Like

For such cases, Instead of using Unlink (that unlinks all the elements of the link), use Remove from group also for a selected single linked dynamics: the selected dynamic becomes so independent from the linked vertical group, and the other dynamics stay linked :-). (think of “link” also as a sort of “group”, just vertical instead of horizontal, from which you can remove elements).


Another bug, that bugs me, is when I edit an existing dynamic marking, say mp to p, and end up with both markings. Once upon a time it worked as expected. Please, bring the good, old times back.

1 Like

This has driven me a little crazy too because there is some kind of logic to it, but it’s kind of hard to remember and confusing, however it is at least consistent with itself once you figure it out:

1. Text Before Hairpin

Typing text before the hairpin AND re-typing the hairpin < > results in text before hairpin.

double-clicking > and typing f> becomes f>
double-clicking < and typing p< becomes p<

From a syntax perspective this seems perfectly clear and logical. You type what you want to see and you see it.

Using this logic, one would assume that to achieve the opposite (that is, hairpin first and then text), you would simply type the opposite. Makes sense, but you’d be wrong:

2. If you were to type the > or < sign in the popover, and then continue to type the text dynamic, the result will be a second hairpin.

double-clicking > and typing >p becomes >p>
double-clicking < and typing <f becomes <f<

This doesn’t follow what anyone would believe based on the first syntax. So in order to achieve that without the second hairpin, you have to know to type it without the additional < or > in the popover:

3. Hairpin Before Text
Typing only text in the popover (without adding < or >) results in a hairpin before text.

double-clicking > and typing p becomes >p
double-clicking < and typing f becomes <f

So in summary, it’s helpful to remember:

  • if you desire text before hairpin = you have to enter both the text and then < or >.
  • if you desire hairpin before text = then only type the text and no > or <.

However this isn’t always the case. If you wish to add secondary text to a hairpin which already has text (such as p<f), then either typing with or without a hairpin in the popover results in the same:

double-clicking >p and only typing f becomes f>p
double-clicking >p and typing f> also becomes f>p
double-clicking >p and typing f>p becomes a rather wacky f>p>p

4. What about editing hairpins which already have text attached?

The above logic used for #2 suggests that only typing text without hairpin will give you hairpin before text. So let’s say you already have this arrangement but wish to edit an existing one:

double-clicking >f and only typing p becomes p>f
double-clicking >f and typing >p becomes >p>f

In other words, editing these after the fact doesn’t follow the same logical rule as when creating them the first time.

5. What if you want to change the hairpin direction and thus order between hairpin and text?

This is where things get pretty hairy.

if you double-click > and type p< it still becomes p>
if you double-click < and type mf> it still becomes mf<

Using this method, I have found the only way is to first reverse the direction of the hairpin in the popover without any text. Then you can double-click the newly reversed hairpin again and type text according to the methods above. Just an extra step.

While I have generally figured out the logic in all these cases above, it’s completely confusing and overly complicated as you can tell when you see it written out.

Also, I have observed a weird bug which I believe has something to do with the way Dorico handles linking and grouping - there are times when I go to replace a hairpin/text via the double-clicked popover, and it creates a new hairpin on top of the existing hairpin. I have not understood the rhyme and reason to this and it’s hard to produce consistently, leading me to assume it’s a bug.

So what’s my suggestion?
I’m aware that some people may have gotten used to these logical rules above, but honestly I think the clearest approach would be like the very first method - that is, whatever you type in the popover is always what you get. There shouldn’t have to be all these layers of guesswork of if this then that. It would be cut and dry, intuitive, easy to remember, and cut down on a lot of wasted time if whatever you type in the popover is formatted exactly as you typed it.


The problem here is, that you can’t see in Dorico, if a dynamic is for all voices or attached to a voice. If you edit a dynamic for e.g. upper voice 1, you end up with two dyamics, because Dorico will add the new dynamic for all voices. You have to exit the popover with Alt + Enter, if you want to change the dynamic for upper voice 1.
If you didn’t enter the dynamics into a certain voice yourself, you probably have a file, which was imported from MusicXML.

Perhaps you sometimes also have problems to group dynamics, because one can’t group a dynamic for a single voice with a dynamic for all voices.

I would like to see the follwoing improvements for dynamics:

  1. Display the voice of a dynamic in the status bar and color voice dependent dynamic in the same color as notes.
  2. Being able to change the voice for a dynamic in the same way, as we can change the voice for notes.
  3. A command to reset every dynamic to attach to all voices. This would be very useful for me after a MusicXML import.

The problem I have encountered is not related to voices or MusicXML imports. I have narrowed it down to when a hairpin ends on the same rythmic position as an immediate dynamic marking, and those two markings are not grouped. That’s when editing the immediate dynamic marking results in two markings, and ALT+ENTER does not change this. I consider this a bug, because it would be a rather strange feature.

@dspreadbury, I have just tested this again, and found a significant change:

  1. Add a hairpin to a note (say, a half note, so the space is obvious)
  2. Select that note, Shift-D, type an immediate dynamic, say p, and Enter

Expected: The p is added under the note. This is the result in Dorico 4 and earlier.
Actual, in Dorico 5.1.32: The p is added at the end of the note, after the hairpin.

To me this seems a regression.


For me, if I press Enter to have edit frame for input and everything in it is selected, when I press any key and type something different and press Enter, means that I replace everything that was selected. It’s the standard in all programs. It’s a non-discutable default around the world.

But in Dorico I select dynamics (drawing selection to have selected p<mf), press Enter, input mp<f, press Enter and have old and new dynamics in two rows. Is it a new standard of input? Who and when invented it?