SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

MIDI CONTROLLER

This is a simple MIDI controller with dynamic GUI for programs that use the ALSA sequencer library. It's free software under the terms of the GNU General Public License, see the file COPYING for details.

Installation

You need to have the ALSA libraries and headers installed, as well as the headers and libraries for libglademm, libgtkmm, and all their dependencies. You also need pkg-config and the pkg-config files for ALSA and libglademm.

To install, do this:

  • set the variable PREFIX in the Makefile to the directory where you want to install MIDI Controller (the default is /usr/local)
  • type 'make'
  • become root (unless you have write access to the PREFIX directory) and type 'make install'

If you get any errors along the way that you don't know how to fix, send me an email at larsl@users.sourceforge.net.

GUI

This program uses libglademm to create its GUI. This means that the GUI is defined in an XML file which is loaded by the program at runtime. The program will look for Scrollbar, Scale, or Spinbutton widgets with the names "mcwC4P0", "mcwC1P3" and so on. A widget with the name "mcwC1P5" will send control change values for CC number 5 on channel 1. If you use 'c1' or 'p2' instead of 'C1' or 'P2', the program will look for another widget with the name 'mcwC1' or 'mcwP2', and the value of this widget will be used to set the channel or CC number for the original widget.

Example 1:
One VScale widget named "mcwc1P1", one SpinButton named "mcwC1". The VScale will control CC number 1 on channel B, where B is the current value of the SpinButton.

Example 2:
Once VScale widget named "mcwC3p3", one SpinButton named "mcwP3". The VScale will control CC number D on channel 3, where D is the current value of the SpinButton.

This means that you can build your own GUI in Glade with arbitrarily many controllers, with the layout that you want, as long as you name your widgets according to the pattern described above. For example, you could build a GUI that is customized for your new cool AMS patch with exactly the MIDI controllers it uses together with explaining text and a nice picture, or a GUI that acts as a single control interface for your jack network of 20 different softsynths, samplers, and effects.

Usage

When you run the program you can specify the GUI file you want to use as a command line parameter, like this:

[ll@gnorf ll]$ midicontroller mynewgui.glade

Or you can just run the program without any parameters, in which case it will first try to load the GUI file controller.glade in the current direcory, and if that fails, the file with the same name in the system data directory (which is /usr/local/midicontroller/controller.glade, unless you have changed the PREFIX variable in the Makefile). Once the program is started and the GUI is loaded you can connect its MIDI output port to one or more MIDI output ports using aconnect, qjackctl, or some other tool.

If you press the key F1 when you are using the program you will see a popup menu where you can

  • save and load presets. A preset is a file that stores the current value of every control widget.
  • send the current value of all CC's to the MIDI out port. This can be useful if you restart a synth program or change its control parameters in some other way, and want to restore them. This is done automatically when you load a preset.
  • view a simple "About" window for this program

--
Written by Lars Luthman <larsl@users.sourceforge.net>. Go to http://www.sourceforge.net/midicontroller for downloads, bug tracker and mailing lists.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.