The IAudioSource graph node interface. More...

#include "murl_graph_i_audio_source.h"

Inheritance diagram for Murl::Graph::IAudioSource:

Public Member Functions

virtual INodeGetNodeInterface ()=0
 Get the mutable Graph::INode interface. More...
 
virtual const INodeGetNodeInterface () const =0
 Get the constant Graph::INode interface. More...
 
virtual IAudioResourceTargetGetAudioResourceTarget ()=0
 Get a mutable Graph::IAudioResourceTarget container. More...
 
virtual const IAudioResourceTargetGetAudioResourceTarget () const =0
 Get a constant Graph::IAudioResourceTarget container. More...
 
virtual Bool SetBufferType (IEnums::BufferType type)=0
 Set the audio node's buffer type. More...
 
virtual IEnums::BufferType GetBufferType () const =0
 Get the audio node's buffer type. More...
 
virtual Double GetDuration () const =0
 Get the duration of the audio object. More...
 
virtual IAudioStreamAcquireAudioStream ()=0
 Get the audio node's audio stream. More...
 
virtual Bool ReleaseAudioStream (IAudioStream *stream)=0
 Release a previously acquired audio stream. More...
 
virtual Audio::IBufferCreateAudioBuffer (Audio::IRenderer *renderer) const =0
 Create a suitable audio buffer for optimal decoding. More...
 

Detailed Description

The IAudioSource graph node interface.

This interface represents a node referencing a read-only Resource::IAudio object, which can be played back by assigning it to one or more individual Graph::IAudioSequence nodes.

Member Function Documentation

◆ GetNodeInterface() [1/2]

virtual INode* Murl::Graph::IAudioSource::GetNodeInterface ( )
pure virtual

Get the mutable Graph::INode interface.

This method returns a mutable pointer to the node's Graph::INode interface, to be able to query or modify common node properties such as active state, visibility or ID.

Returns
The mutable Graph::INode interface, or null if not available

◆ GetNodeInterface() [2/2]

virtual const INode* Murl::Graph::IAudioSource::GetNodeInterface ( ) const
pure virtual

Get the constant Graph::INode interface.

This method returns a constant pointer to the node's Graph::INode interface, to be able to query common node properties such as active state, visibility or ID.

Returns
The constant Graph::INode interface, or null if not available

◆ GetAudioResourceTarget() [1/2]

virtual IAudioResourceTarget* Murl::Graph::IAudioSource::GetAudioResourceTarget ( )
pure virtual

Get a mutable Graph::IAudioResourceTarget container.

This method returns a mutable pointer to a Graph::IAudioResourceTarget container, which allows to add, remove or query the audio resources referenced by a node implementing this interface.

Returns
The mutable Graph::IAudioResourceTarget container, or null if not available

◆ GetAudioResourceTarget() [2/2]

virtual const IAudioResourceTarget* Murl::Graph::IAudioSource::GetAudioResourceTarget ( ) const
pure virtual

Get a constant Graph::IAudioResourceTarget container.

This method returns a constant pointer to a Graph::IAudioResourceTarget container, which allows to query the audio resources referenced by a node implementing this interface.

Returns
The constant Graph::IAudioResourceTarget container, or null if not available

◆ SetBufferType()

virtual Bool Murl::Graph::IAudioSource::SetBufferType ( IEnums::BufferType  type)
pure virtual

Set the audio node's buffer type.

Parameters
typeThe buffer type.
Returns
true if successful.

◆ GetBufferType()

virtual IEnums::BufferType Murl::Graph::IAudioSource::GetBufferType ( ) const
pure virtual

Get the audio node's buffer type.

Returns
The buffer type.

◆ GetDuration()

virtual Double Murl::Graph::IAudioSource::GetDuration ( ) const
pure virtual

Get the duration of the audio object.

Returns
The duration in seconds.

◆ AcquireAudioStream()

virtual IAudioStream* Murl::Graph::IAudioSource::AcquireAudioStream ( )
pure virtual

Get the audio node's audio stream.

Returns
The audio stream.

◆ ReleaseAudioStream()

virtual Bool Murl::Graph::IAudioSource::ReleaseAudioStream ( IAudioStream stream)
pure virtual

Release a previously acquired audio stream.

Parameters
streamThe audio stream to release
Returns
true if successful.

◆ CreateAudioBuffer()

virtual Audio::IBuffer* Murl::Graph::IAudioSource::CreateAudioBuffer ( Audio::IRenderer renderer) const
pure virtual

Create a suitable audio buffer for optimal decoding.

An audio source may provide special audio buffers that are better suited for optimal decoding than the standard buffers created via an audio renderer. If no special buffer is needed, this method returns a null pointer, and a standard buffer should be created in the usual way. If this method returns a valid pointer, the returned buffer can be used just like a standard one, including destruction via the renderer.

Parameters
rendererThe audio renderer used for creation.
Returns
A pointer to a special buffer, or null if not needed.

The documentation for this interface was generated from the following file:
  • murl_graph_i_audio_source.h


Copyright © 2011-2024 Spraylight GmbH.