Ross--
The OSS interface will be similar to what you're used to, but you
don't want to use it. :-)
There are tutorials on the
www.alsa-project.org page, including one
that uses a callback-based style (which is what you want). However,
as Paul has hinted, the best way to proceed with an SC port is to
target JACK (a callback-based, super-low-latency audio server) as your
audio "device". Since the OS X version of SC likely uses CoreAudio (a
callback-based library) and since the source for prior versions is
unavailable, you may be able to do the port of the audio engine
straightforwardly. Find JACK at
http://jackit.sf.net. If the
callback style is unfamiliar to you and you need more code to look at,
check out
http://www.portaudio.com for more callback-based examples.
Building a compatibility layer would be tougher IMHO than modularizing
the SC code (if it isn't already) and implementing different "audio
drivers".
The GUI may also not be as bad as we might initially assume. The
GNUStep project seeks some level of source-compatibility with Cocoa
and NeXT applications, IIRC. Check them out at
http://www.gnustep.org.
Hopefully, I haven't made too many mistakes here. :-) If I have, I'm
sure someone will correct them. Good luck!
best,
wb
--
Will Benton | "Die richtige Methode der Philosophie wäre eigentlich
willb(a)acm.org | die: Nichts zu sagen, als was sich sagen läßt...."