euwbah/musescore-xen-tuner

No playback for augmented unisons

ethernetsellout opened this issue · 1 comments

Windows 10
Musescore 3.6.2
b54812a

When making an augmented unison, only one note will play back.

This shows up in the console, unsure if related:

251:-1: TypeError: Cannot call method 'requestActivate' of undefined
Warning: file:///C:/Program Files/MuseScore 3/plugins/musescore-xen-tuner-master/xen tuner.qml:251: TypeError: Cannot call method 'requestActivate' of undefined

Nice find, thanks for reporting. This is an issue with how MuseScore coalesces playback of internally identical notes within a single Part/Instrument (even if the instrument has multiple staves) as one single note event.

If you open up the piano roll editor, you'll see that both notes are represented by only one MIDI note.

The solution here would be to artificially modify the PlayEvents of each note in an instrument/part, ensuring that every note on an instrument is on a unique MIDI pitch. However, it is a very involved process which I may not have time to properly implement in its entirety.

In the meantime, I will provide a quick fix for augmented unisons (and similar cases) for notes within the same chord & voice. This means that these midi note clashes between voices in the same staff or between staves in the same Part will not be fixed. PlayEvents caused by ornamentation will also not be regarded, so they may clash as well.

If you need a workaround for these MIDI note clashes, you can attach real accidentals (the officially supported, non-symbolic, standard single/double/triple sharp/flat accidentals) to the notes and make them invisible. This will change the MIDI pitch representation of these notes so that they will not clash, and the plugin will know how to account for them when tuning.

BTW, that error message is an unrelated error, which has been fixed.