Being neither a good programmer, nor a good musician (actually, not even an average one on either of those tasks), I anyway decided to try writing a pyQt4 mixer to control the old Roland UA-100.
There used to be a working mixer, written in C++ and MOTIF by Michael Minn (http://michaelminn.com/linux/mmusbaudio/) back in the mid 2000s, but it relied on OSS and thus it should not work well with ALSA. In fact, Michael's mixer do work with ALSA (with some workarounds, like installing virtual midi devices in the kernel): nevertheless, the lack af a modern interface (MOTIF is ancient, isn't it?) makes it not so easy to manage.
I pretty like Qt (much better than gtk, even if it was my first love back in the late '90s) so I'm trying pyQt: python is easy enough for my poor programming skills and QtDesigner is a really good tool to create a nice interface.
If anyone is interested in helping me, YOU ARE WELCOME! I'd appreciate even corrections or comments on my awful coding!
In order to use the ua100mix you need python (2.7 is what I tested, no idea if older versions work). Besides, the ua100mix uses mido and python-rtmidi: the best way to install those libraries is with pip (https://pip.pypa.io/en/stable/).
I wrote the ua100mix on Gentoo Linux: I know it works on OpenSuse and Ubuntu. I have no idea if you can run it successfully on any other system.
To install ua100mix just clone the git repo to your computer.
YOU NEED GIT TO BE INSTALLED ON YOUR COMPUTER!
$ mkdir devel
$ cd devel
$ git clone https://github.com/wishmerhill/ua100mix.git
From the ua100mix directory, launch main.py with your python interpreter:
$ cd ~/devel/ua100mix
$ python main.py
The first version of the ua100mix used portmidi for sending MIDI messages to the UA-100. After a user told me about his problems with Ubuntu's funny and buggy portmidi version, I discovered how old and buggy portmidi itself is. So I moved the code to mido and rtmidi. I find it way better: thanks Semyon for your help!
I use this mixer mainly to record my exercises with the saxophone, so I need a quick way to set the input and output levels as well as the recording and playback sources.
Cheers, Wishmerhill
Tags: Roland, Edirol, UA-100, UA 100, mixer, effects, pyhon, pyqt