Re: [linux-audio-dev] MidiShare Linux

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] MidiShare Linux
From: Benno Senoner (sbenno_AT_gardena.net)
Date: Wed Jul 19 2000 - 11:31:13 EEST


On Wed, 19 Jul 2000, Paul Barton-Davis wrote:
> >MidiShare is a multi-platforms musical operating system developed
> >since 1989 b y the Grame's Computer Music Research
> >Laboratory. Originally developed on the Macintosh, then adapted to
> >different platforms, it is now available on GNU/Lin ux since a few
> >time under the LGPL license.
>
> I want to encourage everyone on the list (especially Benno) who is
> interested in using lock-free data structures to take a look at

Why just especially me ?
Did I generate too much fuzz with the sampler issues ?
:-)
(yea, no one single mutex only thread shared mem and lock free fifos,
works like a charm (but Stephane is still reporting crashes when sending
fast subsequent note events (using MIDIshare :-) ) , hopefully we can
fix the problem soon because I am unable to reproduce the crashes here.

> MidiShare. The folks at GRAME (Yann, Stephan and Dominic) have done a
> *MUCH* more thorough job in this area that anyone on this list, as far
> as I can tell. The only downside I can see in some of their work is
> that it uses assembler for the lock-free fifo's.

I do not know much of the Midishare design yet,
(I gave it only a quick look at the general infos sometime ago),
but it would be interesting to see if it fits well into my proposed
"manual audio process scheduler" model.
Hopefully the MIDI share event system is lean and fast , so we could
run the MIDI share "server" (correct me if I am wrong), for calling
callbacks of the apps (all should run within the same process space
to avoid scheduling overhead) when MIDI events occur.
As for assembly programming: just provide a C version of the
routines too, so that on x86 users can enjoy it too.

MIDIshare experts , what do you think ?

Notice with my proposed model you do not need kernel support:
simply fire up one dedicated SCHED_FIFO thread which accesses
the MIDI devices exclusively and then collect and dispatch events
around by calling the appropriate callbacks.
I think that this is one of the few possibilities to ensure that we can
get MIDI even resolution down to the wirespeed level, even under high
load.

Benno.


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Wed Jul 19 2000 - 11:19:08 EEST