User Interface

WingReaperAutoMate has a simple user interface [UI] with a low set of options so you can focus on your mixing work.

The user interface per se (how you interact with the program) spans over two sections, one is a “WING User Interface” with actual knobs and buttons on the WING console and is detailed later in this chapter. The other one is the application user interface, a window on your PC screen, probably the same system as the one running REAPER. The main application window at launch time is shown below:

 

There are more technical fields that can be set at initialization time and are modifiable using the configuration file. The tool main window offers several fields you can fill and a few buttons that can be actioned. These are described in the following paragraphs.

Application User Interface [UI]

“WING IP Address”

This is the IP at which your WING is present on your local network. This field is also present in the configuration file and can be left empty; In that case, the “Connect” button below will display “Search WING” instead, enabling you to discover your WING automatically on the local network. Note that the broadcast request for WING presence is done only on the last 255 addresses of the local network, which should be suitable for most use cases.

Even if an IP address is found automatically, it may not be the one of the devices you want to connect to; In that case, just disconnect, enter the device IP address and connect again. This can happen in situations where multiple consoles are present on the network.

 

“AutoMate Mode” / [“Connect”, “Search WING”, “Running”, “ReadWrite_ON”]

This is the main button for running WingReaperAutoMate. If the WING IP address is already known at initialization time (i.e. provided with the configuration file), it will be displayed in the “WING IP Address” field and the button will display “Connect”. If the WING IP address is left blank, the button will display “Search WING”. In the latter case, the WING will be auto discovered and its IP address will be displayed in the respective field once found. With “Connect” or “Search WING” options, WingReaperAutoMate will start and initialize the mixing console, using all options and initial data found in the configuration file. If all steps go well, the button will finally display “Running”, showing the tool is ready to manage OSC and MIDI data between REAPER and WING.
This button will alternate between “Running” and “ReadWrite_ON”, displaying the event recording status of WingReaperAutoMate, so users can keep track of the program running state,

 

“Mix Name” / “Load”, “Save”, “GetS”

WingReaperAutoMate workflow manages WING events relative to REAPER audio data. This combined information can be saved and restored as ‘Mix’es using the “Save” and “Load” buttons, respectively. When using “Save” or “Load”, the tool refers to a project name which is entered or selected by the user and is used for naming project files and being echoed in the “Mix Name” user interface field. A Mix is comprised of two files, one containing OSC events and one containing an initial WING state (a scene).

Using the “Save” and “Load” buttons, one can create different versions of an audio mix, and replay them at will for comparing changes for example. Note that the text edit field is read-only and will get filled with a Mix name resulting of the selection you will have made after pressing on one of the “Save”, “Load”, or “GetS” buttons.

The “GetS” button enables you to load only the state or scene part of an existing Mix, thus helping setting up a starting scene for a new Mix session, or testing different settings for an existing one (assuming you kept different prior Mix sessions to test with). The loaded scene becomes the start scene/state for your current session.

 “Load int. scene” [1]

WING scenes play a key role in ensuring a project mix starts from or correctly maintains its proper WING set of parameters. Setting a scene number value [tbd] in the text edit field situated at the right of the “Load int scene” button and clicking on the button will load the respective WING internal scene and apply changes to the WING digital audio engine.

“New Mix”

This button enables you to switch from one Mix to another without exiting WingReaperAutoMate. When you engage “New Mix”, WingReaperAutoMate proposes you to save your current work; It also set REAPER to a “STOP” and “RtZ” state, and optionally deletes all events from the current Mix so you can start from a clean slate. What is important is that “New Mix” does not change any of the current/ongoing WING scene or settings currently in place, unless of course if you also decide to load a scene using “Scene Load” or “GetS” after calling “New Mix”.

You will also be asked if you want to reset WingReaperAutoMate interface state to initial values, affecting “Autom_ON”, “Repeat”, “ReadWrite_ON”, etc. states.

 

“Ch #1”, “Ch #2”, “Delete”, “Reset”

A basic feature of WingReaperAutoMate is to record a time stamp with all WING OSC events. This is great if you don’t make unwanted moves/actions or don’t make mistakes. But we all know this will not always be the case and it may become useful to be able to go back (a little or a lot) in time, erase changes that were made, and record new ones. These two selections enable the program to perform selected operations simultaneously on one or two channels of your choice so you can cover for stereo channels, while event recording is active. Actions can be one of: ‘delete’ the complete automation data record for the selected channels, ‘reset’ the selected channels to an initial state so you can set again channel attributes such as compression of EQ, or a ‘selective erase’ function; this feature should be used with caution and will be used only when at least “Play” and “ReadWrite_ON” buttons are engaged along with the “Edit Mode” button in the in the WING User Interface; The use of a GPIO and addition of a foot pedal assigned to the function provides it a very convenient addition.

