We are using XML for the pattern clipboard content, so it would be dope to get external scripting capabilities integrated into the Advanced Edit as well. This would make it possible to write external note/effect-gen or manipulation tools for the pattern editor, directly controllable/callable from within the Renoise GUI.
Here is my proposal on how we could do this:
The Advanced Edit gets a new section -> “Pattern Scripts”:
There you will find a list of installed scripts. Only one of those can be selected/highlighted.
Under that list is a text field for command line params (see below) and a button “Process”. That’s it GUI wise.
Now how does it work?
The list shows the contents of a folder (“Renoise Scripts”), somewhere on your HD, configurable. The contents are executables or any kind of script files (python, perl, lua, whatever). As soon as you press the “Process” button, Renoise now writes down the clipboard content of the selected area in the Advanced Edit into a temporary file, then calls the selected script with the temp file as a parameter, waits until the script is done, reads the temp file again, and finally applies it to the document.
This way we could allow any kind of scripts as “processors”, even full blown apps with GUI and stuff, and do not need to publish any new APIs. If you need or want to configure the script parameters, this can be either done by providing an own GUI for this in your tool, or by using the command line parameters (as noted above in the GUI description).
The downside of this is, that the external tools will have to do the XML parsing for all the different formats of the pattern clipboard (selection, whole track, whole patterns, …) by themselves, but this could be solved by doing this once in the XRNS-Lib tools, so that anyone can reuse it.
Would that be useful? This would not be much work from my side and push the capabilities of the new Renoise XML formats, wouldn’t it?