I have set up an iPad using TouchOSC in order to issue MIDI CC commands to my keyboard. Everything works fine for cases where a single parameter is associated with a single CC number. For example, I can change the "Random Oscillator Detune" by issuing a RAW midi command "B0 67 00" (B0 = CC message, 67 = "Random Oscillator Detune" for my synth", and 00 = the value I want to set it to which actually gets masked with the incoming value based on the knob I'm turning in TouchOSC.)
However, my question comes in for those MIDI CC's which have multiple parameters packed into a single number (byte). For example, two bits are used for each of three oscillator waveforms, and a single bit is used for another function. If I used the masking function with Raw MIDI messages, using the same "B0 43 00" format as I used before, I'm able to grab the correct value and put it into the correct bits - but it overwrites the rest of the byte! This means I can't change (in this example) the oscillator 1 waveform without having oscillator 2's waveform, oscillator 3's waveform, and the other single bit parameter reset to zero each time. The same goes for the case that I adjust any of the other parameters - I need a way to first grab the current values, mask the new value with the current values to preserve them, then send that final combined message to the synth.
This is a pretty complicated question, I know, having to do with bitmasking in Osculator - something I have found ZERO information about on the net, the dialog box for which took hours to decipher through trial and error, and which is not covered AT ALL in the manual.
Does anyone else have experience with this? Thanks!