Better automatic hairpins

• Jun 24, 2016 - 11:12

Since the plans for MS3 state, that MuseScore should become more intelligent, I'll share an idea I had for some time. Usually, when scores are becoming more complex, you need a lot of finetuning with hairpins. For example, if you put both a dynamics mark and start (or end) a hairpin on a note, you'd usually have to move the starting point of the hairpin to avoid collision. Now, my idea would be to implement a feature, that automatically deals with that. So we would need:
-> A way to determine whether an object (of certain types) is placed at the position of the starting or ending point (this is probably the hard part=
-> A way to determine this objects remaining width to the right/left (depending on starting/ending point)
-> Modify the rendering method so, that the starting/ending point is rendered to the right/left of the given position (should be fairly easy)
(obviously the handles for adjusting would need the remain on the actual position)

An even improved feature would be, that not only objects at start or end point should be avoided, but also objects in between. This would be a lot more complicated though, because one would have to implement a feature that stops the drawing of the hairpin before the evaded object and continues it afterwards.

Maybe someone of you guys has an idea how this could be done.


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