[vox-tech] timidity

Mark K. Kim vox-tech@lists.lugod.org
Fri, 31 Oct 2003 10:28:55 -0800 (PST)


Sort of... but not really.

DOSEMU needs /dev/sequencer to play MIDI, but if you don't have
/dev/sequencer you can tie it to Timidity to simulate a MIDI device.  As
you mentioned, Timidity can be used as an Alsa sequencer client, but
DOSEMU gives an extra way to access Timidity if you don't have an Alsa
sequencer.

DOSEMU comes with a program called "midid."  You can launch Timidity as a
MIDI server on a TCP port (via the -ir option), then you can run midid on
that port and a named pipe.  If you send MIDI events to the named pipe, it
gets routed to Timidity's MIDI server by midid, and voila... you got a
MIDI sequencer simulator:

   $ mknod ~/.dosemu/run/dosemu-midi p
   $ timidity -ir 8080 -B 1000 &
   $ midid -p8080 ~/.dosemu/run/dosemu-midi

The only problem is midid is not a complete program.  It only seems to
work nicely with DOSEMU.  If you try to send a MIDI file directly to the
named pipe, it gives a warning about unimplemented reset MIDI message.

Looking at the midid sourcecode, though, it looks like it wouldn't be
terribly difficult to fudge the missing code.  It looks like you just need
to flush the input data so it ignores the unimplemented messages
(currently it seems to not flush the input data and just gets stuck in a
loop.)  MIDI is a pretty simple format; maybe you can take a shot at
fixing up midid.

DOSEmu homepage:

   http://www.dosemu.org/

-Mark


On Fri, 31 Oct 2003, Gabriel Rosa wrote:

>
> hey all,
>
> has anyone used timidity as a sequencer and have it bind to
> /dev/sequencer, so that normal midi apps could use it?
>
> i've used it as an alsa sequencer, but that requires alsa support in the
> application.
>
> -Gabe
> _______________________________________________
> vox-tech mailing list
> vox-tech@lists.lugod.org
> http://lists.lugod.org/mailman/listinfo/vox-tech
>

-- 
Mark K. Kim
AIM: markus kimius
Homepage: http://www.cbreak.org/
Xanga: http://www.xanga.com/vindaci
Friendster: http://www.friendster.com/user.jsp?id=13046
PGP key fingerprint: 7324 BACA 53AD E504 A76E  5167 6822 94F0 F298 5DCE
PGP key available on the website