Hi Robert,

> I "was" to develop osgAudio I would use osgAL/OpenAL as a template,
> much in the same way as you seem to be look at the topic.  I'd also
> see how SDL audio might map as this has cross platform audio support
> that might be reasonable implementation for non spaitialized sound.

And maybe we should have a look to some other libs too, such as SFML ( 
http://www.sfml-dev.org )?

> I would also try to keep things decoupled so items like a Manager
> would be something that is implementation dependent, rather that
> something that end user need worry about.

Sorry I don't understand. Do you mean you're in favor of my second idea (having 
a kind of priorirty for sounds that the plugin would use to automatically turn 
on/off sounds to fit the limitation of the number of sources)?

> I would have thought that
> one might be able to capture the camera position relative to
> listener/sound sources by using the existing cull traversal as the way
> to extract the required info to pass on to OpenAL.   Threading and
> multiple camera traversals might throw this a bit though...  so
> perhaps a standard alone audio traversal would be appropriate as one
> would only have one audio "context".  Perhaps the ideal would be to
> allow the viewer to run an audio thread that runs in parallel with the
> cull/draw traversal threads.

Having a separate thread sounds fine to me. CPU is not used enough for audio! 
Maybe a good occlusion computation would add immersion; so I think a separate 
thread is better. Should there be audio update and cull/"render" traverals for 
the viewer then?

> I am overloaded with my existing work so I can't take on any of this
> work myself, I'll happy cheer on from the side lines though.  I
> certainly want to see an osgAudio merged into the core OSG.  Perhaps a
> feature for OSG-2.10.
>
> Robert.

I'm also too busy to work on osgAudio, but I'd like to help as much as I can.


Sukender
PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/



> On Thu, Nov 27, 2008 at 1:37 PM, Sukender <[EMAIL PROTECTED]> wrote:
>> Hi Robert, hi everyone,
>>
>> I totally agree that we need an abstraction layer and plugins. So let's say 
>> "osgAudio" is that abstraction layer, and that "osgAL" is a future plugin 
>> based on the current osgAL work.
>> - What would be in the osgAudio then?
>> - Should we (and how could we do to) leave a degree of freedom to plugins so 
>> that users can access specific features (= not handled in osgAudio)?
>>
>> I guess osgAudio has to be very simple. Here are some of my ideas:
>> - As LightSources, there should be AudioSources nodes that we can position 
>> somewhere.
>> - AudioSource may be absolute (= heard everywhere = no distance attenuation 
>> = no culling).
>> - AudioSource should be attached to a Sound (= AudioData = buffer or stream 
>> + some parameters like doppler factor, gain, velocity...)
>> - Sound should be able to read many formats/codecs (PCM, Vorbis...)
>> - There should be a cache for sounds (for buffers but not for streams I 
>> guess!)
>> - The user may update the Sounds parameters on update traversal (mainly for 
>> the velocity - For me, the physics will drive this value)
>> - There should be Listeners, and the main Listener should be by default 
>> linked with the main camera (Is that easy to do?)
>> - Sounds may be occuled, but I wonder if it's better to add occulder 
>> "geometries" in the world, or set a specific flag on existing geometries to 
>> say they occult sounds.
>> Well this looks much like osgAL, but that's normal! However, I'd like to 
>> remove the presence of the osgAL manager if possible.
>>
>> About allocation/deallocation of internal sound buffers, I have two ideas:
>> 1. As for lights, the user is limited to a given number and he has to 
>> manually switch on/off those (s)he wants.
>> 2. This not be the matter of the user. Eventually (s)he could set their 
>> number, but not much more. The sources are given a base priority, which can 
>> be lowered if the sound is attenuated (= if listener is far). The 'n' most 
>> important AudioSources would then be active and the other inactive. 
>> Eventually, a parameter would have to say if AudioSources may or may not be 
>> stopped suring playing to leave another one play (= a more imporant one).
>>
>> Which one do you prefer? The second idea looks a little bit like the 
>> LightSourcesManager I wrote (that switch on the 8 most important lights), 
>> and that can easily be generalized. The advantage is simplicity for the 
>> user, and the drawback is that we then cannot remove the "osgAL manager" I 
>> told before.
>>
>> I hope this will help to see an osgAudio soon!
>>
>> Sukender
>> PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/
>>
>>
>> Le Thu, 27 Nov 2008 11:17:01 +0100, Robert Osfield <[EMAIL PROTECTED]> a 
>> écrit:
>>
>>> Hi Sukender,
>>>
>>> Previously I have looked at merging osgAL into svn/trunk, but on
>>> review of the code decided that a straight merge was inappropriate.
>>> For end user build simplicity OpenAL++ and osgAL would be best merged.
>>>
>>> The structure of an audio library for the core OSG are something I
>>> feel need abstraction from any specific audio implementation.  So in
>>> my ideal world an osgAudio library would provide the basic glue for
>>> adding audio into the scene graph, and the base classes that provide
>>> the hooks into the implementations, then implementations would be
>>> provided via plugins.   No such library currently exists so it'd have
>>> to be written.   The need for abstraction is required to ensure that
>>> future portability to embedded platforms isn't hampered by large extra
>>> dependencies.
>>>
>>> Robert.
>>>
>>> On Wed, Nov 26, 2008 at 10:40 PM, Sukender <[EMAIL PROTECTED]> wrote:
>>>> Hi all,
>>>>
>>>> I'd like to know who's interested in audio for OSG:
>>>> - Who would like to use it?
>>>> - Who would like to see some osgAudio included in OSG?
>>>> - Who would like to develop such a thing?
>>>>
>>>> Well, actually I use osgAL, that depends on OpenAL and OpenAL++ (and Ogg 
>>>> and Vorbis if needed). It can do interesting things, including spatialized 
>>>> audio.
>>>> I'd really like to see osgAL included in OSG but its author is not that 
>>>> active (he told me!) and I guess there is some work to be done before 
>>>> this. And to begin, the CMake build system for it (Compiling it was not 
>>>> that easy).
>>>>
>>>> But I also have to say that compiling OpenAL under Win32 was a PAIN (much 
>>>> more than osgAL), because I could not find TWO IDENTICAL libs that were 
>>>> structured the same way. I finally compiled from 
>>>> svn://connect.creativelabs.com/OpenAL/trunk, and I had to tweak the 
>>>> project files to fit my needs:
>>>> - Added 'd' as debug suffix.
>>>> - Added Win32 libs (because I'm using an Express version of VC).
>>>> - Manually deployed the binaries by copying them at the right spot.
>>>> Moreover, OpenAL needs DirectSound under Windows (!!!), so I also needed 
>>>> the DirectX SDK...
>>>>
>>>> If someone is ready to cleanup/structure/merge into OSG... PLEASE DO IT! :)
>>>>
>>>> Also feel free to tell anything interesting about audio in OSG. Maybe are 
>>>> there interesting cross-platforms and open-source libs? Thread's started!
>>>>
>>>> Sukender
>>>> PVLE - Lightweight cross-platform game engine - 
>>>> http://pvle.sourceforge.net/
>>>> _______________________________________________
>>>> osg-users mailing list
>>>> [email protected]
>>>> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to