On Sat, 11 Jan 2003, Ryan Pavlik wrote:
> On Sat, 11 Jan 2003 20:50:49 -0500
> Paul Davis <[EMAIL PROTECTED]> wrote:
> >
> > i would have thought that the mtpav driver should do the same
> > thing. if you want to access all 8 ports, you should have 8 access
> > points (whether this is via the seq
>That's what drivers are for. ;) The ALSA sequencer shouldn't have to
>know of course, but the driver should be able to handle it, and the
>architecture should allow a working driver.
i'd agree with that.
>> another example of this that i know a bit more about is on the
>> tropez+. this has two
On Sat, 11 Jan 2003 15:46:15 +0100 (CET)
Jaroslav Kysela <[EMAIL PROTECTED]> wrote:
> ALSA driver should handle this correctly (at least current CVS code).
> The write sequence is locked.
Hrm, I'll check through the code---after playing with it, it doesn't
appear things are 100% yet. I had dece
On Sat, 11 Jan 2003 18:31:51 -0500
Paul Davis <[EMAIL PROTECTED]> wrote:
> not really. the mtpav is a "non-standard" device that uses special
> values in the datastream to switch its output port. the ALSA sequencer
> can't know this, and so it can't have any idea that strange things are
> happeni
>> i'm afraid its an entirely acceptable solution, and its the same one
>> required by many other non-audio, non-MIDI device types. if you have
>> multiple threads writing to a disk-file, for example, and they
>> interleave their calls to write(2), you will get mixed up data on
>> disk.
>
>Actually
>That is, of course, not an acceptable solution, and it also doesn't
>work when you're using the ALSA sequencer interface (at least from the
>API calls I've seen). Fixing it in the driver requires interpreting
>much MIDI, possibly buffering, and has some problems (what if someone
>writes an incomp
Basically, the problem is this. The MTP/AV protocol takes messages
like this:
Dn B1 ... Bn
Where Dn is the device number, and B1..Bn are the midi message bytes.
This, at least, is what I gather from talking to Michael Mayers, the
original driver developer.
You may see the problem now. When