Subject: Re: More questions about /dev/music behaviour
To: Lennart Augustsson <lennart@mail.augustsson.net>
From: Gavan Fantom <gavan@coolfactor.org>
List: tech-kern
Date: 01/31/2001 23:38:01
On Wed, 31 Jan 2001, Lennart Augustsson wrote:

> > In sequencer.c, lines 732-735 (in version 1.15):
> >
> >         if (cmd == MIDI_NOTE_ON && parm == 0) {
> >                 cmd = MIDI_NOTE_OFF;
> >                 parm = MIDI_HALF_VEL;
> >         }
> >
> > What is the reason that we want to do this? Does OSS do this?
>
> Yes, this is what OSS does.  So the only reason we want it is to be compatible.
> But if you think it's broken, maybe we should remove it?

When talking about external MIDI hardware, this seems to make sense. I'm
not 100% sure about internal sythesizer devices (AWE32 and the like),
although I imagine they would behave in the same way.

As far as correctness is concerned, I don't think it does any harm. For
effeciency, I would be inclined to remove it.

OTOH... there's a similar conversion going on on the input side. This
leads me to wonder about the expectations of application software.

I wish I could find some documentation on the /dev/music API... even the
OSS document doesn't say much about it.



I see no reason to keep it there other than compatibility.



One other issue though... the handling of Running Status seems to be
slightly simplistic. There are a few exceptions and special cases that we
might want to deal with.

There's some detailed information on Running Status to be found at:

http://www.borg.com/~jglatt/tech/midispec.htm#Run

-- 
Gillette - the best a man can forget