Pattern Commands

Hello,

I saw in the user manual that the pattern editor can trigger Midi Commands:

http://tutorials.renoise.com/wiki/Pattern_Effect_Commands#MIDI_Commands

Now, what I would like to know is the following:

  1. Can those midi commands be “midi out” commands, that is, commands sent to an external hardware, or only midi commands sent to a renoise instrument or a loaded VST ?

  2. Can one send in the same way that those midi commands OSC messages by line?

  3. Concerning the Duplex Tool, can it be used to configure custom OSC messages triggered by lines commands (sync to beat) to an OSC client ?

Thanks for any info onto this matter.

1): Midi commands are send to plugins and external midi device, if you defined a midi device in the Ext. Midi tab of the instrument.

  1. I’m trying to understand the question if you are asking to send OSC using pattern effect commands:no that is not possible.

  2. Duplex is a tool using the LUA API. The LUA API can be used to watch changes in events happening and be notified of the changes and you can attach actions in these notifier events that can be performed as soon as your notifier routine is called.
    The most downside part is that the LUA API runs in the GUI thread so it is not running real-time.
    You can set a notifier to be called when e.g. line changes are done while playing (the play routine shifts from one line to the next), and you can scan the lines for a presence of a specific command in the effect command column, but you are not guaranteed that the action you attached to it (sending custom OSC messages to an external device) performs it in time.
    If exact timing on sample basis or even the millisecond is not important, then the LUA API may be your match. Otherwise there is no better option around.

Thank you very much for helping me to clarify all those technical points, Vv.

It is much appreciated.

So, here is what I understood, basically:

  1. OSC advantages are currently only met when Renoise is a client receiving OSC messages, and according to its own OSC implementation, and not when it is used as a server dispatching custom OSC messages to an external client.

  2. For realtime interaction with external devices (hardware or software), midi is currently the best match, as it is directly implemented into the pattern editor and doesn’t run into the GUI thread.

  3. The Lua API allows for custom tools enhancing or completing the user interface with custom operations into non-realtime mode like the “editing” state of the pattern editor, or for the arrangement of automation parameters.

Vv, or anyone reading the thread, please correct or comment if the assertions above are wrong or incomplete.

Thanks.