A MIDI controller application for Windows and Linux.
The Proxima Controller is an application that allows you to use the mouse and computer keyboard to play external MIDI devices such as synthesizers and tone generators. It is also possible to play internal devices if they are designed to respond to MIDI messages (for example, the Microsoft GS Wavetable SW Synth). This application makes no sounds of its own and instead relies on the MIDI devices it is controlling to produce sound.
Each row of keys on a standard computer keyboard controls a different octave of notes on the virtual keyboard.
This program was originally published on http://zetacentauri.com and via the Ubuntu Software Center and was downloaded more than 70,000 times before being open-sourced.
It is released under the terms of the MIT license. See the LICENSE file for details.
A prebuilt Windows installer is available in the installer directory here:
Linux binaries are also in the installer/linux_binaries directory, but you are better off building from source on Linux.
- Supports bank and patch changes
- Transmits on any MIDI channel from 1-16
- Includes pitch and modulation sliders
- Has five octaves of control
- Can select any MIDI device detected by your operating system
The GUI for this application was developed using wxWidgets. You can download wxWidgets here:
This program also uses the RtMidi library by Gary P. Scavone, which is available here (need version 2.1 or newer):
This project depends on my wxAudioControls library, a wxWidgets control library designed for use with audio applications: https://github.com/Xangis/wxAudioControls
You'll need to check out wxAudioControls and put it in the parent directory of this project (so they're side-by-side).
Use the included Visual Studio project. You'll have to change the include and library paths to match where wxWidgets and RtMidi are on your system.
There is an InnoSetup installer script in the installer directory. You'll need to update paths in that file to match where things are on your system in order to build an installer.
You can get probably get wxWidgets using your operating system's package manager. On Debian-based systems, you can run:
sudo apt-get install libwxgtk3.0-dev
Build with this command line:
make -f Makefile.linux
This application has been built on OSX, but it may need a bit more work. To build, you'll need the command-line compiler tools installed.
Just type "make" to build the program. You may need to change file maths in the Makefile to point to your library locations.
Once the binary is built, you can run installer/OSXLibraryPaths.sh to change library paths in the application bundle.
At one point a build was submitted to the app store, but it was not approved.
- Switched to RtMidi for MIDI control.
- Updated to wxWidgets 3.0 (from 2.8) for a cleaner/smoother UI
- Fixed an issue that would cause a note to fail to release if you clicked on one octave, dragged your mouse to another, and then released the mouse button.
- Minor adjustments to user interface aesthetics.
I still maintain this application and will update it as needed.
I'm currently working on adding a new vector control feature and a MIDI logger, but it those features are incomplete.
On some platforms, especially Windows and OSX, build and installer paths are specific to my development environment and more work could be done to make things a bit more portable.
I am willing to accept pull requests if you have improvements to contribute.