Hi,

> > 1) Copy the code out of playmidi and pmidi (both are GPL'd) and adjust
> > it to our purposes
> > 2) fork() and execvp() playmidi, timidity, or pmidi
> 
> Both.  It wouldn't be terribly difficult to create a midi_sequencer
> driver

Agreed; it's mostly done (ossseq).

>, and once we have FreeSCI spitting out /dev/sequencer commands,
> it becomes pretty easy to pipe them into TiMidity++ in *realtime*

That would mean running timidity as a server (timidity -ir), or what are
you thinking of?
I don't know whether Timidity supports single MIDI events in this mode...

[...]

> b) in the case of piping the output into timidity++, we can maintain
>    "perfect" synchronization, and hell, even get /dev/sequencer support.

I was thinking along the lines of actually piping the data into Timidity
there. This is totally different from what we're doing now.

> > (c) is particularly nasty. Using /dev/mixer or an equivalent may well
> > backfire- especially for timidity- once we have sound effects to play.
> 
> We could just handle it via munging the note velocities, just like the
> fading is handled now.  It would be all of three additional lines of
> code.

Again, that would work for a /dev/sequencer recipient and maybe for a
MIDI server, but not for a pipe destination (we tried that...)


llap,
 Christoph

Reply via email to