User Tools

Site Tools


config:remotecontrol:midi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
config:remotecontrol:midi [2016/08/30 10:26] – [Configuration] twconfig:remotecontrol:midi [2019/10/24 20:58] – Korrektur (Typo) tondose
Line 30: Line 30:
   * != - Command will be executed if Data2 does not equal the specified value.   * != - Command will be executed if Data2 does not equal the specified value.
   * < - Command will be executed if Data2 is less than the specified value.   * < - Command will be executed if Data2 is less than the specified value.
-  * <= - Command will be executed if Data2 is less or equal the specified value.+  * <nowiki><=</nowiki> - Command will be executed if Data2 is less or equal the specified value.
   * > - Command will be executed if Data2 is greater than the specified value.   * > - Command will be executed if Data2 is greater than the specified value.
   * >= - Command will be executed if Data2 is greater or equal the specified value.   * >= - Command will be executed if Data2 is greater or equal the specified value.
Line 38: Line 38:
  
   PLAYER 1-1 VOLUME $DATA2/127   PLAYER 1-1 VOLUME $DATA2/127
-  + 
 +Or for voicetracking player A: 
 + 
 +  VT PLAYER A VOLUME $DATA2/127 
 This will set the volume to the fader position. The ''/127'' parts defines the 0 dB point to be at the upper end of the fader range. You could also use a value like ''/100'' if you want some overhead in the volume. This will set the volume to the fader position. The ''/127'' parts defines the 0 dB point to be at the upper end of the fader range. You could also use a value like ''/100'' if you want some overhead in the volume.
  
Line 44: Line 48:
  
 ===== Scripting ===== ===== Scripting =====
 +
 +Any received MIDI message will also be passed to background scripts, using the following procedure:
 +
 +  // Called when a MIDI message is received
 +  procedure OnMidiMessage(Device: integer; Status, Data1, Data2: byte);
 +  begin
 +  end;
 +  
 +There is another procedure that will catch all MIDI SysEx messages:
 +
 +  // Called when a MIDI sysex is received
 +  procedure OnMidiSysex(Device: integer; Data: string);
 +  begin
 +  end;
 +
 +If you want to send back messages to the MIDI device, you should first enumerate the available devices, as the order of the output devices will not necessarily coincide with the order of the input devices. The following procedure will list all available output devices to the System Log:
 +
 +  MidiOutListDevices;
 +  
 +At the beginning of your script (or in the ''OnLoad'' procedure in case of a background script), you must first use the MidiOutOpen procedure to open the device for output, e.g. the device with index 1:
 +
 +  MidiOutOpen(1);
 +  
 +Then you can send messages to that device. Note that we use hexadecimal values here, prefixed by ''$'' in the Pascal language.
 +
 +  MidiOut(1, $B0, $10, 0); // device, status, data1, data2
 +  
 +There is also a procedure to send out SysEx messages:
 +
 +  MidiOutSysEx(1, 'somesysexdata');
 + 
 +At the end of the script, or in ''OnUnload'', you should close the device again:
 +
 +  MidiOutClose(1);
  
config/remotecontrol/midi.txt · Last modified: 2020/01/12 14:29 by tondose

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki