I am still struggling to get Dorico and GrandOrgue working together properly.
Does Dorico allow for having multiple playing techniques being effective in parallel for a single MIDI channel at the same time? The Play mode view shows only a single selected playing technique at any time for a staff (if that is just a question of graphics that is fine of course), but I would need quasi need multiple playing techniques being effective in parallel –– at least I cannot think of a way to avoid that for what I want to do.
I want to freely control both couplings (which stave plays currently which manuals/pedal) and combinations (which manual/pedal plays which organ stop combination). So, for any note that is played, both at least one coupling (I, II, III or Ped – but also any combination of those should be possible) and exactly one combination for each currently used manual/pedal must be selected. Each of these must work for any stave, i.e. any MIDI channel involved. An additional problem is that each coupling message must be sent only once (unfortunately, when a coupling MIDI message is resent, GrandOrgue understand that as to be switched off again).
NB: I know that my setup works on the GrandOrgue side, because I have such a playback setup working fine with Sibelius. However, I would prefer using Dorico for multiple reasons.
In Dorico, I got the relevant messages work in isolation now, but their combination does not work, because Dorico either omits some messages, or sends them more than once. All I want is that each playing technique occurrence in the score should result in exactly one associated MIDI message, but Dorico omits some messages and resends others. Seemingly I am still missing something.
Attached is another example Dorico file. For clarity it only defines and uses coupling playing techniques for one manual (+I means add division I; -I is defined but not even used) and just two combination for that division (I: 1, and I: 2). The natural playing technique is set to the MIDI message for grand cancel (G.C.), which disengages all organ stops and couplings.
The initial G.C. works as intended, it sends it message (#CC 30 127) on all MIDI channels (2, 3, and 4). (It outputs those twice, but that happens to be no problem here). Then +I is engaged on all staves, and it also sends its message (#CC 21 127) on all MIDI channels, but unfortunately it also sends the message on channel 4 immediately again (though not the other channels), which now immediately unsets this coupling on the top stave. The example score then sets I: 2 in the upper stave at the beginning (MIDI program change 22 on the channel of that stave, 4), and I: 1 (MIDI program change 21) a bar later. Dorico unfortunately skips the first program change, while the second is output. When I define a mutual exclusion group for the combinations of division I, i.e. I: 1 and I: 2, then both are output, but then the MIDI messages for the couplings are skipped instead.
Again, does Dorico allow for having multiple playing techniques being effective in parallel for a single MIDI channel at the same time? I would need to be able to have for a single stave all the following playing techniques effective at the same time: an arbitrary combination of couplings, and one combination for each currently engaged division should be allow to be effective simultaneously. For example, for coupling selections in an extreme case +I, +II, +III, +Ped. should be effective all together (but also combinations like +I, -II, -Ped should work, removing the previously engaged 2nd division and pedal for the stave and instead engaging division I), and a combination for each of these divisions, like I: 1, II: 1, III: 1, and Ped: 1. Of course, in the end I only need the relevant MIDI messages to be output, so the question of having multiple playing techniques being effective in parallel might be a red herring.
For completeness, I am not only attaching the relevant Dorico file, but also again its output as captured by MIDI Monitor below.
In summary, how do I ensure that for each notated playing technique its associated MIDI message is sent, and how do I ensure that this MIDI message is only sent once?
Thanks a lot for your help!
The MIDI Monitor output for the attached Dorico file:
16:09:36.399 From IAC Bus 2 Control 1 123 0
16:09:36.399 From IAC Bus 2 Control 1 121 0
16:09:36.399 From IAC Bus 2 Control 1 64 0
16:09:36.399 From IAC Bus 2 Control 2 123 0
16:09:36.412 From IAC Bus 2 Control 2 121 0
16:09:36.412 From IAC Bus 2 Control 2 64 0
16:09:36.412 From IAC Bus 2 Control 3 123 0
16:09:36.412 From IAC Bus 2 Control 3 121 0
16:09:36.412 From IAC Bus 2 Control 3 64 0
16:09:36.412 From IAC Bus 2 Control 4 123 0
16:09:36.412 From IAC Bus 2 Control 4 121 0
16:09:36.412 From IAC Bus 2 Control 4 64 0
16:09:36.412 From IAC Bus 2 Control 5 123 0
16:09:36.412 From IAC Bus 2 Control 5 121 0
16:09:36.412 From IAC Bus 2 Control 5 64 0
16:09:36.412 From IAC Bus 2 Control 6 123 0
16:09:36.412 From IAC Bus 2 Control 6 121 0
16:09:36.412 From IAC Bus 2 Control 6 64 0
16:09:36.412 From IAC Bus 2 Control 7 123 0
16:09:36.412 From IAC Bus 2 Control 7 121 0
16:09:36.412 From IAC Bus 2 Control 7 64 0
16:09:36.412 From IAC Bus 2 Control 8 123 0
16:09:36.412 From IAC Bus 2 Control 8 121 0
16:09:36.412 From IAC Bus 2 Control 8 64 0
16:09:36.412 From IAC Bus 2 Control 9 123 0
16:09:36.412 From IAC Bus 2 Control 9 121 0
16:09:36.412 From IAC Bus 2 Control 9 64 0
16:09:36.412 From IAC Bus 2 Control 10 123 0
16:09:36.412 From IAC Bus 2 Control 10 121 0
16:09:36.412 From IAC Bus 2 Control 10 64 0
16:09:36.412 From IAC Bus 2 Control 11 123 0
16:09:36.412 From IAC Bus 2 Control 11 121 0
16:09:36.412 From IAC Bus 2 Control 11 64 0
16:09:36.412 From IAC Bus 2 Control 12 123 0
16:09:36.412 From IAC Bus 2 Control 12 121 0
16:09:36.412 From IAC Bus 2 Control 12 64 0
16:09:36.412 From IAC Bus 2 Control 13 123 0
16:09:36.412 From IAC Bus 2 Control 13 121 0
16:09:36.412 From IAC Bus 2 Control 13 64 0
16:09:36.412 From IAC Bus 2 Control 14 123 0
16:09:36.412 From IAC Bus 2 Control 14 121 0
16:09:36.412 From IAC Bus 2 Control 14 64 0
16:09:36.412 From IAC Bus 2 Control 15 123 0
16:09:36.412 From IAC Bus 2 Control 15 121 0
16:09:36.412 From IAC Bus 2 Control 15 64 0
16:09:36.412 From IAC Bus 2 Control 16 123 0
16:09:36.412 From IAC Bus 2 Control 16 121 0
16:09:36.412 From IAC Bus 2 Control 16 64 0
16:09:36.412 From IAC Bus 2 Control 4 7 100
16:09:36.412 From IAC Bus 2 Control 4 10 64
16:09:37.442 From IAC Bus 2 Control 4 30 127
16:09:37.442 From IAC Bus 2 Control 3 30 127
16:09:37.442 From IAC Bus 2 Control 2 30 127
16:09:37.442 From IAC Bus 2 Control 4 7 100
16:09:37.442 From IAC Bus 2 Control 4 10 64
16:09:37.442 From IAC Bus 2 Control 4 30 127
16:09:37.442 From IAC Bus 2 Control 3 30 127
16:09:37.442 From IAC Bus 2 Control 2 30 127
16:09:37.681 From IAC Bus 2 Control 4 21 127
16:09:37.681 From IAC Bus 2 Control 3 21 127
16:09:37.681 From IAC Bus 2 Control 2 21 127
16:09:37.931 From IAC Bus 2 Control 4 21 127
16:09:37.942 From IAC Bus 2 Note On 2 C3 77
16:09:38.367 From IAC Bus 2 Note Off 2 C3 0
16:09:38.442 From IAC Bus 2 Note On 3 C4 70
16:09:38.867 From IAC Bus 2 Note Off 3 C4 0
16:09:38.942 From IAC Bus 2 Note On 4 C5 70
16:09:39.367 From IAC Bus 2 Note Off 4 C5 0
16:09:39.431 From IAC Bus 2 Program 4 21
16:09:39.442 From IAC Bus 2 Note On 2 D3 71
16:09:39.867 From IAC Bus 2 Note Off 2 D3 0
16:09:39.942 From IAC Bus 2 Note On 3 D4 63
16:09:40.367 From IAC Bus 2 Note Off 3 D4 0
16:09:40.442 From IAC Bus 2 Note On 4 D5 72
16:09:40.867 From IAC Bus 2 Note Off 4 D5 0
16:09:40.935 From IAC Bus 2 Note On 2 E3 80
16:09:41.366 From IAC Bus 2 Note Off 2 E3 0
16:09:41.435 From IAC Bus 2 Note On 3 E4 69
16:09:41.866 From IAC Bus 2 Note Off 3 E4 0
16:09:41.942 From IAC Bus 2 Note On 4 E5 67
16:09:42.367 From IAC Bus 2 Note Off 4 E5 0