XML Hairpin Duration (Crescendo/Diminuendo)

• Nov 29, 2017 - 18:38

Say you have a whole note with a decrescendo/diminuendo through beats 1 and 2 and a crescendo through beats 3 and 4. When creating parts or exporting, the XML does not have a code for the duration of the crescendo, so you end up with two overlapping hairpins that stretch the whole measure. When importing the XML to SmartMusic, it freaks out and reverses one of the hairpins and squeezes it at the end of the measure (see attached screenshot comparison).

I'm wondering if a feature could be added so I could move the handles of the hairpin by beat instead of by note. So for example, by default a hairpin on a whole note could have its handles on beat 1 and 4, but then I could move the end handle to beat 2 and add another hairpin and move its handles to be on beat 3 and 4. I'm not sure how that would work with XML, but the ability to specify duration would be very useful.

Attachment Size
Hairpins.png 414.13 KB

Comments

You could add voice 2 to the measure with only rests, add the hairpins by clicking on the voice 2 rests then make the voice 2 rests invisible. I'm not sure how SmarMusic would handle that though. I think version 3 will make this easier.

In reply to by mike320

This is how I generally handle this situation as well. Not sure there is anything specifically planned for MuseScore 3 to improve this, but elsewhere I proposed something like what the OP is suggesting - a way to move anchor points by beats. We've already got some shortcuts active in chord symbol edit mode that could potentially be adapted for use here (eg, Ctrl+6 to advance by a half note duration).

In reply to by Marc Sabatella

Turns out it's a bug in MuseScore. Check out where this Flute 1 Test.xml has placed crescendo that's supposed to be on beat 3-4 in M. 48. I'm still learning how this all works, but doesn't the stop code need to be underneath beat 4? MuseScore wrote it to be below the whole note in voice 1. It also gave it number="2." If you even import the Test.xml back into MuseScore, even MuseScore doesn't read it correctly and stretches the crescendo all the way to the end of the piece.

The Flute 1 Test(2).xml is my manual adjustment. I put the start of the diminuendo above the first voice 2 half rest and the "stop" below it (rather than above the voice 1 whole note). Then I put the start of the crescendo above the second voice 2 half rest and the "stop" below it. I also changed them all to be number="1" because they're they only hairpins attached to their respective notes. Importing my adjusted XML file into both MuseScore and SmartMusic worked perfectly. So this is how is should be coding it by default, correct?

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