1. Controlling MXW through OSC

From MXWendler Wiki
Jump to navigation Jump to search

MXW is designed to be a high-performance real-time video software for media servers. It interactively composites high-resolution footage and interactive media. OSC commands can be generated, sent, and received by MXWendler and a wide range of applications: signaling frameworks like Pure Data, Max/MSP, TouchOSC, and TouchDesigner, audio workstations like Ableton Live, Logic, or Protools, programming environments like Processing, Perl, Java, Unity, and TidalCycles, other Multimedia, Sensoring, Signal Processing software, Microcontrollers and many more, offering a compatible and fast intercommunication method.

Separating the media server from the controlling infrastructure offers various creative and usability options:

  • Control multiple machines from one single point
  • Control a single machine from multiple points
  • Replicate a state into a remote system
  • Custom user interfaces
  • Intercommunication with external software and platforms
  • Control via WAN
  • Control via a microcontroller
  • Connect scene-analysis with scene-composition systems
  • Extract control features e.g mapping or triggering

1.1 Receiving OSC commands in MXW

To enable OSC receiving open the software MXWendler:
1. In Menu: Settings → Input and Output (CTRL+1) in the tab OSC, activate the box Receive OSC ( (A) In the following picture)
2. Set the port ( 7000 is recommended as an OSC Standard)
3. The box Log received data will log commands in the Error and Log Window visible through Menu: Settings → Error and Log Window (CTRL+SHFT+L)

This is particularly useful for testing and troubleshooting as it will make visible what OSC commands are received by MXW. The logging of data has a performance impact on the system so it is important to turn it off when not in use. As this option is marked (r) in the menu, to activate the changes, please restart the software.

1.2 Output OSC from MXW: Send vs. Reply

MXW can send OSC commands as well. Multiple distinct options are available in Menu: Settings → Input and Output (CTRL+1) tab OSC :

MXW IO OSC Settings window.png


Broadcast and Receive Time over OSC (B)

This option will broadcast the MXW time into the selected subnet to synchronize the time among a pool of machines. To achieve this a selection mechanism is applied: every machine sends its time until it receives the time from a machine with a lower IP address. In the end, the machine with the lowest IP is selected as the 'master' and controls the pool clock. IO Events can be forwarded by selecting the relative checkbox. You can for example connect a MIDI device and it will send the MIDI events to the pool.

Receive OSC over RS232 (C)

Check this box if the OSC commands are received through a Serial Port instead of a network port. Options for port selection and integer indexing are available.

Send OSC (D)

This option will send any action on the running host to another host/network defined in the command options. Moving a track slider will generate the commands that make the track slider in the remote machine move to the same position. The goal is to make another machine (pretended it carries the same media data) produce exactly the same result as the master machine by sending osc commands to replicate the same behaviour. Sometimes it is desireable to send only a selction of the generated actions. You can filter the sent commands using the following rules:
- Adding a + before a *token*, [comment(optional)]
- Adding a - before a token*, [comment(optional)]

The *token* is a part of the string like "playlist" or "opacity", a comment can be added after a comma in case we want to specify the reason of the filter. So adding the line +,*playlist* will result into that only commands containing the keyword "playlist" will be sent. In the same way using the filter -,*opacity*, opacity_does_not_change any command referring to "opacity" will not be sent through and everything else will.

OSC reply channel (E)

Many OSC commands are capable of asking for specific information e.g. the name of a clip in the preload or the playback status of the playlist. This option must be active in MXW to allow the software to reply to the received OSC commands. Options for a specific IP address of the host/subnet and Port are given in the settings. The last checkbox “Send periodical livesigns” allows to receive a constant periodical flow of data from MXW regarding performance and render information, useful as well for diagnostic reasons.