- Topics: 45
- Replies: 550
- Total: 595
I think you should use another simpler method for requesting your programs. I will describe it here in a generic way and you need to adapt what I write to your specific sysex request program string.
The example is for the Korg Prologue that I just did.
1. Create a uiImageSlider modulator with a nice button look as image.
Set Values 0-99 for example if the Mirage has 100 programs.
This is used to decide the program to load
2. Create a uiIMageButton modulator (2 images) and set Called when modulator value changes to a method “Receive_OnChange”
In that method you should have a code similar to this one:
iProgram = modProgramSelector:getModulatorValue() local iMSB = math.modf(iProgram/128) local iLSB = iProgram - iMSB * 128 msg = string.format("F0 42 30 00 01 4B 1C %.2x %.2x F7", iLSB, iMSB) panel:sendMidiMessageNow(CtrlrMidiMessage(msg))
modprogram has been declared at panel opening as modProgramSelector = panel:getModulatorByName(“ProgramSelector”)
you can also do this in this method but it is less good
3. Define a MidiMessageReceived method that will be used to receive and process incoming midi messages
if size = xxx then use dnaldoog’s method to store and update your modulators