Re: RFC: GSound, a GObject library for playing system sounds




On 4 Dec 2014, at 8:09 pm, Richard Hughes <hughsient gmail com> wrote:
has anybody done an assessment of the similarities between DirectSound
and canberra? how do these API map to each other? can we do a layer
that is the minimal intersection between the two (and whatever MacOS
has) and still be useful?

That is a good question and one I'm not qualified to answer. Anyone?


From what I understand, DirectSound and GSound aren’t at all comparable; DirectSound is a low-level 3-d audio 
API along the lines of ALSA or OpenAL, whereas GSound is a higher-level API which calls into this layer (via 
libcanberra). What would need to happen is for GSound (or rather, libcanberra) to gain a 
DirectSound/CoreAudio backend. Canberra already has multiple backends (selectable at runtime), and ships with 
Pulse, ALSA and GStreamer drivers — in principle, the GStreamer driver could be used on Windows and Mac OS, 
although obviously that's a rather heavyweight dependency.

Alternatively, a few minutes of Googling has turned up that Mac OS has its own high level sound playing API, 
coincidentally called NSSound[0], which has a broadly similar focus. So it might be possible for GSound (or 
GTK) to use NSSound on the Mac. I don’t know whether Windows also has a similar high-level “just play this 
sound and I don’t care how” API, but I’ll do some research.

Tristan


[0] 
https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSSound_Class/index.html


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]