“Undo”

This function offers a 16 level undo capability. A click on the ‘Undo‘ button will undo all changes made at the console and recorded since the last press on the “ReadWrite_ON” button.

 

 

 

 

WING User Interface

WingReaperAutoMate makes use of the WING DAW mode to interface transport. The implementation of DAW mode on WING is quite convenient and using MIDI over USB means no lag in processing MIDI commands. The WING User Interface spans over 5 layers of 8 buttons situated at he lower section of the center User Control area on the console, and uses the Jog Wheel and cursor buttons to provide easy to use REAPER project navigation. On each of the 5 layers, the basic transport functions “Stop”, “Play/Pause”, “REW” and “FFW” use the 4 leftmost buttons, always arranged in the same manner, so basic transport is always available at the tip of your fingers.

Additional WingReaperAutoMate functions are using the other set of 4 buttons of each of the 5 layers, thus providing access to up to 20 additional features.

Although not recommended, it is possible for users to modify the setup/layout of transport functions/features in changing the data provided under the UIxInitNode tags (x = 0..4) in the configuration file. If you decide to change the data and order or position of functions/features, make sure you first save the initial data and understand the OSC data sent by these node strings.

 

Functions/Features Description

Jog Wheel & Navigation buttons

WingReaperAutoMate uses the Jog Wheel to enable audio cursor movement and audio scrubbing in your projects. Audio scrubbing (as opposed to audio cursor move alone) rely on the “Scrub” button to be engaged; see below.

The four navigation buttons located left of the Jog Wheel provide additional navigation options in your project, from strip change to X/Y moves. When associated with the “Zoom” button, navigation buttons will act as zoom-in/zoom-out functions on the REAPER tracks; see below.

 

Buttons

WingReaperAutoMate proposes different functions which are described in the following paragraphs. For each function, we try to detail the actual effect or impact in REAPER, the current mix and WING.

 

“Stop”

This function stops audio and brings the audio cursor to an halt state. “Play”, “Pause”, or “Record” if any of these functions were active are cancelled.

“Play”, “Pause”

Play” and “Pause” are very standard transport functions; They act in WingReaperAutoMate exactly as expected, “Play” starts audio in REAPER and possibly (depending on the “Autom_ON” button) automation events associated to the digital audio samples being played (rendered) with the WING audio engine over USB. Pressing the button again will set REAPER in “Pause” state with no change to the audio cursor so that a new “Play” button press will resume from the current position; In “Pause” state, other functions may still have been active, depending on the state of other buttons, such as recording events (see below under Instantaneous Changes).

“FFWD, REWIND”

These functions respectively move forward or backward the audio cursor in the REAPER project by an amount of time provided by REAPER. If REAPER markers are set as part of your project, forward and backward moves will jump from marker to marker.

 

“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 WingReaperAutoMate, this sets the first event in the event recording list as the next event to synchronize with time, and the WING audio engine state is set to initial values thanks to a scene loaded at startup, a WING scene the user has prepared and saved using the “Save Scene” function, or a scene that has been loaded with the use of the “Load” or “GetS” buttons (see below).

 

“Scrub”

This function enables audio samples rendering to follow the cursor position after a move has been performed using the Jog Wheel. Scrubbing can take place moving forward of backwards; In both cases, the processing of intermediate automation events will be managed so that the state of WING is correct at the time audio rendering continues right after an audio scrub action took place. When moving backwards, there is a user settable threshold of time below which the automation settings will not be replayed since init to provide better user friendliness, this has a 2000 ms default value and can be controlled through the ‘XCatchUpThreshold’ entry in the configuration file.

 

“ReadWrite_ON”

This is a key function of WingReaperAutoMate; it enables recording WING changes or OSC events that will follow your mixing work, and permits to play them back in sync with audio. ”ReadWrite_ON” actually sets an internal WingReaperAutoMate state changing the way data is processed when one hits “Play”; not only audio data will be played from REAPER, but all WING 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.

The events that are recorded in the Mix can be altered by the ‘DoNotRecord’ tag in the configuration file. You probably do one want to record things such as desk bank changes with your Mix! The default value set for the ‘DoNotRecord’ entry value is generally suitable for most users.

At any time during a Mix, you may decide to change an already recorded fader curve (or recorded moves); Just grab and move the fader! Because WING does not have touch-sensitive faders, it is best to grab the fader just before it starts or when it slightly pauses in its recorded curve; This will avoid ‘fighting’ against fader motors and prevent fader motor and belt wear. The fader signature will be kept until a timeout expires after your last move; at that point the already recorded curve will resume if it is still active. The fader signature timeout is settable in the .ini file, under the ‘FaderTouchThreshold’ entry.

 

