– +1 for rendering!! I was thinking about something that renders the song then generates a spectrogram… and if you really wanted to, I think you might eben able to create a track freezing plugin with that (!)
– Mouse input, in relation to the dialog, in screen coordinates and as raw movement (ie. if you move the cursor to the right screen edge but keep moving it still registers that movement, even though the cursos position doesn’t change)
– Hooks for keyboard input (like when you’re in a text field and press “up” or “down”, allow scripts to catch that and act on it)
– OpenGL, and I’m not joking. There is no contest between 2D and 3D drawing speed wise, 3D is about a billion times faster, and uses a lot less CPU, generally/crossplatform speaking. I realize that it would be overkill for most and would STILL require pixel perfect 2D drawing. However, if that could just be plugged in so to speak, I think it would be a really good idea. Let the scripts create their own helper functions, “just” provide access to the OpenGL API.
– A way for plugins to share scripts and data. Maybe that prefix could be used? blah.bluh.pluginname is the convention anyway, so blah.bluh could be the name of the folder where each plugin developer can put “their stuff” (common functions you use all the time, a logo for the about menu, whatever). Or would that invite sloppyness and accumulation of crud?
– Envelopes as a standardized GUI element. It doesn’t have to be extremely powerful, just what the current envelopes do, plus a vertical edition. If possible, make them all inherit from the same code, so that if they get be improved and all plugins and Renoise sections that use envelopes benefit from that automatically.