[nas] nas on Mac OS X?

Jon Trulson jon at radscan.com
Sun Jan 23 22:01:28 MST 2011


On Sat, 22 Jan 2011, Raymond Toy wrote:

> On 1/22/11 7:41 AM, Erik Auerswald wrote:
>> Hello Ray,
>>
[...]

>>> I saw the mailing list messages about nas not building on OSX.  I did
>>> get all the client stuff building on OSX, but I think I'm missing the
>>> server part.
>> Did you have to change anything to get clients building?
> Yes.  In config/NetAudio.tmpl, I added -lXau to the AUDIOLIBS line.
> After that, all the clients linked.  They appear to run, but without a
> server on OSX, I can't test.  And I'm also having some problems getting
> ssh forwarding of the nas ports from my OSX box to my linux box so that
> I can run the client on OSX and the server on linux to listen to the audio.

   NetAudio.tmpl?  I think that should instead be a libaudio dependancy
   in lib/audio/Imakefile

   See lines 147-151.  Probably just need to proper defined() added to
   the #if statement to set the XAULIB dependancy...?

   REQUIREDLIBS probably also needs to be set (line 158).

   What *Architecture define is set for OSX?

>>> Does that exist?  If not, what would it take to make a server?  I do
>>> have portaudio working nicely on OSX, but I'd like a network-aware sound.
>> You would probably need a MacOS X specific server/dda/ part. Currently
>> there is support for HP-UX, IRIX, Solaris and OSS/Voxware (BSD, Linux,
>> ...).
> Is there a document that describes what's needed to write one?  I wasn't
> thinking of writing a direct interface to OSX audio, but using portaudio
> as the interface between nas and OSX audio.

   Nope, no server writing docs...  Look at the voxware and sun
   servers.

   Basically, there are certain functions that have to be written for
   each server.  A low-level API that supports asynchronous events
   and/or callbacks, or non-blocking IO is preferable for a nasd
   implementation.  I believe portaudio and CoreAudio both provide
   those.

   Then the appropriate magic in:

   server/Imakefile
   and probably server/dia/auservertype.h

   dia/ should be ok aside from that.  dda/ is where the real magic
   happens.

   If you go with the portaudio route, please just create a 'generic'
   (OS neutral) dda/portaudio/ server that can then be used on any
   portaudio supported system in the future.  This would then make it
   'easier' to perhaps provide a native windows nasd using MinGW in the
   future... :)

   If you go the CoreAudio route, then a platform specific server
   (dda/macosx/) would be appropriate.

   Let me know if I can answer any questions.  If you want to buy me a
   Mac, I'll be more than happy to do it myself. :)


-- 
Jon Trulson                      | A828 C19D A087 F20B DFED
mailto:jon at radscan.com           | 67C9 6F32 31AB E647 B345

"When the Moon is in the Seventh House, and Jupiter aligns with Mars,
  then peace will guide the planets, and love will steer the stars."
             - "Aquarius", The 5th Dimension





More information about the Nas mailing list