“Autom_ON”

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 sample 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 WingReaperAutoMate starts by setting a flag accordingly in the configuration file. When “Autom_ON” 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 WING engine state is reset to ensure the WING will correctly represent the evolution of events as time progress. The internal scene used for this is either the state of WING when WingReaperAutoMate is launched, the scene accompanying the Mix when loading it, or the scene that was saved when pressing the ‘Save Scene’ button.

 

“Zoom”

The Zoom function has specific actions for the 4 navigation buttons situated left of the jog wheel. When disabled, the navigation buttons navigate left & right or up & down along the time strip or the different tracks of the REAPER project. When enabled, the navigation buttons will zoom in or out REAPER tracks stretching/compressing time, or expanding/reducing the vertical size of REAPER tracks.

“Time/Beat”

This button alternates the display of REAPER time between different formats provided by REAPER. The available formats are H:M:S, Samples, Beats, and Absolute Frames

“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.

 

“Save Scene”

“Save Scene” enables setting/saving an initial WING state for a project. This important operation saves a set of OSC nodes used to set all channels and audio parameters to a known starting state for the project, will later be saved with the Mix, and used as a reference start point/state each time there’s a need to play events as a known reference, enabling correct parameter sets when scrubbing through audio for example, or rewinding past the time threshold represented by the ‘XCatchUpThreshold’ entry value in the configuration file.

“Susp. Auto”

“Susp. Auto” stands for ‘suspend automation’ and does just that: It disables automation for the two channels chosen with the ‘Sel. Ch #1 and “Ch #2’ entries in the application UI. This function is associated to a GPIO and can be activated using a footswitch for a better ease of use.

“Edit Mode”

“Edit Mode” can be used to erase recorded WING OSC 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 (chosen with the ‘Sel. Ch #1’ and ‘Ch #2’ entries in the application UI) must be set in the application user interface window and the “Edit Mode” button must be engaged. As a third condition, WingReaperAutoMate must also have “Autom_ON” 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. In addition, and if “ReadWrite_ON” is also engaged simultaneously to “Play” and “Edit Mode”, new events will be recorded, and replace events being removed for the (maximum two) selected channels, while other channels’ events will continue to be executed or recorded as expected, adding to the already existing Mix.

If not using the ‘Sel. Ch #1’ and ‘Ch #2’ entries in the application UI and “Edit Mode”, you can still change fader moves of a fader on the fly; Please refer to the “ReadWrite_ON” paragraph.

The “Edit Mode” feature enables for example to remove or replace large sections of fader curves, without the risk of forcing on the actual physical faders as WING does not have touch-sensitive faders. In order to make the feature easier to use, a GPIO and foot-controlled switch are attached to the function.

 

“Loop”

The “Loop” function enables… looping within an audio section in the REAPER project. The selection of audio samples to cycle through is set using the “Beg. Loop” and “End Loop” reference points using the audio cursor.

 

“Beg. Loop”, “End Loop”

Beg./End Loop” mark the beginning or the end of an audio section used for loops. To make the audio loop effective, use the “Loop” function. The “Beg. Loop” button press sets the beginning of the loop at the current audio cursor position in REAPER, and pressing “End Loop” marks the end of the loop at the current cursor position. If the loop set by “Beg. Loop” and “End Loop” is longer than the value of the ‘XCatchUpThreshold’ entry value in the configuration file, WingReaperAutoMate will reset the project scene to its initial state and replay all events until the beginning of the loop as the audio cursor is at the beginning of the loop, to ensure WING parameters evolve correctly between the two reference points.

 

“Del. Loop”

Del. Loop” deletes the loop (if one exists) from the REAPER audio project.

 

“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.

 

“Del Marker”

Del Marker” deletes the REAPER marker at the cursor position (assuming there is a marker of course).

 

 

Additional Features

As presented in the WING setup chapter, there is a possibility to simultaneously control some of the REAPER tracks attributes/settings directly from the console while using WingReaperAutoMate.

Additionally, you can precisely pre-record (or automate) the punch in and punch out features offered by WingReaperAutoMate from REAPER. In order to do so, you just add markers to your REAPER project and give them specific names that will be recognized by WingReaperAutoMate as enabling or disabling the “ReadWrite_ON” button directly from REAPER. This enables to precisely record a section of WingReaperAutoMate changes or automation in your mix, simplifying the steps to watch for so you can concentrate on your Mix.

The following names are used:

RWON:  sets ReadWrite_ON
RWOFF:  resets ReadWrite_ON

 

 

[1] Not implemented with this current version. Will be updated/implemented when WING FW supports internal scenes management.

Setting up WingReaperAutoMate