Tree [a38876] default v1.5.0 /
History



File Date Author Commit
.hgtags 2000-04-30 Steve Ratcliffe Steve Ratcliffe [0463d5] Create tag v1.4.1
COPYING 1999-09-18 Steve Ratcliffe Steve Ratcliffe [0634e0] Updated readme and added missing COPYING file.
ChangeLog 2000-10-07 Steve Ratcliffe Steve Ratcliffe [a38876] Tidy up for relase 1.5.0
Makefile 2000-10-07 Steve Ratcliffe Steve Ratcliffe [a38876] Tidy up for relase 1.5.0
README 2000-10-07 Steve Ratcliffe Steve Ratcliffe [a38876] Tidy up for relase 1.5.0
elements.c 2000-01-30 Steve Ratcliffe Steve Ratcliffe [6652d0] The changes from the 1.3 series merged into the...
elements.h 1999-06-07 Steve Ratcliffe Steve Ratcliffe [b2663e] resynced to melys
except.c 2000-01-30 Steve Ratcliffe Steve Ratcliffe [6652d0] The changes from the 1.3 series merged into the...
except.h 1999-05-25 Steve Ratcliffe Steve Ratcliffe [91cb2f] Added stand alone glib code, so that it is not ...
glib.c 1999-05-26 Steve Ratcliffe Steve Ratcliffe [5aad6e] Changes to complete implementation and implemen...
glib.h 1999-06-11 Steve Ratcliffe Steve Ratcliffe [f4b21b] Tempo fix for type 0 files. System timer event...
intl.h 1999-06-08 Steve Ratcliffe Steve Ratcliffe [f123c8] remove pointless i18n stuff
make.conf 2000-10-07 Steve Ratcliffe Steve Ratcliffe [f0f476] Track change to ALSA api made on 29 Sep 2000. ...
md.h 1999-05-24 Steve Ratcliffe Steve Ratcliffe [8b5286] #first checkin
mdutil.c 2000-01-30 Steve Ratcliffe Steve Ratcliffe [6652d0] The changes from the 1.3 series merged into the...
midi.h 1999-05-25 Steve Ratcliffe Steve Ratcliffe [91cb2f] Added stand alone glib code, so that it is not ...
midiread.c 2000-03-05 Steve Ratcliffe Steve Ratcliffe [349abc] Tidy up the meta event processing by putting th...
pmidi.1 2000-10-07 Steve Ratcliffe Steve Ratcliffe [a38876] Tidy up for relase 1.5.0
pmidi.c 2000-10-07 Steve Ratcliffe Steve Ratcliffe [f0f476] Track change to ALSA api made on 29 Sep 2000. ...
pmidi.spec 2000-10-07 Steve Ratcliffe Steve Ratcliffe [a38876] Tidy up for relase 1.5.0
seqlib.c 2000-10-07 Steve Ratcliffe Steve Ratcliffe [f0f476] Track change to ALSA api made on 29 Sep 2000. ...
seqlib.h 2000-01-30 Steve Ratcliffe Steve Ratcliffe [51d987] Merged in from the 1.3 series to the main trunk.
seqmidi.c 2000-01-30 Steve Ratcliffe Steve Ratcliffe [6652d0] The changes from the 1.3 series merged into the...
seqpriv.h 1999-06-07 Steve Ratcliffe Steve Ratcliffe [3fffa4] type fix for latest alsa-lib

Read Me

This is pmidi - a command line midi player for ALSA

Written by Steve Ratcliffe <steve@parabola.demon.co.uk>
Web: http://www.parabola.demon.co.uk/alsa/pmidi.html
Web: http://sourceforge.net/projects/pmidi

See the file COPYING for licence details.

Build and install
-----------------

You should be able to just type 'make'.  All configuration variables
are in make.conf if you need to change anything.

By default it will install into /usr/local/bin, change INSTDIR in
make.conf to change this.

If you see the error refering to 'snd_seq_stop_output' then try re-building
as:
	make USE_DRAIN=''

Before use
----------

1.   First check that the correct sequencer modules are
	 loaded for your sound card. For a card with an external
	 Midi connection, you need to load snd-seq-midi.
	 For the AWE32/64 internal synthesizer you need to
	 load snd-synth-emu8000. 
	 For the SB Live! internal synthesizer you need to
	 load snd-synth-emu10k1.
	 (Let me know of any more)

2.   If you have an AWE32/64 or SB Live! you will need to load the
	 sounds with sfxload in the same way as for the standard kernel
	 drivers. 

3.   Make sure that the synth in the mixer is turned
	 up and unmuted if appropriate. 


Usage
-----

	pmidi [-p client:port ...] [-l] [-d delay] file ...

	  -p client:port  - A alsa client and port number to send midi to
	  -l              - List possible output ports that could be used
	  -d delay        - Delay after song ends (default 2 sec)


Because you may have more than one sound card and each sound
card may have several MIDI connections, you have to tell pmidi
which one to use.

First find out what the possibilities are for your system:

If you run: 
	
	pmidi -l 

it will give you a list of the possible devices that it
can play to. On my system I get: 
	
	 Port     Client name                       Port name 
	 64:0     0: MIDI Synth                     MIDI 0-0 
	 65:0     AWE Wave Table Synth : 0          Emu8000 port 0 
	 65:1     AWE Wave Table Synth : 0          Emu8000 port 1 
	 65:2     AWE Wave Table Synth : 0          Emu8000 port 2 
	 65:3     AWE Wave Table Synth : 0          Emu8000 port 3 

Any of the port numbers in the first column can be used with pmidi. In
the example above the first one is the external Midi port, and the other
four are the internal wavetable synthesizer.

If you don't see anything listed then check that the correct ALSA modules
are loaded as in the section "Before use".

Running pmidi
-------------

You specify the port or ports to use with the -p option,
or by setting the environment variable ALSA_OUTPUT_PORTS. 

For example to use port 0 on client 65: 
	
	pmidi -p 65:0 song.mid 

or 
	
	export ALSA_OUTPUT_PORTS=65:0 
	pmidi song.mid 


A list of client ports can be supplied, which will be used
if the midi file contains port select sequences. 
	
	pmidi -p 65:0,65:1,65:2,65:3 song.mid 

You can also use spaces to separate with suitable quoting
on the command line. 

Acknowledgements
----------------

Thanks to Frank van de Pol, Takashi Iwai and Paul Leonard
for reporting problems and patches. 

Where to report bugs and feedback
---------------------------------

Please report any problems to steve@parabola.demon.co.uk