On Sun, 11 Mar 2001, Stuffed Crust wrote:
> On Sun, Mar 11, 2001 at 09:58:35AM +0100, Christoph Reichenbach wrote:
> > Is flushing only relevant for programming the MT-32?
>
> Yes; but even then it's only necessary for SysEx programming.
>
> > If so, I'd suggest we do the thing proposed (on IRC, I think) and add
> > flushing as a midiout driver API function, to be used explicitly when
> > programming the MT-32.
>
> That was added in my last commit -- but one thing worth mentioning is
> that I had already added in delays to the sysex code; it already delays
> for the amount of time it would take to write the entire message.
>
> I added it because despite the O_SYNC on the unixraw open(), I was
> getting Rx buffer overflows on my MT-32. So who knows.
>
> - Pizza
>
I don't think the kernel-drivers really care about O_SYNC on rawmidi, at
least it didn't use to in 2.3.x.
All the usleep things look quite bizarre in my eyes. MT-32 spec. says wait
more than 20ms after SysEx block... but pragmatism always wins. Feel free
to think about it.
midiout_flush();
midi_mt32_sysex_delay();
worked fine for me.
I suggest we move the delay procedure to the midiout_layer, if we do we
could probably use the midi_ layer to produce midi files to.
--
/Rickard Lind