Setting up WingReaperAutoMate

Foreword

You will need REAPER, of course, and the SWS extensions to REAPER. Both packages can be found with their respective creators. Further REAPER setup is needed and explained below.

Setup

WingReaperAutoMate relies on REAPER for audio, and both software have to be carefully setup in order to ensure flawless working conditions. The files 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 file entries permit. The .WingReaperAutoMate.ini file holds these parameters and initial settings used when the program starts.

This section covers WING, WingReaperAutoMate and REAPER, respectively. Make sure you go through these 3 chapters and apply all recommended steps.

 

WING Setup

With WingReaperAutoMate, WING must be connected to the network and USB. WING IP address will automatically be found by WingReaperAutoMate in most configurations[1]. If needed, the WING IP address can be set in the configuration file or the program Windows User Interface.

For your initial launch of WingReaperAutoMate for a new Mix, you can start from a newly initialized desk, and the program will arrange all necessary features and settings for WING. The only step that will be necessary is to setup your IO routing to match your REAPER tracks used as input to your project. The best is to perform this operation with no Automation ongoing, nor recording events. Using the “Save Scene” WING UI button (see later in this document) will enable you to complete and save the initial scene used for your new Mix, so that at subsequent Mix loads, IO/routing will be set automatically.

The USB link is used for audio and MIDI data and will connect from the W-Live card to the computer running REAPER. WING routing setup should match with the REAPER configuration to ensure the number of channels played or recorded and the sampling rate match with REAPER audio settings.

Make sure the flag READ ONLY in the OSC section of the SETUP->REMOTE screen is set to OFF.

No other specifics are required at the WING level and the program will initialize what is needed for proper operation.

 

Optional setup

The options below are fully compatible with the standard working mode of WingReaperAutoMate.

There may be situations when you will want to have more control over REAPER tracks from the WING console.

As a first option, you may enable the “Use Upper CC for DAW” in the WING: SETUP->DAW screen; This will add the upper section of the Custom Controls section under the control of the DAW button. When the DAW button is engaged, the Upper CC lights will turn blue to remind you of the Upper CC functionality, the scribbles will display the REAPER tracks names and you can navigate by groups of 4 through REAPER tracks using the “UP” and “DOWN” buttons. For the respective REAPER tracks, the controls are as such: The top rotary pot controls the REAPER track Pan, the top button re-centers Pan, and the lower button arms the respective REAPER track for recording.

 

An additional option enables you to control REAPER tracks volume, select, solo and mute, you can set the “CONFIGURATION” setting in the WING: SETUP->DAW screen to “SINGLE MCU”, instead of the default value of “CUSTOM CONTROLS ONLY”. The 8 channel strips section left of the WING center section will map to a set of 8 REAPER tracks. The “USER 1” and “USER 2” buttons left of that section will navigate up and down in the REAPER tracks by group of 8 while the “4>” and “<4” buttons will navigate up and down in the REAPER tracks 1 track at a time.

With this latter optional setup, the 4 buttons above the “USER 1” generate MIDI CC data that can be assigned to REAPER actions per your needs.

 

 

 

WingReaperAutoMate setup

As with many software, WingReaperAutoMate relies on initial data fields to enable its working conditions.

.WingReaperAutoMate.ini[2] is an hidden text file containing configuration parameters for WingReaperAutoMate to work correctly.

This file should be located in the directory as the executable program.

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

The configuration file is loaded as the tool starts to setup internal variables in WingReaperAutoMate. These variables are therefore changed only at startup by the configuration parameters, each time the tool starts.

In the .WingReaperAutoMate.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 comment lines preceding the parameter being set briefly explains what the parameter(s) is(are) for and the type of value(s) (and may be typical data range) expected for the respective parameter(s).

Most of 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 WING characteristics, constraints and general handling of OSC parameters. The WING OSC Protocol document and the WING Quick Start guide are good resources to go into the details of how the WING digital mixer works.

The next section lists a subset of parameters found in the .WingReaperAutoMate.ini file, that require details on their meaning and effects.

Rip_str, R_SndPort, R_RecPort

These 3 parameters (REAPER IP address, Send Port and Receive Port, respectively) must match the data set in the REAPER Options→Preferences→Control/OSC/Web panel shown in the previous pages.

