Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork8
Mixer for RME Fireface UCX II
License
michaelforney/oscmix
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
oscmix implements an OSC API for RME's Fireface UCX II running inclass-compliant mode, allowing full control of the device'sfunctionality through OSC on POSIX operating systems supporting USBMIDI.
Most things work, but still needs a lot more testing, polish,cleanup. Some things still need to be hooked up in the UI orimplemented in oscmix.
- RME Fireface UCX II
oscmix [-dl] [-r recvaddr] [-s sendaddr]
oscmix reads and writes MIDI SysEx messages from/to file descriptors6 and 7 respectively, which are expected to be opened.
By default, oscmix will listen for OSC messages onudp!127.0.0.1!7222
and send toudp!127.0.0.1!8222
.
See the manual,oscmix.1, for more information.
On Linux systems, you can use bundledalsarawio
program open andconfigure a given raw MIDI subdevice and set up these file descriptorsappropriately.
To determine your MIDI device, look for it in the output ofamidi -l
(the one ending in,1
with the nameFireface UCX II
).
For example:
alsarawio 2,0,1 oscmix
There is also a toolalsaseqio
that requires alsa-lib and usesthe sequencer API.
To determine the client and port for your device, find it (port 1of the Fireface UCX II) in the output ofaconnect -l
.
For example:
alsaseqio 24:1 oscmix
On BSD systems, you can launch oscmix with file descriptors 6 and7 redirected to the appropriate MIDI device.
For example:
oscmix6<>/dev/rmidi17>&6
Thegtk directory contains oscmix-gtk, a GTK frontend thatcommunicates with oscmix using OSC.
To run oscmix-gtk without installing, set theGSETTINGS_SCHEMA_DIR
environment variable.
GSETTINGS_SCHEMA_DIR=$PWD/gtk ./gtk/oscmix-gtk
Theweb directory contains a web frontend that can communicatewith oscmix through OSC over a WebSocket, or by directly to aninstance of oscmix compiled as WebAssembly running directly in the browser.
The web UI is automatically deployed athttps://michaelforney.github.io/oscmix.
It is tested primarily against the chromium stable channel, butpatches to support other/older browsers are welcome (if it doesn'tcomplicate things too much).
Also included is a UDP-to-WebSocket bridge,wsdgram
. It expectsfile descriptors 0 and 1 to be an open connection to a WebSocketclient. It forwards incoming messages to a UDP address and writesoutgoing messages for any UDP packet received. Use it in combinationwith software likes6-tcpserver ors6-tlsserver.
s6-tcpserver 127.0.0.1 8222 wsdgram
To buildoscmix.wasm
, you needclang
supporting wasm32,wasm-ld
,andwasi-libc
.
The OSC API is not yet final and may change without notice.
Method | Arguments | Description |
---|---|---|
/input/{1..20}/mute | i enabled | Inputn muted |
/input/{1..20}/fxsend | f db (-65-0) | Inputn FX send level |
/input/{1..20}/stereo | i enabled | Inputn is stereo |
/input/{1..20}/record | i enabled | Inputn record enabled |
/input/{1..20}/playchan | i 0=off 1-60 | Inputn play channel |
/input/{1..20}/msproc | i enabled | Inputn M/S processing enabled |
/input/{1..20}/phase | i enabled | Inputn phase invert enabled |
/input/{1..4}/gain | f 0-75 (n=1,2) 0-24 (n=3,4) | Inputn gain |
/input/{1..2}/48v | i enabled | Inputn phantom power enabled |
/input/{3..8}/reflevel | i 0=+4dBu 1=+13dBu 2=+19dBu | Inputn reference level |
/durec/status | i | DURec status |
/refresh | none | W Refresh device registers |
/register | ii... register, value | W Set device register explicitly |
TODO Document rest of API. For now, see the OSC tree inoscmix.c
.
There is an IRC channel #oscmix on irc.libera.chat.
About
Mixer for RME Fireface UCX II
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Contributors3
Uh oh!
There was an error while loading.Please reload this page.