X/M32 User Assign bank
X32ReaperAutoMate and X32XliveAutoMate share very similar User Interfaces [UI]. The UI reserves a bank A, B, or C per user choice in the configuration file, and initializes it into “Function Blocks”. Function Blocks are covering what is known as Transport, Jog/Shuttle, and a few other functions dedicated to the mixing workflow that are specific to the application. The reserved User Assign bank is divided in three areas as shown below, with Jogs (Encoders), Shift keys and Function keys.
There are two Shift keys [S1] and [S2] and 6 keys [K1] to [K6] that can be used for different functions. This enables a grand total of 24 combinations, with 18 easy to use {[Kn], [S1+Kn], [S2+Kn]}, the last 6 ones requiring simultaneously pressing 3 keys have been avoided in the current releases. A function is associated to a single key press or a combination of either [S1] or [S2] with the key, similar to pressing the shift key and a character on a computer keyboard.
Each set of [Kn], [S1+Kn], or [S2+Kn] maps to a Function Block and is assigned a unique ID. The configuration file enables the association of any Function Block as defined in the configuration file with any of the six function keys. For example, Function Block ID #2 corresponds to three options {Play, Record, Mix Monitor} and can be associated to any of the 6 keys [K1] to [K6] above.
We show below a picture of a Function Blocks arrangement as set in the default settings/configuration file of the two programs [.X32ReaperAutoMate.ini or .X32XLiveAutoMate.ini]. When a function is highlighted, its key will light when the function is engaged. For example, and using again Function Block ID #2 as previously described, a key-click on key [K2] will PLAY or PAUSE audio. When PLAY is engaged, [K2] will be lit. If, while PLAY is engaged one clicks on Function [S1+K2], this will engage REAPER’s RECORD mode or start a session recording on X-Live’s, and [K2] will still be lit. If you click on Function [S2+K2], Mix Monitoring will also be activated and [K2] will still be lit as “Play” is the representative function and is ON. If you now click on [K2] again, “Play” will change to “Pause” and [K2] will no longer be lit.
Pressing the Shift keys or any key [K1] to [K6] momentarily lights the key, this is a hardware feature of the X/M32. The final key lighting state is only valid after the key has been released, the programs ensure the light state of the key is correct for the respective Function block and the active functions.
Note: Be careful in using/pressing the keys to ensure your function is taken into account; take the time to firmly/fully press keys, especially when using combinations; The X/M32 keys are not as sensitive as your standard PC keyboard! For the most useful functions, key lighting when the respective function is active helps ensuring the chosen function is correctly engaged.
We list below the different functions available in the Function Blocks and their effect(s) in REAPER and X-Live, on the Mix being done, and/or on the X/M32.
In the case of an X32/M32R console type, there are no encoders/jogs, but the 8 buttons can still be used for activating AutoMate features; We show below the default assignment of buttons:
Encoders
Jogs/Encoders are active at all times, actioning them while “Play” is active will potentially activate a lot of X/M32 controls at full speed, including faders (use with caution). In the specific case of Markers (see below), the configuration files provide a sensitivity level.
[REAPER] Beat, Measure, Marker, Item
X32ReaperAutoMate provides 4 encoders: Beat, Measure, Marker, and Item. These are 4 REAPER definitions and the respective jogs (encoders) enable moving forward or backward one Beat, Measure, Marker or Item at a time.
[X-Live] ±10ms, ±1s, Marker, ±30s
X32XLiveAutoMate provides 4 different ways for moving forward or backward ± 10ms, 1s, 30, or Marker at a time. In the specific case of Markers and unlike the X/M32 desk built-in interface, the Marker jog enables continuous scrolling withing the list of available markers.
Buttons
X32ReaperAutoMate proposes different functions which are described in the following paragraphs. For each function, we try to detail the actual effect or impact in REAPER or X-Live, the current mix and X/M32. Some of the functions described below are possible thanks to the use of Shift (1 and 2) keys.
“Rtz” [Rewind To Zero]
This function rewinds the REAPER audio project to its very beginning. REAPER’s audio cursor goes to the left all the way, at time = 0:00:00. For X32ReaperAutoMate, this sets the first event in the list as the next event to synchronize with time, and the X/M32 audio engine state is set to initial values thanks to a scene loaded at startup, or an X/M32 scene the user has prepared and saved using the “Save Scene” function (see below).
“GtE” [Go To End]
This function fast forwards to the end of the audio REAPER project. This stops any playing audio if that was the case.
“Stop”
This function stops audio, “Play”, “Pause”, or “Record” if any of these functions were active. REAPER displays [STOPPED].
“Read/Write”
This is a key function of X32ReaperAutoMate; it enables recording X/M32 events that will follow your mixing work, and permits to play them back in sync with audio. ”Read/Write” actually sets an internal X32ReaperAutoMate state changing the way data is processed when one hits “Play”; not only audio data will be played from REAPER, but all X32 events will be recorded, synchronized with audio. This recorded data represents a Mix that can then be played back later, such as when one clicks on “RtZ” for example.
Turning “Read/Write” on automatically sets the Mix “save” type (part of the Windows UI) to “M”, ensuring the X/M32 scene saved with the Mix events is the initial setting of your Mix, and not the current one which may be different at anytime of your Mix
“SoloInPlace”
This function soloes the Input or Aux channel currently being selected on the X/M32 surface. The effect of this function is to isolate a specific channel (or pair of for stereo channels) and listen to its audio processing, including all effects. When “SoloInPlace” is engaged, the respective button is lit depending on the function block used. “SoloInPlace” will follow the X/M32 selected channel.
While in “SoloInPlace”, you can extend the number of channels you solo by just unmuting other channels (it’s that simple). Note also that changes you make to any control other than mute, fader and pan will be kept when you exit “SoloInPlace”. You may then want to save the changes as a new scene or as the starting scene for your Mix using the “Scene Save” button.
Selecting an X/M32 channel other than Input or AuxIn, entering “Mix Monitor’, or clicking the “SoloInPlace” function key a second time will disable the function.
Please note that Selecting the Even number channel of a linked pair will cause both channels to Mute. Simply unmute them to put them in SoloInPlace mode.
“Mix Monitor”
When activated, “Mix Monitor” will switch the control of your X/M32 towards the monitoring of two dedicated channels, with no effects. AuxIn #07 and #08 are used as monitor left and right sources respectively. The actual audio data channeled to AuxIn #07 and #08 is selected using parameters from the configuration file, under the XMixMonitor tag.
The monitor audio level gets assigned a target value, also found in the configuration file. Upon pressing the “Mix Monitor” button again, X32ReaperAutoMate returns to its normal functions.
If “SoloInPlace” was ON at the time “Mix Monitor” is engaged, “SoloInPlace” is disabled/reset.
“Play”, “Pause”
“Play” and “Pause” are very standard transport functions; They act in X32ReaperAutoMate exactly as expected, “Play” starts audio in REAPER and gets the button to light, showing the activity taking place. Pressing the button again will set REAPER in “Pause” state with no change to the audio cursor so that a new “Play” key press will resume from the current position; In “Pause” state, audio will stop and the button will no longer be lit.
Other functions may still have be in effect while in “Pause” depending on the state of other buttons, such as recording events (see below under Instantaneous Changes).
“Record”
“Record” is also a very standard transport function. Pressing this function key sets REAPER to a record state, assuming there are REAPER tracks armed for recording. If this is not the case, a warning will be displayed by REAPER, requiring user input.
“ChanErase”
“ChanErase” stands for Channel Eraser. This is a useful feature to erase recorded events from the event list. As with any erasing tool, this can be dangerous for your mix! No less than four very logical steps are required for this function to take effect: Channel numbers (maximum two) must be set in the application user interface window and the “ChanErase” button must be engaged. As a third condition, X32ReaperAutoMate must also have “AutomationON” active. When all conditions are met and when engaging “Play”, events signed with the selected channels will be removed from the Mix at the time they synchronize with the playing audio. They will therefore not be executed, as if automation was disabled for the selected channels. If “Read/Write” is also engaged simultaneous to “Play” and “ChanErase”, new events will be recorded, and replace the removed events from the (maximum two) selected channels, while other channels will also be recorded as expected, adding to the already existing Mix.
“Repeat”
“Repeat” toggles the similar REAPER function, enabling looping over and over (as long as REAPER’s repeat is active) audio between the beginning and the end of a loop.
“Be/En Loop”
“Be/En Loop” marks the beginning or the end of an audio loop. To make the audio loop effective, use the “Repeat” function. The first button press sets the beginning of the loop at the current audio cursor position in REAPER, and a second press marks the end of the loop at the current cursor position.
“Del Loop”
“Del Loop” deletes the loop (if one exists) from the REAPER audio project (and as a consequence from the X32ReaperAutoMate Mix).
“Add Marker”
“Add Marker” adds a REAPER marker to the REAPER project. Markers are useful tags to point to or select specific spots in the audio mix. Markers are added at the current audio cursor position. Markers are also quite useful to Jog from one marker position to the next using the dedicated Jog knob.
“Del Marker”
“Del Marker” deletes the REAPER marker at the cursor position (assuming there is a marker of course).
“Save Scene”
“Save Scene” will save the current state of the X/M32 audio engine to an internal scene later used as a reference or starting state for your Mix. This enables you to fine tune the settings of your Mix to the best sound settings for your Mix. If you do not use this function, the reference state used is the state in which X/M32 was when X32ReaperAutoMate was launched, including the optional scene loaded as set in the configuration file.
Scenes conform to the following precedence order:
X32UI “Save Scene” / WUI “Load Scene” / WUI “Load Mix” > .ini Scene # > X32 state
“AutomationON”
When navigating through your audio project, you can decide whether automation is active or not; By automation, we mean execution of the recorded events from your Mix in sync with audio from the REAPER Project. There may be times where it is better not to have automation. You can decide which state is given to automation as X32ReaperAutoMate starts by setting a flag accordingly in the configuration file. When “AutomationON” is active, syncing back in time such as in the case of an “RtZ” request by the user or whenever jog time drops below a value set in the configuration file, the X/M32 engine state is reset to ensure the X/M32 will correctly represent the evolution of events as time progress. The internal scene used for this is either the state of X/M32 when X32ReaperAutoMate is launched, or the state that was saved when pressing the ‘Save Scene’ button.
“MixDown”
“MixDown” is a shortcut function to perform several operations: it ensures the save mode is set to “M” and sets automation on as if you had pressed the “AutomationON” button. You can then play and listen to your Mix. Using the Windows UI “Save” button enables you to name your Mix, and save X32ReaperAutoMate events data and X/M32 scene files.
X32 (Reaper and Xlive) Transport Controls and Functions
X/M32 User Assign bank
X32ReaperAutoMate and X32XliveAutoMate share very similar User Interfaces [UI]. The UI reserves a bank A, B, or C per user choice in the configuration file, and initializes it into “Function Blocks”. Function Blocks are covering what is known as Transport, Jog/Shuttle, and a few other functions dedicated to the mixing workflow that are specific to the application. The reserved User Assign bank is divided in three areas as shown below, with Jogs (Encoders), Shift keys and Function keys.
There are two Shift keys [S1] and [S2] and 6 keys [K1] to [K6] that can be used for different functions. This enables a grand total of 24 combinations, with 18 easy to use {[Kn], [S1+Kn], [S2+Kn]}, the last 6 ones requiring simultaneously pressing 3 keys have been avoided in the current releases. A function is associated to a single key press or a combination of either [S1] or [S2] with the key, similar to pressing the shift key and a character on a computer keyboard.
Each set of [Kn], [S1+Kn], or [S2+Kn] maps to a Function Block and is assigned a unique ID. The configuration file enables the association of any Function Block as defined in the configuration file with any of the six function keys. For example, Function Block ID #2 corresponds to three options {Play, Record, Mix Monitor} and can be associated to any of the 6 keys [K1] to [K6] above.
We show below a picture of a Function Blocks arrangement as set in the default settings/configuration file of the two programs [.X32ReaperAutoMate.ini or .X32XLiveAutoMate.ini]. When a function is highlighted, its key will light when the function is engaged. For example, and using again Function Block ID #2 as previously described, a key-click on key [K2] will PLAY or PAUSE audio. When PLAY is engaged, [K2] will be lit. If, while PLAY is engaged one clicks on Function [S1+K2], this will engage REAPER’s RECORD mode or start a session recording on X-Live’s, and [K2] will still be lit. If you click on Function [S2+K2], Mix Monitoring will also be activated and [K2] will still be lit as “Play” is the representative function and is ON. If you now click on [K2] again, “Play” will change to “Pause” and [K2] will no longer be lit.
Pressing the Shift keys or any key [K1] to [K6] momentarily lights the key, this is a hardware feature of the X/M32. The final key lighting state is only valid after the key has been released, the programs ensure the light state of the key is correct for the respective Function block and the active functions.
Note: Be careful in using/pressing the keys to ensure your function is taken into account; take the time to firmly/fully press keys, especially when using combinations; The X/M32 keys are not as sensitive as your standard PC keyboard! For the most useful functions, key lighting when the respective function is active helps ensuring the chosen function is correctly engaged.
We list below the different functions available in the Function Blocks and their effect(s) in REAPER and X-Live, on the Mix being done, and/or on the X/M32.
In the case of an X32/M32R console type, there are no encoders/jogs, but the 8 buttons can still be used for activating AutoMate features; We show below the default assignment of buttons:
Encoders
Jogs/Encoders are active at all times, actioning them while “Play” is active will potentially activate a lot of X/M32 controls at full speed, including faders (use with caution). In the specific case of Markers (see below), the configuration files provide a sensitivity level.
[REAPER] Beat, Measure, Marker, Item
X32ReaperAutoMate provides 4 encoders: Beat, Measure, Marker, and Item. These are 4 REAPER definitions and the respective jogs (encoders) enable moving forward or backward one Beat, Measure, Marker or Item at a time.
[X-Live] ±10ms, ±1s, Marker, ±30s
X32XLiveAutoMate provides 4 different ways for moving forward or backward ± 10ms, 1s, 30, or Marker at a time. In the specific case of Markers and unlike the X/M32 desk built-in interface, the Marker jog enables continuous scrolling withing the list of available markers.
Buttons
X32ReaperAutoMate proposes different functions which are described in the following paragraphs. For each function, we try to detail the actual effect or impact in REAPER or X-Live, the current mix and X/M32. Some of the functions described below are possible thanks to the use of Shift (1 and 2) keys.
“Rtz” [Rewind To Zero]
This function rewinds the REAPER audio project to its very beginning. REAPER’s audio cursor goes to the left all the way, at time = 0:00:00. For X32ReaperAutoMate, this sets the first event in the list as the next event to synchronize with time, and the X/M32 audio engine state is set to initial values thanks to a scene loaded at startup, or an X/M32 scene the user has prepared and saved using the “Save Scene” function (see below).
“GtE” [Go To End]
This function fast forwards to the end of the audio REAPER project. This stops any playing audio if that was the case.
“Stop”
This function stops audio, “Play”, “Pause”, or “Record” if any of these functions were active. REAPER displays [STOPPED].
“Read/Write”
This is a key function of X32ReaperAutoMate; it enables recording X/M32 events that will follow your mixing work, and permits to play them back in sync with audio. ”Read/Write” actually sets an internal X32ReaperAutoMate state changing the way data is processed when one hits “Play”; not only audio data will be played from REAPER, but all X32 events will be recorded, synchronized with audio. This recorded data represents a Mix that can then be played back later, such as when one clicks on “RtZ” for example.
Turning “Read/Write” on automatically sets the Mix “save” type (part of the Windows UI) to “M”, ensuring the X/M32 scene saved with the Mix events is the initial setting of your Mix, and not the current one which may be different at anytime of your Mix
“SoloInPlace”
This function soloes the Input or Aux channel currently being selected on the X/M32 surface. The effect of this function is to isolate a specific channel (or pair of for stereo channels) and listen to its audio processing, including all effects. When “SoloInPlace” is engaged, the respective button is lit depending on the function block used. “SoloInPlace” will follow the X/M32 selected channel.
While in “SoloInPlace”, you can extend the number of channels you solo by just unmuting other channels (it’s that simple). Note also that changes you make to any control other than mute, fader and pan will be kept when you exit “SoloInPlace”. You may then want to save the changes as a new scene or as the starting scene for your Mix using the “Scene Save” button.
Selecting an X/M32 channel other than Input or AuxIn, entering “Mix Monitor’, or clicking the “SoloInPlace” function key a second time will disable the function.
Please note that Selecting the Even number channel of a linked pair will cause both channels to Mute. Simply unmute them to put them in SoloInPlace mode.
“Mix Monitor”
When activated, “Mix Monitor” will switch the control of your X/M32 towards the monitoring of two dedicated channels, with no effects. AuxIn #07 and #08 are used as monitor left and right sources respectively. The actual audio data channeled to AuxIn #07 and #08 is selected using parameters from the configuration file, under the XMixMonitor tag.
The monitor audio level gets assigned a target value, also found in the configuration file. Upon pressing the “Mix Monitor” button again, X32ReaperAutoMate returns to its normal functions.
If “SoloInPlace” was ON at the time “Mix Monitor” is engaged, “SoloInPlace” is disabled/reset.
“Play”, “Pause”
“Play” and “Pause” are very standard transport functions; They act in X32ReaperAutoMate exactly as expected, “Play” starts audio in REAPER and gets the button to light, showing the activity taking place. Pressing the button again will set REAPER in “Pause” state with no change to the audio cursor so that a new “Play” key press will resume from the current position; In “Pause” state, audio will stop and the button will no longer be lit.
Other functions may still have be in effect while in “Pause” depending on the state of other buttons, such as recording events (see below under Instantaneous Changes).
“Record”
“Record” is also a very standard transport function. Pressing this function key sets REAPER to a record state, assuming there are REAPER tracks armed for recording. If this is not the case, a warning will be displayed by REAPER, requiring user input.
“ChanErase”
“ChanErase” stands for Channel Eraser. This is a useful feature to erase recorded events from the event list. As with any erasing tool, this can be dangerous for your mix! No less than four very logical steps are required for this function to take effect: Channel numbers (maximum two) must be set in the application user interface window and the “ChanErase” button must be engaged. As a third condition, X32ReaperAutoMate must also have “AutomationON” active. When all conditions are met and when engaging “Play”, events signed with the selected channels will be removed from the Mix at the time they synchronize with the playing audio. They will therefore not be executed, as if automation was disabled for the selected channels. If “Read/Write” is also engaged simultaneous to “Play” and “ChanErase”, new events will be recorded, and replace the removed events from the (maximum two) selected channels, while other channels will also be recorded as expected, adding to the already existing Mix.
“Repeat”
“Repeat” toggles the similar REAPER function, enabling looping over and over (as long as REAPER’s repeat is active) audio between the beginning and the end of a loop.
“Be/En Loop”
“Be/En Loop” marks the beginning or the end of an audio loop. To make the audio loop effective, use the “Repeat” function. The first button press sets the beginning of the loop at the current audio cursor position in REAPER, and a second press marks the end of the loop at the current cursor position.
“Del Loop”
“Del Loop” deletes the loop (if one exists) from the REAPER audio project (and as a consequence from the X32ReaperAutoMate Mix).
“Add Marker”
“Add Marker” adds a REAPER marker to the REAPER project. Markers are useful tags to point to or select specific spots in the audio mix. Markers are added at the current audio cursor position. Markers are also quite useful to Jog from one marker position to the next using the dedicated Jog knob.
“Del Marker”
“Del Marker” deletes the REAPER marker at the cursor position (assuming there is a marker of course).
“Save Scene”
“Save Scene” will save the current state of the X/M32 audio engine to an internal scene later used as a reference or starting state for your Mix. This enables you to fine tune the settings of your Mix to the best sound settings for your Mix. If you do not use this function, the reference state used is the state in which X/M32 was when X32ReaperAutoMate was launched, including the optional scene loaded as set in the configuration file.
Scenes conform to the following precedence order:
X32UI “Save Scene” / WUI “Load Scene” / WUI “Load Mix” > .ini Scene # > X32 state
“AutomationON”
When navigating through your audio project, you can decide whether automation is active or not; By automation, we mean execution of the recorded events from your Mix in sync with audio from the REAPER Project. There may be times where it is better not to have automation. You can decide which state is given to automation as X32ReaperAutoMate starts by setting a flag accordingly in the configuration file. When “AutomationON” is active, syncing back in time such as in the case of an “RtZ” request by the user or whenever jog time drops below a value set in the configuration file, the X/M32 engine state is reset to ensure the X/M32 will correctly represent the evolution of events as time progress. The internal scene used for this is either the state of X/M32 when X32ReaperAutoMate is launched, or the state that was saved when pressing the ‘Save Scene’ button.
“MixDown”
“MixDown” is a shortcut function to perform several operations: it ensures the save mode is set to “M” and sets automation on as if you had pressed the “AutomationON” button. You can then play and listen to your Mix. Using the Windows UI “Save” button enables you to name your Mix, and save X32ReaperAutoMate events data and X/M32 scene files.
1 Application templates are available, pre-cut to fit the X32 User Assign Section, in the Downloads (free products) area
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.