Right now, pitch bend is mediated by a single value in amy_global, and applies to all oscs, in proportion to *_coef[COEF_BEND].
However, the MIDI bytes for pitch bend are 0xE<C> <LO> <HI> where <C> is the MIDI channel (0x0 to 0xF), i.e. it is per-MIDI-channel.
Thus, we should record the pitch bend value separately for each MIDI channel, and apply it to oscs depending on which synth they belong to. As a MIDI-channel property, it should be associated with synths, i.e. it should be set with an i-layer command such as is0.5Z.
For oscs not related to a synth, and for backward compatibility, we could retain global pitch bend (s0.5Z).
Right now, pitch bend is mediated by a single value in
amy_global, and applies to all oscs, in proportion to*_coef[COEF_BEND].However, the MIDI bytes for pitch bend are
0xE<C> <LO> <HI>where<C>is the MIDI channel (0x0to0xF), i.e. it is per-MIDI-channel.Thus, we should record the pitch bend value separately for each MIDI channel, and apply it to oscs depending on which synth they belong to. As a MIDI-channel property, it should be associated with synths, i.e. it should be set with an
i-layer command such asis0.5Z.For oscs not related to a synth, and for backward compatibility, we could retain global pitch bend (
s0.5Z).