Jump to Download
OSynC-lite is a simple VST 2.4 plugin that transmits basic host transport information (from a VST compatible sequencer application) to another application on the same machine, as OSC messages. This plugin is built with Pluggo for Mac OS X/Windows, so you will need to install Pluggo Runtime (free) from www.cycling74.com in order for it to work.
The OSynC-lite plugin obtains ReWire-like transport information from your ‘host’ sequencer and creates useful messages, for use in OSC compatible applications.
This information currently includes:
- /play (returns a 0 or 1 depending on whether the host is playing)
- /barcount (returns total barcount)
- /bar (returns a mod 4 bar count, useful for quickly determining position in phrases)
- /beat (returns the current beat of the bar)
- /fraction (returns either incrementing 16ths or 32nds depending on settings in the OSynC Plugin, ie. 0-15, or 0-31)
- /msticks (returns a float millisecond length between fraction increments)
- /ramp (returns a float ramp from 0. to 1. much like a phasor~ [new addition in v0.3])
This plugin is still alpha. I will be adding features as I need them or if any are requested.
Why is this plugin useful?
This plugin was originally intended for personal use. I had a need to send sync info from one application (Cubase) to another (Max) but not necessarily steal/route the audio from one application (Max) into the other (Cubase).
The Master/Slave (or Mixer/Synth) setup with ReWire is always too complex for me, especially when using Max. I can’t remember which program to start first, and I don’t always want the audio of one application being sent to another.
The part about ReWire that I like most though is the transport controls. This plugin allows ReWire-like host transport information to be sent (without the need to worry about setting your Audio Driver to ad_rewire in Max for example). Using an OSC-based sync plugin also frees one from tying up the audio I/O with the ReWire driver.
It is also useful if you want to send transport synchronous messages/controls from an audio application to a non-audio application. An example of this is sending the clock from a sequencer such as Cubase to Processing for host-synchronous events. An example of sending clock/transport infomation from the host to Processing is included in the OSynC_Processing folder contained in the zip archive. Also included is a simple Max5 patch for capturing output from OSynC-lite.
Download for OS X/Windows
OSynC-lite can be downloaded here:
OSynC-lite v0.3 (UB VST for Mac OS X) - second public release, alpha, May 2009
OSynC-lite v0.3.1 (VST for Windows) - second public release, alpha, July 2009
(Note: 0.4 will be out shortly, where message ordering will be improved)
I am about to start some research on live synchronous performance systems, and while this plugin is really simple, it is a nice place to start for simple synchronisation between applications. My first application with this has been to drive the Monome as a sequencer from Cubase. A Max patch will be posted shortly.
Let me know if you find the plugin useful.
alex at x37v dot com
Current bugs/limitations:
- /msticks doesn’t return ms between fractions until tempo is changed. This was originally intended to reduce the number of OSC packets being sent, but it breaks CNMAT’s idea for OSC as a stateless messaging system.
- The time signature of your host must be n/4, (ie. 3/4, 4/4, 6/4, 13/4) as n/8 produces unexpected results. This will be fixed very soon.