AutoSave

AutoSave sets a timer interval for automatic backups to take place; A value of 0 stands for no backup.

AutomationON

Defines if “Autom_ON” should be enabled automatically at reset/init/startup.

XCatchUpThreshold

Defines the minimum amount of time difference (in seconds) between old and new audio cursor required for WingReaperAutoMate to reload its initial scene and (re)play all events up to the current cursor position.

DoNotRecord

WING have thousands of parameters, and will echo parameter changes over OSC to connected clients. WingReaperAutoMate is a client for WING and as such receives all changes taking place at the desk as soon as the user presses a knob, changes screen, etc. WingReaperAutoMate records changes that take place at the desk while audio is playing in REAPER, so that mixing information can be played back later 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 “ReadWrite_ON” is active. You may [with caution] add or remove elements to/from the list.

ScreenSaver, ScreenSaverTimer, ScreenSaverValuesLo, ScreenSaverValuesHi

Data related to enabling and setting values for a “screen” (Lights rather) saver mode on WING.

ChannelResetNode

OSC node data to reset a WING channel to its default (i.e. after reset) state.

UI0InitNode, UI1InitNode, UI2InitNode, UI3InitNode, UI4InitNode

OSC data nodes to define WING UI buttons actions. Used at application reset time; See below under “WING User Interface”.

SOLOInitNode

OSC data node to define WING solo starting state. Used at application reset time;

SingleInstance

WingReaperAutoMate would typically enable only a single instance of the program to run at  once, but you may decide otherwise depending on your settings or installation;

FaderTouchThreshold

WingReaperAutoMate keeps the signature of the last fader that has been touched/moved by the user. ‘FaderTouchThreshold’ represents a timeout expressed in milliseconds and is an amount of time after which the signature is automatically erased. As long as the signature is valid, the program will give priority to the fader with this signature over already recorded fader moves with the same signature. This is also valid during the “Edit Mode” (see below). This timeout value facilitates a natural re-recording of fader moves over existing ones, replacing existing data with new data rather than interlacing new and old data and results in smoother fader movements, but note nevertheless such changes can result in jumping faders in the resulting fader movements.

DisHangOnWarnings

A [y/n] flag to set WingReaperAutoMate behavior on warning messages. If set to [y], the program will display warning messages and wait for user acknowledging them; Other actions will be suspended until acknowledgment. If on the contrary the flag is set to [n], the program will not display warning messages and continue as if nothing happened, which is probably OK for most cases.

[1] This is true for standard IP network operation, and assumes WING and WingReaperAutoMate are in the same /24 sub-network. If your setup requires a different addressing mode (i.e. using a Zero Configuration Networking  or Zeroconf), you may need to separate networks for their specific purpose.

[2] Note the “.” In front of the file name

 

 

REAPER Setup

You need to have REAPER and the SWS extensions being installed and working.

Obviously, audio over USB/ASIO devices and driver must be enabled and working properly, having set the sample rate to match WING, and the right buffer margins to prevent dropouts. You will also need to ensure the number of ASIO audio channels match your needs and the appropriate values are setup both for REAPER and WING routing to ensure audio to play on WING.

 

OSC Setup

In the REAPER Control Surface Settings panel shown above, set the name to WING; The pattern config file should refer to the WingReaperAutoMate.REAPEROSC file provided with the .zip package and that you should install in the correct REAPER directory (see below).

Make sure you set the port and IP data fields correctly. Your IP address (in the gray box) will of course be different than the one shown above, and the IP you set in the white box should match the IP of the computer running WingReaperAutoMate; In most cases, this will be the same as the IP shown in the gray box, so just copy it over.

 

 

Leave the “Outgoing max packet size” and “Wait between packets” fields to their default values.

 

The WingReaperAutoMate.REAPEROSC file is a text file setting up the different OSC options accepted by REAPER and sent to REAPER clients. A typical file is given below and covers all OSC communication needs between REAPER and WingReaperAutoMate. There’s no need for unused OSC patterns as this would generate more messages to be parsed, having a potential negative effect on performance. In the file listed below, it’s also important to ensure the number of tracks (DEVICE_TRACK_COUNT) covers the capabilities of WING.

 

 

 

