Setup
X32XLiveAutoMate uses the X-Live add-on card for audio, and provides an easy setup,making it an easy program to use in order to transform you X32 into a Digital Audio Workstation (DAW). The files and settings provided with the .zip tool package should generally be fine for most users. There may be things you will prefer to work differently to better match your workflow and that’s what some of the configuration files permit. The .X32XLiveAutoMate.ini file holds these parameters and initial settings used when the program starts.
There are only two elements to setup: your X/M32, and X32XLiveAutoMate. Follow the steps below to set them up correctly.
X/M32 Setup
With this program, the X/M32 will be only need to be connected to the network. We assume that your X/M32 is part of the same local network as your PC; X/M32 IP address will automatically be found by X32XLiveAutoMate in the vast majority of configurations. If needed, the X/M32 IP address can be set in the configuration file.
Your X/M32 should be equipped with an X-Live add-on card for audio data needs. Make sure your X-Live is using SD cards as the audio device, rather than the USB link from the same card.
No other specifics are required at the X/M32 level, but make sure you do select the X-Live session that will provide audio for your Mix!
X32XLiveAutoMate setup
As with many software, X32XLiveAutoMate relies on initial data fields to enable its working conditions.
.X32XLiveAutoMate.ini [note the ‘.’ preceding the filename] is a hidden text file containing configuration parameters for X32XLiveAutoMate to work correctly. Each parameter has specific impact on the behavior of the tool and it is important one understands the effect changes on values can have on the tool. It is therefore advisable not to change data unless you know what you do. Please review your changes before saving your file as wrong or invalid data may cause the tool to crash or create unwanted effects.
The configuration file is loaded as the tool starts to setup internal variables in X32XLiveAutoMate. These variables are therefore changed only at startup by the configuration parameters, each time the tool starts. These variables can take new values as X32XLiveAutoMate runs.
In the .X32XLiveAutoMate.ini file, a line starting with the ‘#’ character is a comment line and will be ignored. Other lines are typically in the form:
parameter= [value[, value[,…]]]
In specific cases, the value(s) field(s) can be left empty. Otherwise ‘value’ can be a string of characters, a number or a single character. The text in the comment lines preceding the parameter being set briefly explain what the parameter is for and the type of value(s) (and may be typical data range) expected for the respective parameter.
Most of the parameters are straight forward as to what their effect will be (i.e. IP address, port number, etc.). Others may require a deep understanding of X/M32 characteristics, constraints and general handling of OSC parameters. The Unofficial X32 OSC Protocol document and the X/M32 User Manual are good resources to go into the details of how the X/M32 mixer works.
The next section lists a subset of parameters found in the .X32XLiveAutoMate.ini file, that require details on their meaning and effects.
XFBlockIDs
Part of the user interface is organized around the use of knobs and buttons directly at the X/M32 desk. This is detailed in the “X/M32 User Assign bank” wiki pages on user interface.
XCatchUpThreshold
This parameter represents a delay threshold beyond which a catchup will take place for backward jog/scrub (for all 4 available jog options) during Play, Record or Pause, or following Stop, RtZ and Loop commands. The default value is set to 2000ms. This only applies and takes place in the case of moving back in time in your Mix. As a result, X32XLiveAutoMate will remain in sync with the Reaper timeline when scrubbing in both directions.
DoNotRecord
X/M32 have thousands of parameters, and will echo parameter changes over OSC to all connected clients. X32XLiveAutoMate is a client for X/M32 and as such receives all changes taking place at the desk as soon as the user presses a button, turns a knob, changes screen, etc. X32XLiveAutoMate records changes that take place at the desk while audio is playing from the X-Live SD card, so that mixing information can be played back at a later time as a ‘Mix’. There are nevertheless changes taking place at the desk that don’t offer any value for the Mix, such as for example changing screen or switching between channel banks. The only parameters of interest for a Mix are the one that affect audio. DoNotRecord holds a list of OSC parameter families that should not be recorded when “Read/Write” is ON. You may [with caution] add or remove elements to/from the list.
XSceneSafes
X32XLiveAutoMate uses the X/M32 internal scenes to save its state and being able to restore it when needed. X/M32 scenes contain nearly all OSC parameters for the console and upon being recorded, all of them will systematically be saved. When restoring scenes to the desk, sections of the desk state will therefore be updated with previously saved data. XSceneSafes can prevent some sections of X/M32 from being modified by applying “safes” (a sort of digital mask) that filter what will be affected and what will be untouched when restoring a scene. XSceneSafes contain ‘safes’ values which are the decimal equivalent of binary data, collections of bits [0 or 1] logically aggregated together in several groups [words] to prevent modifications when the bit is set [i.e. 1].
XJogTmout
(currently not used in this version of the program) As one turns left (i.e. back in time) or right (i.e. forward in time) one of the jog encoders managed by X32XLiveAutoMate, time takes a new reference value in the audio stream and this in turn generates a series of actions in X32XLiveAutoMate for synchronizing with the new reference; We call this “catching up with time”. Because of technical choices made in X/M32, the best way to catch up with a correct state when one is going back in time is to reset the state of X/M32 and replay all already recorded events up to the new time set by X-Live. This is fast but nevertheless takes a few tenths of seconds, time during which the jog could have continued to move, creating a new time reference to catch up with, and so on until there are no more changes to the jog. As each catching up time represents a lot of OSC messages with potentially a lot of very rapid fader moves, X32XLiveAutoMate sets a timer to expire with no jog move before the catching up with X-Live time takes place. This has two effects: it significantly lowers the number of OSC messages and movement wear on X/M32 faders and offers a much smoother navigation in your audio as a jog is being turned. Typical values are in the 400ms range.
Setting up X32XLiveAutoMate
Setup
X32XLiveAutoMate uses the X-Live add-on card for audio, and provides an easy setup,making it an easy program to use in order to transform you X32 into a Digital Audio Workstation (DAW). The files and settings provided with the .zip tool package should generally be fine for most users. There may be things you will prefer to work differently to better match your workflow and that’s what some of the configuration files permit. The .X32XLiveAutoMate.ini file holds these parameters and initial settings used when the program starts.
There are only two elements to setup: your X/M32, and X32XLiveAutoMate. Follow the steps below to set them up correctly.
X/M32 Setup
With this program, the X/M32 will be only need to be connected to the network. We assume that your X/M32 is part of the same local network as your PC; X/M32 IP address will automatically be found by X32XLiveAutoMate in the vast majority of configurations. If needed, the X/M32 IP address can be set in the configuration file.
Your X/M32 should be equipped with an X-Live add-on card for audio data needs. Make sure your X-Live is using SD cards as the audio device, rather than the USB link from the same card.
No other specifics are required at the X/M32 level, but make sure you do select the X-Live session that will provide audio for your Mix!
X32XLiveAutoMate setup
As with many software, X32XLiveAutoMate relies on initial data fields to enable its working conditions.
.X32XLiveAutoMate.ini [note the ‘.’ preceding the filename] is a hidden text file containing configuration parameters for X32XLiveAutoMate to work correctly. Each parameter has specific impact on the behavior of the tool and it is important one understands the effect changes on values can have on the tool. It is therefore advisable not to change data unless you know what you do. Please review your changes before saving your file as wrong or invalid data may cause the tool to crash or create unwanted effects.
The configuration file is loaded as the tool starts to setup internal variables in X32XLiveAutoMate. These variables are therefore changed only at startup by the configuration parameters, each time the tool starts. These variables can take new values as X32XLiveAutoMate runs.
In the .X32XLiveAutoMate.ini file, a line starting with the ‘#’ character is a comment line and will be ignored. Other lines are typically in the form:
parameter= [value[, value[,…]]]
In specific cases, the value(s) field(s) can be left empty. Otherwise ‘value’ can be a string of characters, a number or a single character. The text in the comment lines preceding the parameter being set briefly explain what the parameter is for and the type of value(s) (and may be typical data range) expected for the respective parameter.
Most of the parameters are straight forward as to what their effect will be (i.e. IP address, port number, etc.). Others may require a deep understanding of X/M32 characteristics, constraints and general handling of OSC parameters. The Unofficial X32 OSC Protocol document and the X/M32 User Manual are good resources to go into the details of how the X/M32 mixer works.
The next section lists a subset of parameters found in the .X32XLiveAutoMate.ini file, that require details on their meaning and effects.
XFBlockIDs
Part of the user interface is organized around the use of knobs and buttons directly at the X/M32 desk. This is detailed in the “X/M32 User Assign bank” wiki pages on user interface.
XCatchUpThreshold
This parameter represents a delay threshold beyond which a catchup will take place for backward jog/scrub (for all 4 available jog options) during Play, Record or Pause, or following Stop, RtZ and Loop commands. The default value is set to 2000ms. This only applies and takes place in the case of moving back in time in your Mix. As a result, X32XLiveAutoMate will remain in sync with the Reaper timeline when scrubbing in both directions.
DoNotRecord
X/M32 have thousands of parameters, and will echo parameter changes over OSC to all connected clients. X32XLiveAutoMate is a client for X/M32 and as such receives all changes taking place at the desk as soon as the user presses a button, turns a knob, changes screen, etc. X32XLiveAutoMate records changes that take place at the desk while audio is playing from the X-Live SD card, so that mixing information can be played back at a later time as a ‘Mix’. There are nevertheless changes taking place at the desk that don’t offer any value for the Mix, such as for example changing screen or switching between channel banks. The only parameters of interest for a Mix are the one that affect audio. DoNotRecord holds a list of OSC parameter families that should not be recorded when “Read/Write” is ON. You may [with caution] add or remove elements to/from the list.
XSceneSafes
X32XLiveAutoMate uses the X/M32 internal scenes to save its state and being able to restore it when needed. X/M32 scenes contain nearly all OSC parameters for the console and upon being recorded, all of them will systematically be saved. When restoring scenes to the desk, sections of the desk state will therefore be updated with previously saved data. XSceneSafes can prevent some sections of X/M32 from being modified by applying “safes” (a sort of digital mask) that filter what will be affected and what will be untouched when restoring a scene. XSceneSafes contain ‘safes’ values which are the decimal equivalent of binary data, collections of bits [0 or 1] logically aggregated together in several groups [words] to prevent modifications when the bit is set [i.e. 1].
XJogTmout
(currently not used in this version of the program) As one turns left (i.e. back in time) or right (i.e. forward in time) one of the jog encoders managed by X32XLiveAutoMate, time takes a new reference value in the audio stream and this in turn generates a series of actions in X32XLiveAutoMate for synchronizing with the new reference; We call this “catching up with time”. Because of technical choices made in X/M32, the best way to catch up with a correct state when one is going back in time is to reset the state of X/M32 and replay all already recorded events up to the new time set by X-Live. This is fast but nevertheless takes a few tenths of seconds, time during which the jog could have continued to move, creating a new time reference to catch up with, and so on until there are no more changes to the jog. As each catching up time represents a lot of OSC messages with potentially a lot of very rapid fader moves, X32XLiveAutoMate sets a timer to expire with no jog move before the catching up with X-Live time takes place. This has two effects: it significantly lowers the number of OSC messages and movement wear on X/M32 faders and offers a much smoother navigation in your audio as a jog is being turned. Typical values are in the 400ms range.
Patrick
Computer scientist, music enthusiast and guitar player, Patrick-Gilles has acquired an X32 in 2014 and wrote the UNOFFICIAL X32/M32 OSC REMOTE PROTOCOL, which soon became the reference for many X32 or M32 users and application programmers. Patrick-Gilles has also published and open-sourced several X32 or M32 utilities and applications.