a Midi-file player that uses Jack-Midi and synchronises to Jack-Transport.

jpmidi found its way here after the authors site was closed.
If anyone wishes to use this GPL code, you are welcome.



released under GPLv2


content of the README file:


$ ./configure
$ make
$ make install (as root)


Start jackd with -Xseq (or set the Midi Driver option to 'seq' in QJackCtl settings).

$ jpmidi <midi file>

At the jpmidi prompt, type 'connect' to get a list of destination ports.

jpmidi> connect
Destination ports:
1) alsa_pcm:out-20-0-VirMIDI-1-0
2) alsa_pcm:out-21-0-VirMIDI-1-1
3) alsa_pcm:out-22-0-VirMIDI-1-2
4) alsa_pcm:out-23-0-VirMIDI-1-3
5) alsa_pcm:out-24-0-TASCAM-US-X2Y-MIDI-1

Give 'connect' a numeric argument to connect to the associated port.

jpmidi> connect 5
Successfully connected to alsa_pcm:out-24-0-TASCAM-US-X2Y-MIDI-1

Type 'play' to start the jack transport and begin playing the file.
The transport may also be controlled from within Ardour, qjackctl,
jack_transport, or any other transport client application.

jpmidi> play

Get a list of supported commands with 'help'

jpmidi> help
connect      Connect to port [port num]. List if no arg is given.
disconnect   Disconnect from port [port num].
status       Display status.
channels     Display channel info.
sysex         Enable or disable sending of sysex messages <0|1>.
solo         Solo channel <0 | 1-16>. 0 disables solo.
mute         Mute channel <1-16>.
unmute       Unmute channel <1-16>.
play         Start transport rolling.
stop         Stop transport.
locate       Locate to frame <position>.
dump         Dump event info [tick count] [start tick].
exit         Exit jpmidi.
help         Display help text [<command>].

Ken Ellinwood