Contents of WingReaperAutoMate.REAPEROSC:

#
# WingReaperAutoMate OSC pattern config file
#
# © Patrick-Gilles Maillot, 2021
# Use with WingReaperAutoMate
#
REAPER_TRACK_FOLLOWS REAPER
DEVICE_TRACK_FOLLOWS DEVICE
# WING mixes 48 inputs
DEVICE_TRACK_COUNT 48
# Track name
TRACK_NAME s/track/@/name
# Transport
RECORD t/record
REPEAT t/repeat
STOP t/stop
PLAY t/play
PAUSE t/pause
REWIND b/rewind
FORWARD b/forward
ACTION i/action t/action/@
TIME s/time/str
# Marker name detection to enable managing from REAPER the
# state of ReadWrite automation in WingReaperAutoMate
LAST_MARKER_NAME s/lastmarker/name
#

 

 

The file above is provided with the package distribution so you can just copy it to the REAPER OSC patterns directory respective of your REAPER installation.

WingReaperAutoMate also relies on MIDI (over USB) communications between WING and REAPER. While the program initializes all settings for WING, REAPER needs to be setup correctly, enabling the MIDI communication with WING. MIDI is used to receive Transport and Jog Wheel commands.

 

MIDI setup

There are two areas to initialize within REAPER to ensure proper MIDI setup for WingReaperAutoMate:

-1- All WING MIDI devices need to be disabled in the REAPER Preferences panel, under Options→Preferences→Audio::MIDI Devices, for both MIDI inputs and outputs, as shown below as an example:

-2- On the other hand, the REAPER Options→Preferences→Control/OSC/Web panel should list the Mackie Control MIDI device with WING MIDI DAW 1 selected for input and output, as shown below:

 

 

 

REAPER additional MIDI actions setup

In order to benefit from the full set of WingReaperAutoMate controls available at the desk, REAPER needs a few additional MIDI enabled actions; especially for controlling “RtZ”, ”Beg. Loop”, “End Loop”, and “Del. Loop”. This setup is presented below:

With your WING connected to the network and MIDI, run WingReaperAutoMate; This is just to ensure your WING is initialized with the program’s data. You can actually exit WingReaperAutoMate at that point. Your WING should continue showing the DAW button lit in blue.

 

Start REAPER…

In the REAPER menu, select “Actions->Show action list…”.
In the Actions window, in the Filter line, type in “transport”

 

and in the resulting list go to the line displaying “Transport Go to start of project” (this should list 40042 in the Command ID column)

With the above line selected, the current list of actions associated to

‘Go to start of project’ are “Home”, “MediaKbdRew”, and maybe others.

Click on “Add” in the Shortcuts for selected action (bottom left of the window), this brings the window below:

Now, press the RtZ button on WING, this will show the following:

Finally, click OK.

The new action is recorded, and when you press “RtZ” on the WING console, the MIDI sequence [note on/note off] received by REAPER on chan16/CC 54 will trigger REAPER to return to zero in the project.

Perform the same operations as above for the following REAPER actions, associating them to their respective MIDI controls:

Filter on “loop”:

Loop points: Remove loop point selection              WING: Del. Loop      MIDI Chan 16 CC 59  Command Id 40634
Loop points: Set end point                                       WING: End. Loop     MIDI Chan 16 CC 58  Command Id 40223
Loop points: Set Start point                                      WING: Beg. Loop     MIDI Chan 16 CC 57  Command Id 40222

 

Eventually, your action list (restricted/filtered to Chan 16) should show the following actions:

REAPER Tracks

 

Name, Color & Icon

WingReaperAutoMate carries a great feature to enable a better mapping of REAPER tracks to WING; REAPER tracks and WING Channels can be attributed the same names, colors and icons

thanks to an extended naming convention used in WingReaperAutoMate.

In the picture below, REAPER track names are followed by two values. WING Scribble icons and Led colors can be updated from REAPER track data using:

<name>[ %icon[ %color]]          (spaces are optional)

The picture below is the resulting WING desk.

X32Reaper-, X32XLive-, WingReaper-, WingWLive- AutoMate and digital network network cards
User Interface Features (WingReaperAutoMate)