Automation slots?
-
Is it possible, instead of having automation parameters , you could right click a knob, popup, assign to automation slot ?
Obviously this would need some scripting, just wondering if its possible?
-
@lalalandsynth This isn't possible. Parameter automation can't be dynamically assigned, you need to use MIDI learn in this case.
-
@d-healey might be a worthwhile addition.
For example, lets say you can dynamically add any effects etc , instead of flooding the parameter list with all possible modules, just have 20 slots and dynamically assign them. -
might be a worthwhile addition.
It's not a HISE limitation as far as I'm aware, it's a limitation of DAWs and plugin formats. I asked for the same thing in another thread.
-
@d-healey you can do this in Phaseplant synth
-
@lalalandsynth Ah, well in that case it should be possible with HISE.
-
@lalalandsynth Omnisphere too. Doesn't Kontakt do something similar?
Also, what is this for?
-
@DanH Actually this is precisely for that use case of having a fixed amount of automation slots and then reassigning them dynamically.
The documentation of the UserPresetHandler class has some information on how to use it, but here's one example:
const var uph = Engine.createUserPresetHandler(); // We need to implement our own preset data model when we start using // custom automation slots (because then the connection between UI element and its value is // not consistent anymore) function onPresetLoad(obj) {} function onPresetSave() { return {}; } uph.setUseCustomUserPresetModel(onPresetLoad, onPresetSave, false); // We'll define the automation model to send their values to the global cable by default const var data = [{ "ID": "Slot 1", "connections": [ { "cableId": "Slot 1" }] }]; uph.setCustomAutomation(data); // We can also attach callbacks directly to automation events inline function onAutomation(index, value) { Console.print(trace({"index": index, "value": value})); } uph.attachAutomationCallback("Slot 1", onAutomation, true);
However it's a fairly advanced concept as it requires you to dissolve the connection between UI elements and their persistent value and implement a custom user preset model so it might be overkill for that simple use case.