On Wednesday, June 6, 2001, at 05:00 AM, Francois Dechelle wrote:
Yes, it was a very interesting discussion.

I've already used part of the Apple API, namely the HAL (Hardware Abstraction
Layer) for a first rought porting of jMax to Mac OS X. It is based on callbacks,
the callback being called in a separate thread (this is not documented at all).

Yes, it is only slightly better documented for MIDI events, which are also delivered
through a callback in a mach real-time thread. They do have some nice features
in the Cocoa framework (NSPort, NSPortMessage) which allow for one to specify
the object and method to be called in the main thread to receive delivery of the
events. These are processed in the main event loop.
There is something that is not clear from what I read: is the "AudioUnit" API
for inter-applications communications, or is it a plug-in API ? It looks
more like a plug-in API.


It seems to be more of a plug-in architecture. There seems to be a lot of higher
level stuff planned that is currently not documented.

The most interesting thing, IMHO, in what has being discussed yet about LAAGA,
is the idea of inter-applications (i.e. inter-process) audio interchange. As far
as I know, the only system on which this has already existed is BeOS.
Does anybody know more about it ?

Well, I'm currently employed by someone to port an app from BeOS to Linux, and
I can say that the pervasive threading model of BeOS poses some challenges,
especially in the windowing code (every view in Be runs in it's own thread).
I've looked at their MIDI stuff and wrote some wrappers to emulate their API's
on top of ALSA, but I haven't dealt much with audio. I'll have a look and see if
there are any overlooked concepts.

Thomas

Reply via email to