Hi Jason,

On Tue, Jan 19, 2010 at 8:43 PM, Jason Daly <[email protected]> wrote:
> If I were to implement an OpenAL AudioSink, I'd imagine you'd want it to be
> a plugin (so the OSG can still be compiled without OpenAL).  How would you
> envision this plugin being tied in to the core?    I started on an OpenAL
> plugin last week, but I hit a wall when trying to figure out how to do this.
>
> The ReaderWriter interface works great for file-based plugins, but the
> AudioSink seems like it's different enough that a new kind of interface is
> needed.  Do you agree?  If so, would this interface also live in osgDB?
>  Would it be part of Registry, like ReaderWriter, DotOsgWrapper, etc.?
>
> Any other thoughts?

I have been thinking about the potential of an osgAudio library that
abstracts away from the implementation details of OpenAL and keeps the
door open to multiple implementations, and then within this have some
form of registration of the audio implementation, then the audio
implementations would plugin in to this, or like osgViewer just be
built into the osgAudio library.  osgViewer and it's handling of
GraphicsWindow implementation might be a reasonable model for this.

An straight audio sink is rather more straight forward than this
though... so perhaps one could just have a slimline
AudioSystemInterface/Factory class a bit like
osg::GraphicsContext::WindowingSystemInterface singleton and then have
this be where you register your scheme for implementing the AudioSink.
 Then in the plugins that need an audio sink it can go to this
singleton and grab and implementation.  The plugin might also use
osgDB to load a plugin to force the registration of a implementation
of a AudioSystemInterface.  Such an approach would be easier to graft
on than writing a full blown osgAudio library.

Robert.



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

Reply via email to