And the console arrived, and ... how to put this: "Wow!".
A lot has been added to the console since its early days. There's a learning curve, quite steep if you never played with digital consoles, but having used an X32 helped a lot. There are still significant differences.
Starting with FW 2.0, a single document covers both OSC and binary/native protocols (listed below in the OSC and wapi chapters); Be warned these is not a "user guide" document, which is quite demanded by the WING user community, and although I agree, I also think I am not experienced enough with live digital mixing to write such document; There must be much more knowledgeable people out there capable of putting this on paper.
Some of the must see videos are the "How To" series. Watch them carefully, they are really well made and a lot to learn from them.
IMPORTANT NOTE
All 'Windows' utilities below are designed and tested under Windows 11;
They should work with no issues on Windows 10 and XP.
Earlier versions of Windows are not supported
Windows 11 Users: I just moved to Windows 11 and found out the so-called "Console Window "
behavior is different in Win 11 compared to previous versions of Windows. You will most likely want to
set the "Settings->Privacy&Security->for Developers->Terminal" option to "Windows Console Host"
-- wapi --
This document talks about the WING internals from a software point of view, and how to program the console from an external application. To this effect, I started with a little help from Behringer to access the binary/native interface of the console, a rather low-level approach to the desk, where everything is in binary and not necessarily easy to get to. This helped me writing software to discover and list the full set of parameters, discover the accessible internal structures and automatically generate the list of tokens to be later used in wapi.
I could then start to write software in the form or a C library providing an abstraction layer to the console and enabling simple procedure calls to perform actions using the console. This is "wapi", for WING API [Application Programming Interface].
I've already written quite a bit of software, enabling to read data from the console, set attribute values, and more such as getting meter data. The WING attributes list is quite impressive with currently more than 38000 parameters!!!, and all of WING capabilities are not completely exposed to users yet.
The wapi library and associated include files are available as free download packages for Windows, MacOS or Linux from the x32ram website, along with several test program source code files.
Demo videos can be found under the wapi playlist tag.
There are also commercial applications available from x32ram and listed below.
Feedback welcome, as always.
wcc is an application running on Windows, Mac, Rpi and Linux based computers for managing WING CUSTOM CONTROL knobs and buttons. The program is launched in a command‐line or terminal window and will automatically find and connect through network to the WING console in the same local (/24) network as the computer.
wcc enables saving and restoring snippets. It also enables associating snippets to buttons as ON/OFF or temporary push buttons. All buttons and commands can be organized as menus, even menus calling menus, offering an infinite set of commands available from fthe CUSCOM CONTROL section. One specific capability of wcc is to be able to simultaneously communicate with up to 8 OSC devices or servers and send them OSC commands when tou press a WING CC button or turn a WING CC knob.
This enables for example the distant control of another WING, an X32, recording studio gear, video stream apps such as OBS or Atem (using OSC for OBS or atemOSC), or for example light systems that accept OSC commands.
All snippets and OSC commands are fully configurable thanks to the use of text editable definition files.
wcc also offers a direct (in-line command with -a, -o, -z options) and file (with -F option) loading of buttons and associated ON and [optional] OFF snippets load capability. All buttons work on a toggle basis to enable stable loading of ON or [optional] OFF snippet for the respective button value. But they can self-modify and become ‘push’ rather than ‘toggle’ type. In that case, PPT or ‘fugitive’ actions (still with separate ON and OFF snippet capability) open a new set of functions WING does not offer natively. In addition, rather than loading a snippet, you can reference another file containing new button definitions to allow an infinite, menu or browse-like organization of button-base functionality on WING.
All actions and parameters can also be handled through MIDI.
wcc is available in the Products section at https://x32ram.com and comes with a documentation. This demo shows how wcc can control OBS studio from a WING console.
wxfade is a great application running on Windows, Linux, Mac, or Rpi based computers for managing WING scenes.
WING scenes are handled as binary files and are kept in the same directory the program runs from. The program is launched in a command‐line or terminal window and will automatically find and connect through network to the WING console in the same local network as the computer.
wxfade enables several operations with an infinite number of scenes such as save, restore, fade and cross-fade. It can be run in interactive mode, using the console to trigger actions, or as script commands.
wxfade scenes are saved as binary files on your computer and the restore, fade and cross-fade operations accept either GLOBAL SAFES console settings or Program SAFES options preventing complete strips, or the fader, mute, solo, eq or any other combination of scene parameters from being modified by the restoring or fading of a scene. Program SAFES can be changed on the fly using a WING Custom Control button that will load the new SAFE definitions from a file, GLOBAL SAFES are also available directly at the console screen..
wxfade enables the control of several fade IN and fade OUT parameters for DCAS, and a fade OUT / fade IN action on the touch of a button, making it easy to manage music vs. speaker panel setups of transitions between scenes using only DCA as it is often the case in theatres.
wxfade also proposes direct (in-line command with -a, -o, -z options) and file (with -F option) loading of buttons and associated ON and [optional] OFF snippets load capability, even with GPIO, GPIO settings. All buttons work on a toggle basis to enable stable loading of ON or OFF snippet for the respective button value. But they can self-modify and become 'push' rather than 'toggle' type. In that case, PPT or 'fugitive' actions (still with separate ON and OFF snippet capability) open a new set of functions WING does not offer natively.
In addition, rather than loading a snippet, you can reference another file containing new button definitions to allow an infinite, menu or browse-like organization of button-base functionality on WING. Demos of early versions: [link1, link2]. Demo of 3.0. Demo of ver 5.0. Demo of ver 5.5. Demo of ver 6.0.
All actions and parameters can also be handled through MIDI.
wxfade is available in the Products section at https://x32ram.com and comes with a user guide.
Your own, direct recordings on WING made easier.
wmultitake is a Windows application offering you the capability to create your own/personal recordings directly to WING with a single click! Routing and bouncing are automatically taken care of. Your WING becomes as easy to use as a 4track recorder we used in the 80's, except you will be able to record up to 32 tracks, monitor your takes as you progress, mix later on the console, and produce professional quality media using all the WING capabilities.
wmultitake is available in the Products section at https://x32ram.com. Comes with a user guide and demo video.
Now in ver 1.4: The full state of the console is saved when connecting, and restored upon exiting the application. Also, inputs can now be Mono, Stereo or Mid/Side, recording 1 or 2 tracks per take. You have also the option of customizing sources and the given name, color and icon will be used for recording on SD cards as well as during monitoring (on the desk) enabling you to easily distinguish what is what in the routing and mixing stages. Two new features have been added, with the capability to replace the last recorded take, and being able to mix whatever has been recorded so far. All of the above with routing of IO and SD fully automated!
For an easier remote in-ear monitoring or monitoring management
wdaw2wing is a great and almost indispensable application running on Windows for managing -both ways- a remote WING faders from a master WING, using the master WING DAW layers.
Using the typically unused DAW layers in live mixing enables for example the remote control of a Rack on stage used for monitoring or in-ear monitoring, from the FOH console, without affecting in any way the FOH mixing, routing or available number of channels for mixing FOH .
wdaw2wing displays and updates in real time the master DAW scribbles from the remote WING, enables on the fly mapping changes either from keyboard commands or directly using the wheel and cursor buttons available on standard WING consoles. You can manage up to 3 DAW layers depending on the master WING console type.
wdaw2wing can map any channel, aux, bus, matrix, dca, or main faders, but also all send for bus, matrix and mains strips, greatly facilitating the management of in-ear monitoring while running a live mix for a band.
wdaw2wing is available in the Products section at https://x32ram.com and comes with a detailed user guide., and a demo video.
sx2OSC runs as a Windows or Linux command-line application and is a simple utility to convert WING snap, snip, or presets files to their OSC node or single commands equivalent.
You provide the file to convert and the OSC commands or the OSC node is provided on the standard output; You can cat or pipe it to another program if needed, or just copy and pasted it for your needs.
For example, the file "snippy.snip" generated as a snippet on a WING console is a JSON file and will display as:
{"type":"snippet.10","creator_fw":"3.0.5-0-g0c2b9d4a:release","creator_sn":"NO_SERIAL","creator_model":"wing","creator_version":"SX45-XU2","creator_name":"HMS-01","created":"2025-01-17 17:47:51","active_show":"","active_scene":"/STARTUP/STARTUP.snap","num_pars":4,"ae_data":{"ch":{"5":{"mute":false,"fdr":-144},"6":{"mute":false,"fdr":-144}}},"ce_data":{},"ae_globals":{},"ce_globals":{}}
running the command: sx2osc snippy.snip will output the following:
/ch.5.mute=0,fdr=-144,.6.mute=0,fdr=-144,.../$ctl../globals../$ctl.globals..
running the app using the -l option: sx2osc -l snippy.snip will output the following:
/ch/5/mute=0
/ch/5/fdr=-144
/ch/6/mute=0
/ch/6/fdr=-144
You can take a full snap file too... such as for example the initial state of a WING console and use it as an entry for sx2osc... It will happily generate a 500kB output!
wSDwatchdog is a small utility to alarm you when the time left for SD recording is falling below a given value (default threshold: 10mns). Should the time falls below the threshold, the WING Scribbles LED will blink on a regular basis, reminding you to take action.
This aims at reducing frustration when one is busy mixing and recording of a live show will not complete because of a lack of space on one of the SD cards.
wswapio is a small Windows utility to swap all ASE50 related data between groups A, B or C, would you need to change one box group with another for band change or failure of a system during a show; This takes into account the following, saving you a lots of routing clicks and settings on your WING:
LCL IN [1..24] rmt
AES IN [A, B, C] [1..48] rmt
LCL OUT [1..8] grp
AUX OUT [1..8] grp
SC OUT [1..32] grp
USB OUT [1..48] grp
CDR & MOD OUT [1..64] grp
REC OUT [1..4] grp
AES OUT [1..2] grp
CH [1..40] grp & altgrp
AUX [1..8] grp & altgrp
Globals settings: clkrate
FX (if mdl == ext)
Exchange of /io/in/x <-> y
Exchange of /io/out/x <-> y
Exchange of /$ctl/safes/source/x <-> y
Exchange of /$ctl/safes/output/x <-> y
Exchange of /$globals/harmt/x <-> y
Exchange of /$globals/custsync/x <-> y
To run the program, simply download and unzip, connect to WING (click "CONNECT", and select the groups you want to swap. Then click "SWAP!". If all goes well, you'll see the button blinking ">> Done <<" and the operation will be complete.
In version 0.2, wswapio also offers SD1/SD2 swap of all SD related parameters for the desk. This enables a quick swap of all SD parameters without having to physically exchange cards. The following settings on your WING can be affected:
LCL OUT [1..8] grp
AUX OUT [1..8] grp
AES IN [A, B, C] [1..48] grp
SC OUT [1..32] grp
USB OUT [1..48] grp
CDR & MOD OUT [1..64] grp
REC OUT [1..4] grp
AES OUT [1..2] grp
CH [1..40] conn grp & altgrp
AUX [1..8] conn grp & altgrp
Exchange of /io/CRD/1..32 <-> 33..64
/$ctl/safes/source/CRD
/$ctl/safes/output/CRD
FX (if mdl == ext && ein == CRD)
A screen saver program for WING (Window terminal, Linux application). Launch this small utility and adjust lights for screen saving as well as out of screen saving mode. The screen saver timer can be chosen when launching the application in a terminal window (defaults to 20s). Source code is available on the source code package download available on the x32ram website.
When the program runs, it will display its status "Screensaver ON" or "Screensaver OFF". In case of network errors such as following your computer going to sleep mode for example, the program will reconnect to the network and you will see several messages being displayed; This is normal.
During normal operation, you can adjust the lights levels of your WING; adjustments made while in screensaver mode will be saved as "low lighting" settings, and while off of screensaver mode will be saved as "high lighting" settings.
A small rta / meters display program showing WING RTA in a Windows canvas. Try using audio or the local oscillator in sine/pink/white noise :)
Now in ver 0.1 with a better match to WING levels, and colors...
A small wapi-based program changing the behavior of WING Mutes (on all channel strips). When entering mute, a strip is first decreasing its level with a 3dB/30ms slope before the mute is finally activated. The un-mute is activated back at the level the channel strip was prior to the mute request.
The corresponding program is less than 45 lines of C code. Source code is available on the source code package download available on the x32ram website.
The latest version includes multi-threading in order to enable multiple moves to take place simultaneously, and a number of parameters that can be set at program startup to change behavior. use -h to list options.
This version is also Windows GUI based, and can run as a command-line with using option '-g 0' when starting the program.
Another wapi-based program changing the behavior of WING DCA faders. The goal is to provide a fade effect on DCA, lowering (down) or augmenting (up) fader vales based on the down and up times set in the program. DCA Fade-IN action is set by enabling the respective DCA MUTE, and Fade-OUT results of disabling the respective DCA MUTE.
The program automatically searches and connects to WING. It can be suspended (as in the picture left) by clicking the "Running.." button. Fade times are expressed in seconds.
Note that once in MUTES, the low level of a DCA can be set and will become the new 'low' value. Similarly the high level of DCA can be changed at anytime if the respective DCA MUTE is disabled.
Each of the 16 DCAs can be enabled or not using the respective checkbox under the IP address value.
UP can be LOW and vice versa, enabling nice effects in some occasions.
A wapi-based Windows application to play audio data contained in the USB stick playlist, of from SD cards
Select a source for the Player from the proposed list and just hit Play/Pause/Stop.
Make sure a USB playlist is available for playing audio from USB
You can go to the next or previous song in the USB or SD song/session list. Note that for SD cards, the list circulates through 1st and last sessions, when it blocks at 1st song or last song for USB stick. When playing SD card sessions, Random can be used to select a random session within the available sessions.
You can set/force the current starting point of the song by entering a value in seconds and pressing "From". If you enter a value in seconds right of "Loop" and press that button, the playing song will loop between the two values (from and loop). The current counter (in seconds too) is given bottom left.
Want to find out more about what's going on?
Want to know all possible values for a parameter?
Etc. etc.
wevents will capture and display all events generated by WING and display them along with their associated value. Can be useful for debug of course, but is also a key tool for documenting what's happening in different situations.
Just run the program and watch WING events being displayed. hit Ctrl-C when done.
PS: weventshex is a (outdated now) special version that also provides the IEEE/hex format along with int and floating point data
Source code is available on the source code package download available on the x32ram website.
I recently updated (in v 1.0) the event buffer capacity to 1K events/500us, and the wapi buffer in the program is 10k bytes. I barely get notices for possible overflow. The theoretical number of 10byte events per second is 10k, showing the actual traffic on a 1Gb/s network is really about 1/10th of that. My typical testing is done moving up and down 12 or 20 faders at once. That's a lot of data exchanged per second.
Use the -t option if you want to lower the time interval between event captures. This will also eliminate the possible overflow messages if you get some.
A simple wapi-based utility to save and restore 'scenes' from and to the Wing Desk.
Scenes are saved in the working directory, with names WING_bScene_[1...127]. These are pure WING binary files.
Run as simple command line tool. This program subscribes to WING events when launched in interactive mode (see below). Launch it and let run in the background as long as your WING is connected.
Currently saved: Ch, Aux, Fx, Bus, Mtx, Main, Dca, and Fx
Each 'scene' file is 124kB.
WARNING: This is now ver 3.0, with a 'low res' SAFES mechanism for restoring scenes, see below; a small video shows wscene running in non-interactive mode. This last release also fixes an issue when restoring scenes in non-interactive mode and includes options to choose MIDI channels and controllers if needed.
--wScenes-- ver 3.0 @2021-22 Patrick-Gilles Maillot
usage: wScenes [-i, to launch interactive mode]
[-l 1..16 (Default: 2), set choice of layer]
[-b 1..4 (Default: 1), set choice of button & knob set]
[-s 1..127, save state to scene file WING_bScene_1..127]
[-r 1..127, restore state from scene file WING_bScene_1..127]
[-S <safes>, safes is a list of channels safe from restore:
ex: /ch/1,/ch/5-10,/mtx/1-4
ch 1, 5 to 10 and matrix 1 to 4 will not be restored]
[-m <ch,cc1,cc2,cc3>, changes default MIDI settings, with ch = MIDI channel]
cc1: controller for scene number [1..127]
cc2: controller for saving scene on value 127->0
cc2: controller for restoring scene on value 127->0
In interactive mode (option -i), wScenes subscribes WING events and looks for User Control
Layer and Encoder number set with options -l and -b, and the two Buttons (up and down) values.
Select a scene number using the knob. Button UP saves the desk state to a file named WING_bScene_1..127.
Button Down restores the Desk state from file WING_bScene_1..127
Option -i is needed along with options -b or -l
Option -s <num> launches a one-shot Desk state save to file WING_bScene_<num>
Option -r <num> launches a one-shot Desk state restore from file WING_bScene_<num>
The Files WING_bScene_0..127 are binary files located in the same directory as the program
A wapi-based Windows, Linux or Rpi application to display WING fader values in real-time:
usage: wfdrvalues [-i WING ipv4 address]
[-t scribble restore timeout in ms]
[-s keep Ch and Aux strips safe from link customization changes]
Captures fader WING events and displays their value (prior DCA) on the respective
scribble WING scribbles are restored after a timeout (option -t), or as soon as
changing channel strips.
Applies to all WING channel strips, except DCA as so-called DCA names are used as
internal TAGS when channels get associated to a DCA.
A video showing the tool in action (early version with 500ms timeout). Note that you must remove the "link customization to source" for Channel and Aux strips to display fader values if you use the -s option.
A small wapi-based Windows utility to manage a mono source towards 2 stereo outputs to create a quadrophony/Leslie effect.
Channels should be different and both receive the same mono source. The user can manually rotate right/left the wheel, or choose auto-mode and adjust rotation speed with the horizontal slider.
Input and Output routing are left to the user.
A wapi-based Windows program to manage Tap Tempo for any delay capable WING effect, either from tapping tempo on the GUI button, Ctrl-t from the keyboard (app must have Windows' focus), or getting the tap tempo from MIDI beat or audio signals on a chosen WING Channel
The program can find your WING in the same /24 subnetwork or you can type in your WING IP address.
It will show a "Connected" status when ready.
Operation: Select an FX slot for WING [1..16] and click "Check" to validate if this is a Delay-type FX.
Supported delay models are: DEL/REV, ST-DL, TAP-DL, TAPE-DL, OILCAN, and BBD-DL
You can then click on "TAP" to set the tempo value, or update the FX time value directly on the desk, or set it from the "BPM value" followed by clicking on "BPM". Actual tempo can be averaged over 5 successive tempo settings by turning on the "Avg/5" button. The combo box on the left enables you to set a divider/multiplier to the tempo value, defaulting to 1.
You can also click on "Auto OFF/ON" button to auto-set the tempo (Averaging and divider/multiplier still applying) using a WING audio channel "Ch", and adjusting the Gate threshold ("Sens") on the signal that comes to the channel; The tempo will be set by the gate opening signal (small green dot showing in the Gate). Adjust Gate parameters to achieve consistent results.
Finally, MIDI clock beat can be used to set tap tempo based on MIDI data; by selecting a MIDI device receiving system data bytes 0xF8 (beat), wtap will use consecutive beats to provide a delay value, applying a "note" correction ( click on the button 1/4 note to cycle through values 1/1, 1/2, ... 1/32. The bpm and delay values are displayed in their respective areas.
If the Glb (for Global) flag is set, the current tempo value will automatically be set to the selected FX when changing FX. Averaging is turned OFF when Global is set.
wtap can also be launched from a terminal window with -i <IP> argument option to set the WING IP address at launch time rather than searching for it on the network.
Windows, Linux, or Rpi, wapi‐based remote automixing solution for up to 40 channels on WING. wautomix automatically manages up to 40 fader levels of inputs channels based on their post‐trim/gain meter values. The program uses a threshold level to decide what to do for each channel, independently. wautomix can run in a terminal console as a shell program, or can run as a Windows GUI program [default]. In both cases the WING console should be powered on and connected to the same /24 subnetwork as the PC running the application. The program to automatically find and connect to the WING desk.
Shell Mode: To run the application in a terminal console, the user will launch the program using the -c option. The ‐h option can also be used to print all optional settings supported by the application:
wxautomix: AutoMix for WING - v 0.3 - (c)2022 Patrick-Gilles Maillot
usage: wautomix [-c: Set Command Line mode - default: GUI mode]
[-s 0..11: Set mixing channel index (Bus 1..8 ,Main 1..4) - default=8 Main 1]
[-t -144..10: Set sensitivity value in dB - default=-50.]
[-n 0..1: Set NOMA off(0) or on(1) - default: 1]
[-d 0..10: Delay in seconds before fader down value - default: 4]
[-l 1..40: Last channel used in wautomix - default: 8]
[-f 1..40: First channel used in wautomix - default: 1]
[-r -144..10: Active channel faders low value in dB - default: -144.0]
[-u -144..10: Active channel faders high value in dB - default: 0.0]
[-g 0..5000: Time in ms for faders get to their down value - default: 100]
Uses the WING mixing desk in remote Automix automated mode for the designated channels
Ever wanted to know what's inside the WING?
Here's wbin, a wapi-based Windows or Linux application to dialog with WING in native/binary mode, somewhat equivalent to what wosc does using OSC protocol.
A little nerdy maybe :), but proven useful in many situations. The program will also report instant changes that take place at the desk. Warning: A lot of data can be displayed!
Maybe you'll want to familiarize with the WING binary interface first ;-)
Known commands are:
wbin - v0.01 - (c)2021 Patrick-Gilles Maillot
Connecting to Wing.Using wapi ver: 1.16
WING found at IP: 192.168.0.11
toggle debug mode d
set Max bytes shown m <number>
assert hash from name a [<node name>]
set hash: h [<hash>]
get hash/list node data: g|l [<hash>]
set data: s <format: i|f|s> [<data>]
toggle: t [<hash>]
clicks/steps (+/-): c [<number>]
parse node description: p [<hash>]
write data to file: f <file> [<node name>]
goto root (hash=0): r
up to parent: u
send bin data: w <hex data>
exit: q|e
A small demo / app displaying the FAST dBFS and SPL values from OSM (Open Sound Meter), showing how to join a multicast group and get the server data to display them on 4 WING scribbles. The source code can easily be adapted to other cases and environments, and is available on the source code package download available on the x32ram website.
A small video is available on Youtube for those interested.
A fader riding app for WING.
Select channels and a target dB level for them. "Threshold" will determine when individual channels open (similar to an Automix mode), with a minimal and maximal fader values set. When the channel audio crosses the threshold downwards, the respective channel will remain open for a "Fdr Hold" time in seconds and will then slide down to its low value in an amount of time in ms provided by "Fdr Dn".
When the channel audio is above the threshold value and as long as there is no clipping in audio levels, the application will maintain the respective audio level at the target value set by "Tgt Lvl" in dB. The reaction time is approximately every "n" times 20ms, "n" being set with the "Ride Curve Avg" data, which will average "n" values of input levels before adjusting the channel fader respectively to reach or maintain the target level.
Runs either as a GUI or command line application (launch with the -h option for details.
Make sure you hit the Set button after changing or updating parameters...
Increasing the value of Ride Curve Agv will reduce fader movements, but will react more loosely to audio level changes.
-- OSC --
WING supports OSC starting with version 1.7.x (post 1.7.02). I describe in the WING Remote Protocols document how to use OSC with WING.
I wrote a small application (wosc) to dialog with WING over OSC. The notation used is similar/close to the one used with X32_Command (for X32).
The OSC implementation for WING supports get/set operations; i.e. you need to inquire for data; It is also possible to set a single subscription for all binary or OSC messages, and get event-based messages from the desk.
The "AutoMate" series of programs are great examples of OSC-based software, adding automation to the consoles (X32, M32, WING) from Behringer.
Overtime, there's been a large list of features added to the programs, delivering in the Recording/Mixing Studio the best these consoles have to offer. Full automation of all console parameters means you can work your mixes over and over with the full feature set and flexibility the consoles provide.
The AutoMate series offer the comfort of working directly with the desk and its surface controls, as if you were mixing live, except you can go back in time, modify settings, recall parameters, play loops, etc. All the things you find in DAW programs, replacing the cumbersome use of the mouse with actual controls from the desk surface.
Details, docs & videos at http://x32ram.com
A good example of use of OSC with WING is the WingReaperAutoMate program, initially released on Jan 2021 and already making a number of WING users happy :).
There are numerous videos of the capabilities used in programming the desk, getting events from it and managing DAW settings as well as hand-free GPIO use.
Watch WingReaperAutoMate in action with this video (music here).
Another great example of use of OSC with WING is the WingWLiveAutoMate program, which I release June 7, 2022.
It inherits a lot of the advanced features of WING, enabling full automation of the console, without the need for a DAW or DAW connection.
Watch an early test version of WingWLiveAutoMate in action with this video.
A simple, yet powerful, Windows-based command line program to interact with WING over OSC. The program will automatically find your console if present on the same network, use the -i option otherwise.
Usage: wosc [-i ipv4 address] [-d 0/1, [0], debug option] [-v 0/1 [1], verbose option] [-k 0/1 [1], keyboard mode on] [-t int [10], delay between batch commands in ms] [-s file, reads node formatted data lines from 'file'] [-f file, sets batch mode on, getting input data from 'file'] default is to broadcast for finding WING console and max buffer sizes are 1kB for sending, 10kB for receivingWING supports string, int, float and blob OSC Tag Types. The blob type is used for nodes and enabling transmitting native commands to WING when appropriate.
WING OSC implementation also enables a 'real-time' (so to speak) discovery of the WING dynamic JSON data structure by using nodes. Indeed, the internal WING data structures evolve as FX plugins or other elements are inserted/removed or enabled/disabled.
WING OSC also enables to receive the expected OSC reply onto a specified port (this was not possible on X32).
Note: Starting with ver 0.6, wosc has become a multi-threaded application with a thread dedicated to user input for a better handling of keyboard events.
A simple OSC, 2-way bridge between X32 and WING.
Can be handy if you want to control a WING rack from an X32 surface,
or the opposite: control an X32 Rack from a WING surface [but who would want to do that? :-)]
A no-thrill Android app to use as a remote control for WING. Just setup the IP of the console, having it on the network/WIFI.
This will provide you with a Show control management with Go, Next, Prev, GONext & GOPREV commands, as well as Transport functions for USB, SD1 and SD2
The app also provides a quick&dirty OSC command tool in a separate tab
A simple OSC utility to save and restore 'scenes' from and to the Wing Desk.
Scenes are saved in the working directory, with names WING_Scene_[1...127]. These are text files even if they don't appear as such in your files.
Run as simple command line tool. This program uses the only OSC subscription slot available in WING when launched in interactive mode (see below). Launch it and let run in the background as long as your WING is connected.
Currently saved: Ch, Aux, Fx, Bus, Mtx, Main, Dca, and Fx
Each 'scene' file is 114kB.
WARNING: Safes are limited to full set of channel parameters, and only work with applying -r option. This last release includes options to choose MIDI channels and controllers if needed.
--Wing_Scenes-- ver 3.0 @2021 Patrick-Gilles Maillot
usage: Wing_Scenes [-i, to launch interactive mode]
[-l 1..16 (Default: 2), set choice of layer]
[-b 1..4 (Default: 1), set choice of button & knob set]
[-s 1..127, save state to scene file WING_Scene_1..127]
[-r 1..127, restore state from scene file WING_Scene_1..127]
[-S <safes>, safes is a list of channels safe from restore:
ex: /ch/1,/ch/5-10,/mtx/1-4
ch 1, 5 to 10 and matrix 1 to 4 will not be restored]
[-m <ch,cc1,cc2,cc3>, changes default MIDI settings, with ch = MIDI channel]
cc1: controller for scene number [1..127]
cc2: controller for saving scene on value 127->0
cc2: controller for restoring scene on value 127->0
In interactive mode (option -i 1), Wing_Scenes uses the WING OSC subscription to constantly
read the DESK and looks for OSC messages for User control layer and Encoder number set with
options -l and -b, and the two Buttons (up and down) values. Select a scene number using the knob.
Button UP saves the desk state to a file named WING_Scene_1..127
Button Down restores the Desk state from file WING_Scene_1..127
Option -i is needed along with options -b or -l
Option -s <num> launches a one-shot Desk state save to file WING_Scene_<num>
Option -r <num> launches a one-shot Desk state restore from file WING_Scene_<num>
Option -r is needed along with option -S
The Files WING_Scene_0..127 are located in the same directory as the program
Have WING commands control other devices through MIDI or OSC.
WCommander scans for a user selected subset of WING OSC commands. If a matching command is found, the tool can fire a MIDI or OSC command to another device, optionally using parameters sent with the matching command.
When using the WING command parameters, a formula can be applied using a reverse polish notation calculator.
The program can be launched directly, in that case it will attempt to open ./WCommander.txt, a file that contains the list of commands to match and replace with user selected commands. WCommander can also be launched from a terminal window, with a -f option, enabling you to create and keep a set of files to fit different situations.
-- MIDI --
Standard DIN5 and USB MIDI are supported.
MIDI Remote‐Control is supported using WING MIDI Port 4. MIDI CC is provided for FADER, MUTE, PAN on different MIDI channels on all channels, and Custom Controls Remote (RX only, user layers 1..16) is available on MIDI CH6.
WING also supports MIDI SYSEX messages, part of the MIDI protocol implementation in the console. SYSEX is a key component of MIDI implementation for advanced, digital desks as many commands are dedicated to controlling the desk as a surface control, rather than sending MIDI instrument notes. Standard 3 bytes MIDI messages are generally not long enough to support the full set of capabilities these new desks offer. This is made possible through the use and support of SYSEX functionality.
A quick WING MIDI implementation document is available as part of the Wing Remote Protocols document as a specific chapter.
To further use MIDI with WING, the desk offers a DAW mode that can support multiple DAWs. This document gives information on how to setup a REAPER interface to WING DAW mode. The Behringer site also have several other DAW presets.
Although an OSC based program, WCommander (see above in the OSC section) can be used to send MIDI to your studio/live equipment from WING.
Send OSC, or snippets from MIDI commands
This little application inherits from Midi2OSC, and adds to its capabilities the following:
Can connect to any type of OSC compatible console (X32, WING, XAir, ... ) by providing the right pair(IP/port) to the .ini file
Can send OSC messages from MIDI commands it receives, using MIDI data1 and data2 as parameters that can alter the OSC commands through rpn based calculus.
Can send snippets (OSC messages encapsulated in files) from MIDI commands it receives in OSC or Node format (see the file type description in the examples) when MIDI d2 equal to 0. This can be program change, controller change, or note OFF for ex.
'snippets' can be a series of OSC commands (1 per line), a series of X32 node-like commands (1 per line), or XAir scene file lines which will be translated to single OSC commands according to XAir capabilities.
The scan/match of MIDI command can stop at first occurrence or scan all lines for multiple occurrences (use the 'scan all' option in the .mop file)
Offers MIDI and OSC debug data dump (can be useful, or painful)
The command file for MidiOSCProxy must have a .mop extension.
Attention: Use the Dbg checkboxes with caution: You must acknowledge each single message!!!
An OSC & MIDI based "If This Then That" program
MidiOscIttt is a simple “If This Then That” program with triggers based on MIDI or OSC data input.
The Output is also MIDI or OSC data. While there are many services and applets capable of handling IFTTT scenarios for MIDI, and some for OSC, very few handle both simultaneously and as a standalone application.
MidiOscIttt does not rely on external http servers, doesn’t need an internet connection (but needs ethernet for handling UDP/OSC datagrams) and can be tailored to your needs in order to perform scenarios you decide, based on a text‐only definition file (no JSON involved).
MidiOscIttt can also launch applications based on the received MIDI or OSC data