Lua API - stuff to add?

I put more effort into user oriented features while working on firmware 4.0. I wanted to make the controller more accessible to those of you who do not want to work with Lua or go too deep into advanced MIDI. There were many requests on extending the Lua API from developers though. Some of them were implemented, some did not, some things changed so much that it does not make sense to add them any more. This thread is meant to be a wishlist of additions to the Lua Extension API. I will use the input from here when working on future v4.1.

1 Like

Hi @martin
An implementation of Open Sound Control (OSC) support using Lua script might be helpful.

2 Likes

Ability to programmatically change a control to a different type (e.g. change a fader to a button), whilst retaining the same control id.

3 Likes

What I’d love to see for the Lua API:

  • improve performance of lua calls
  • the list control should be scriptable
    • useful for DAW plugins controlling VST/CLAP plugins with stepped/named parameters
    • useful for knob-based navigtion
  • spawn/change control types on the fly
    • e.g. change a button control to a list or from empty/hidden to fader control
    • should execute fast in case of a knob-based navigation or a controlled parameter affecting the current layout which causes lots of spawning/despawning or changes of control types
  • Lua API via MIDI
    • think of changing control types or control names via MIDI commands
    • for DAW plugins, this means more control and flexibility about layout and functionality
    • the E1 Lua script would need less functionality and thus has a higher chance of staying stable for future versions
  • reassigning of a lua function to a control at runtime
    • this would allow DAW plugins to shuffle certain functionality around at runtime, possibly based on user layouts (mixer view vs custom alternative mixer view) or user options and have more possiblities than E1’s 12 presets

Adjacent to scripting, but not strictly scripting feature requests:

  • a button variant with more characters
    • maybe also using two text rows like the thin fader control?
    • would be useful for DAW plugins because some VST parameters can be long
  • optional monospace font (Optional monospace font)
    • useful when changing numbers quickly to avoid jumpy/jittery text
  • Groups supporting non-rectangle Layouts
  • built-in waveform graphics like default analog ones (sine, saw, tri, continuous noise, stepped noise, square, square thinner, square very thin, …) and classic ones (like selected ones from the ppg or jp8000)
  • more common synth controls: simple mini graph visualisation of a filter response (frequency, gain, q) and of a 3-6 multiband eq
3 Likes

two items discussed with @oldgearguy:

  1. midi callbacks for 14bit CC (and NRPN) - Firmware v4.0.0 for mkII - #27 by martin
  2. more fonts available in / for graphics.print() function. I think somebody asked about that one in the past already.
1 Like

Hi everyone,

I previously asked in another thread whether it’s possible to set the MIDI value of a control without it being sent out.

@martin , you mentioned that this feature would be available in firmware version 4. However, I couldn’t find any information about it in the documentation. Have I missed something? If this feature is not yet documented, I would like to request it.

Oh yes, that would be awesome! KnobConnector currently uses a custom sysex protocol to get 14bit resolution for controls. Having that built in would be useful!

I added the function on C++ level but forgot to add it to the LUA API. I will do that in the upcoming minor release.

1 Like