Imperfect source codes: faders

I have written many programs to accomplish a specific task. I haven’t published them before because I thought they’re too specific and I should make them more generic… which isn’t going to happen soon because that’s a lot of work to polish a quick hack into a framework. However, the beauty of open source is that you can quickly hack my quick hack and make it useful in your use case, or clean it up and actually make it a serious thing (or I’ll do it when I retire). Whatever you do, it’s better than my work being wasted because of perfectionism.

faders-midi-osc-router started as x18faders when I wanted to control Behringer XR18 (X18 in rack case) using a MIDI controller. I also wanted the controller’s motorized fader to move on scene load or when mixer setting was changed from another device (tablet with X Air app). It was used during one concert of the band I play in - Maha Fixum (after which I understood that using a digital mixer doesn’t give me enough freedom in making experimental music - i.e. I needed to change source code each time we were repatching our studio signal flow)

Later, I’ve adapted it to Behringer X32 Rack which was used in YAPA 2020 festival studio.

Today, I’ve added a web client showing an ON AIR sign lighted when selected faders are up and unmuted, to be used during special radio programmes broadcasted from remote locations. Because X32 doesn’t have GPIO like professional broadcasting consoles do. But it does have something even more powerful - OSC!

(I’m a sound engineer in commercial-free Student Radio “Żak” of the Lodz University of Technology)

Grab the source code here, on GitLab.

It’s up to you to make use of it. I haven’t removed any usage-specific details from the source code. They serve as examples. I hope there are enough comments to explain what does what.

Of course you can report me bugs and feature requests, but they may sit in backlog for months or years.

One quirk is building mididings which is a dependency. It isn’t packaged in pypi and is a pretty old project. However a fork by noedigcode successfully builds with Python3 on modern Linux systems. The README mentions how to build it, together with workarounding a linker issue.