Hi Graham,
Am 10.05.21 um 18:40 schrieb Graham Breed:
I didn't write any C++ but I looked at the C++ code and it looks
trivial to change the pitch bend messages to MTS.
"Trivial" is in the eye of the beholder :-), but it was easy enough for
me to succeed.
I tested with FluidSynth, and there's an update that I don't think I
pushed. I think it was that you need to use the all devices Device ID
(0x7f) instead of the channel number.
That information literally saved my life just now: I'm in the process of
creating some teaching material for tomorrow; timidity behaves strangely
on my system, and FluidSynth didn't seem to use all of the tuning
information in the MIDI file. The change in the Device ID you described
was what did the trick, and there's no way I could have found this out
by myself this evening.
Thanks much!
What would be more
difficult is adding all the options so that either pitch bends or MTS
would work — or remembering the current state so you only need to send
a message when something changes.
Yes, that's what I had in mind also. Conceptually, it seems clear what
to do (keep track of the 'current' tuning for each key for each
channel), but one has to find the right place to hook this into
LilyPond's rather involved wiring. That's a task for the upcoming holidays.
Best
Lukas