The Musica MIDI player
What is Musica?
Musica is a GTK based MIDI
player. It is currently still under heavy development, but I in
my opinion it is rather usable for others. The source is
currently also quite bug free (famous last words), so I release
it before I'm going to mess it up with new features. Musica
currently runs on Linux
only, but support for other operating systems is planned.
Musica is released under GNU
General Public License. The library replacement functions
(memcmp(), strdup(), strerror(), and strstr()) have an X
Consortium style copyright so they can be used freely in other
software, too. The icons in the buttons come from Tim P. Gerla's
CD player in the gnome-media package and are drawn by Charles
Sielski and tigert (Tuomas Kuosmanen).
Musica has been written with the use of GNU autoconf, automake, and
libtool. People looking for autoconf/automake/libtool examples
should definitively have a look. I don't claim this is the only
right way to do it, but it certainly works; the Perl motto:
TIMTOWTDI (There Is More Than One Way To Do It).
Features
-
Plays MIDI files on Linux
machines with an OSS sound card interface.
-
GTK based user interface
supporting drag-and-drop for easy file selection. Drag a MIDI
file from the GNOME-ified
Midnight Commander to Musica's drop pocket and it
automatically loads the file.
-
Tempo adjustment: play a MIDI file up to four times faster or
slower.
-
Fast forward: skip those dull passages in a MIDI file.
Requirements
-
A Linux system. Other
operating systems will be supported in the future.
-
A C++ compiler. Every Linux system comes with the
excellent GNU C/C++ compilers, so that shouldn't be a
problem. If your system misses the compilers, you'll have to
install them. Read the documentation for your Linux distribution for that.
-
The GTK widget set, version
1.2.0 or better. Available at http://www.gtk.org/, but maybe
also as a package for your Linux distribution.
-
As GTK requires X, Musica
needs the X Window system, too.
-
A sound card with MIDI support. Check your Linux kernel configuration.
Known bugs
-
Only plays on the first available MIDI device. In my case,
that's a Roland HP-330 digital piano on the external MIDI
port.
-
Multi track MIDI files are not correctly handled: the tracks
are not played simultaneously, but after each other.
-
Heavy X usage can disturb timing.
-
MIDI timing not always correct.
To Do (in no particular order)
-
Virtualisation of MIDI devices to support more than one MIDI device.
-
Advanced MIDI mapper support: play instruments on different MIDI
devices.
-
Better MIDI timing.
-
Support for multi track MIDI files.
-
Multi threading to be independent of X disturbances.
-
Support for more operating systems. SGI IRIX
6.x will probably be the first, because I have an O2 on my desk :-).
Screenshots
Musica with the default GTK theme:
... with the BeOS theme (I like this one most):
... and with MacOS theme:
This is a Musica 1.1.4 screenshot (with BeOS theme):
Download
Stable releases
Development snapshot
Back to my Open Source page.
Back to my homepage.
Homepage of the Information and
Communication Theory Group.
Erik Mouw
Last modified: Wed Jul 28 17:34:13 MDT 1999