Device-specific parameter banking

885 viewsCSS Questions
0

I’m finding that the selected parameter bank is only stored and retrieved per script mode, and not per device.
So if I select, say, bank 2 in one mode and bank 3 in another, I can change between modes, and the correct banks will be re-selected; but these per-mode bank selections are “global” across the whole project; I’d like to be able to make them per-device as well.
Could one of my “cunning” workarounds have caused this to happen, or is it just a general limitation at the moment?

admin Changed status to publish May 22, 2024
Attached Files:
0

Hi Wim,

Yes it’s good that I can select a different bank per mode, but I would like these to be specific to the selected device as well. I don’t want to select bank 2, change devices and still be on bank 2 with the new device, just because I was with the previous device; I want the selected bank to be stored and retrieved as a property of the device.
I’ll try bank up and down buttons, and see whether they might provide another cunning workaround!

admin Changed status to publish May 22, 2024
Attached Files:
0

I’ve found a partial fix that I’m more or less happy with for now:
self.midi_cc_ch_0_val_55_mode71_listener(127)
This line of code “virtually” presses my bank 1 button, so I’ve added it as the last action to perform in my reaction to changing the blue hand device selection. The name of the listener function is script-specific (and mode-specific), but there should be a similar function in any script with a bank selection button – you can find it by searching for the “val_xx” bit, where xx is the CC number that the button sends. In the “modeyy” bit, yy is a seemingly arbitrary number that CSS assigns the mode when it is first created.
It would be great to be able to retain the “banking state” of every device, but since that doesn’t even seem to be implemented on the Push 2, it might be a bit much to hope for at the moment!

admin Changed status to publish May 22, 2024
Attached Files:
0

Thanks again Wim,

I should mention that this “fix” doesn’t work in the mode in which am forwarding midi messages via a Max device – there’s something else in that extra reaction code that isn’t compatible, and I get this error in the log:
“Changes cannot be triggered by notifications. You will need to defer your response.”
But I’m not going to worry too much for the time being, as it would only cause me problems in a project containing multiple instances of Analog Lab, and my current computer can only comfortably one such instance anyway!

admin Changed status to publish May 22, 2024
Attached Files:
0

Hi Wim,

I was just referring to the little trick of changing parameter values on a Max device which turns them into midi, as discussed on this thread:
https://remotify.io/community/question/midiuser-mode

admin Changed status to publish May 22, 2024
Attached Files:
0

I’ve found a way to get the “virtual button press” to co-operate with my Max device now, but it’s a bit messy…
I’ve had to wrap it in another function (which I have to add manually to the CSS-generated Python), which is called from my reaction as follows:
self.schedule_message(0, self.myExtraFunction)
Apparently this “defers its execution to the control thread”, according to this helpful page:
https://cycling74.com/forums/%22changes-cannot-be-triggered-by-notificat…

admin Changed status to publish May 22, 2024
Attached Files: