A newer version of Max is available. Click here to access the latest version of this document.

hostsync~

Get transport control info from a ReWire host

Description

The hostsync~ object provides information about the current state of the ReWire host. Sample count information is available in any host; even Max. The validity of the other information output by the object is dependent upon what synchronization capabilities the ReWire host implements; the value from the flags (10th) outlet tells you what information is valid. Output from hostsync~ is continuous when the scheduler is running. Alternatively, you can bang its inlet to report the current values.

Arguments

None.

Messages

bang A bang will cause the hostsync~ object to report its transport state.

Information for box attributes common to all objects

Output

float: Out 4nd outlet: The current beat fraction, from 0 to 1.0. If the ReWire host does not support synchronization, there is no output from this outlet.
float: Out 6th outlet: The current tempo in samples per beat. This number can be converted to beats per minute using the following formula: (sampling-rate / samples-per-beat) * 60. If the ReWire host does not support synchronization, there is no output from this outlet.
float: Out 7th outlet: The current number of beats, expressed in 1 PPQ. This number will contain a fractional part between beats. If the ReWire host does not support synchronization, there is no output from this outlet.
int: Out left outlet: 1 if the ReWire host's transport is currently running; 0 if it is stopped or paused.
int: Out 2nd outlet: The current bar count in the ReWire host sequence, starting at 1 for the first bar. If the ReWire host does not support synchronization, there is no output from this outlet.
int: Out 3rd outlet: The current beat count in the ReWire host sequence, starting at 1 for the first beat. If the ReWire host does not support synchronization, there is no output from this outlet.
int: Out 8th outlet: The current sample count, as defined by the ReWire host.
int: Out 10th outlet: A number representing the validity of the other information coming from hostsync~. Mask with the following values to determine if the information from hostsync~ will be valid.

Sample Count Valid 1 (always true)

Beats Valid 2 (2nd, 3rd, 4th, and 7th outlets valid)

Time Signature Valid 4 (5th outlet valid)

Tempo Valid 8 (6th outlet valid)

Transport Valid 16 (left outlet valid)

Loop Info Valid 64 (9th outlet valid)
list: Out 5th outlet: The current time signature as a list containing numerator followed by denominator. For instance, 3/4 time would be output as the list 3 4. If the ReWire host does not support time signature information, there is no output from this outlet.
list: Out 9th outlet: The loop info output as a list of three numbers containing loop on/off state (0,1), the loop start point (in 1PPQ ticks), and the loop stop point (in 1PPQ ticks). For example, if the time signature was 4/4 and looping was on from the start of the fifth measure for four bars the list would be 1 16 32.

Examples

See Also

Name Description
hostcontrol~ Control a ReWire host's transport
hostphasor~ Get synchronization signal from a ReWire host