A preset to demonstrate dynamic changes of the Overlay lists based on the state of another control. The dynamic lists are meant to be used anywhere where meaning of one parameter changes in context of another parameter value.
Note, I will adjust the web editor so that the overlay IDs are visible there. I will also separate the Overlay editor from the list editor in near future.
--overlay list with ID 2
overlays.create(2, listReverbTypes)
What if I want to change the content of list ID 2? Do I have to run the same command pointing to a different list than listReverbTypes or can I change the content of listReverbTypes and it’ll be picked up on the fly?
Currently, you can use it only to create a list. Like a one time action. Changes will not be picked up. The reason why I did that this way (now) is that this can be also implemented on mk1.
What are my options if I’m trying to add the list values of a VST plugin parameter? The VST plugin parameter in use could be changed depending on the currently focused plugin or depending on the focused plugin parameter, requiring occasional updates to the list values.
Currently, meaning in v3.5 beta, you can create a new list of each unique parameter. If given parameter had a list created already, you should reuse it. Editing lists comes with compatibility problems. I have been considering an option for lists to call a lua function that would provide (return) a table with value, label pairs. I will probably add that in the future, but since it requires significant changes in how lists work, I’ve decided not to tackle that just yet.
I see. My context is a DAW control plugin. Users could have hundreds of plugins and change between them multiple times per minute.
Meaning, the E1 would have to either store all list values of all parameters of all plugins that could possibly exist in the world (seems to be the worst approach because the E1 preset needs to change every time a new plugin is supported).
Or the DAW control plugin would need to communicate the list entries to the E1, but in a way that the E1 only creates those lists in memory at first sight and reuses those lists when the plugin is controlled a second time. This couples E1’s memory management to the DAW plugin and would lead to problems when the E1 and the DAW plugin get out of sync e.g. when restarting the E1.
Will modifying existing lists be possible in the future?
What about putting a list into a simple “remote control” mode where the shown value can only be updated by script and no overlay is available? Would that be simple to implement for both the mk1 and mk2?
I am considering that lists could call a lua function that would return the data, That would allow truly dynamic behaviour. I wanted to do that back at the time when this got discussed for the first time, the issue is that it represents a major change to how the lists are implemented. In other words, I am planning to do that, it is just not as easy as I initially thought.