#include <sequenceplayeraudiooutput.h>
Public Member Functions | |
SequencePlayerAudioOutput (SequenceService &service) | |
bool | init (utility::ErrorState &errorState) override |
void | onDestroy () override |
virtual const std::vector< rtti::ObjectPtr< audio::AudioBufferResource > > & | getBuffers () const |
void | connectInputPin (audio::InputPin &inputPin, int channel) |
void | disconnectInputPin (audio::InputPin &inputPin, int channel) |
audio::OutputPin * | getOutputForChannel (int channel) |
int | getChannelCount () const |
![]() | |
SequencePlayerOutput (SequenceService &service) | |
~SequencePlayerOutput () override=default | |
![]() | |
Resource () | |
![]() | |
Object () | |
virtual | ~Object () |
Object (Object &)=delete | |
Object & | operator= (const Object &)=delete |
Object (Object &&)=delete | |
Object & | operator= (Object &&)=delete |
Public Attributes | |
std::vector< ResourcePtr< audio::AudioBufferResource > > | mAudioBuffers |
Property: 'Audio Buffers' resource pointers to audio buffers. More... | |
bool | mManualRouting = false |
Property: 'Manual Routing' if output should directly output Audio to AudioDevice as selected in AudioService. More... | |
int | mMaxChannels = 8 |
Property: 'Max Channels' maximum number of audio channels should use. More... | |
![]() | |
std::string | mID |
Property: 'mID' unique name of the object. Used as an identifier by the system. More... | |
Protected Member Functions | |
void | update (double deltaTime) override |
Additional Inherited Members | |
![]() | |
static bool | isIDProperty (rtti::Instance &object, const rtti::Property &property) |
![]() | |
SequenceService * | mService = nullptr |
The SequencePlayerAudioOutput is responsible for translating updates from SequencePlayerAudioAdapters to appropriate calls to audio::MultiSampleBufferPlayerNodes. When an adapter registers itself to the SequencePlayerAudioOutput multiple MultiSampleBufferPlayerNodes are created, each adapter gets its own MultiSampleBufferPlayerNode for each AudioBufferResource. All MultiSampleBufferPlayerNodes output pins are connected to MixNodes owned by the SequencePlayerAudioOutput. You can connect your own Node inputPins to the appropriate outputPins using connectPinaudio::InputPin& inputPin, int channel) or getOutputForChannel(int channel). When mCreateOutputNodes is set to true, the SequencePlayerAudioOutput will create it's own OutputNodes routing the audio to the selected audio interface by the AudioService.
SequencePlayerAudioOutput | ( | SequenceService & | service | ) |
Constructor
service | reference to service |
void connectInputPin | ( | audio::InputPin & | inputPin, |
int | channel | ||
) |
Connect an inputPin to one of the SequencePlayerAudioOutput channels. Assert when channel index is out of bounds.
inputPin | reference to audio::inputPin |
channel | the channel to connect to |
void disconnectInputPin | ( | audio::InputPin & | inputPin, |
int | channel | ||
) |
Disconnect an inputPin from one of the SequencePlayerAudioOutput channels. Assert when channel index is out of bounds.
inputPin | reference to audio::inputPin |
channel | the channel to connect to |
|
virtual |
Returns a const reference to a vector of ObjectPointers to audio buffer resources
int getChannelCount | ( | ) | const |
Returns amount of channels
audio::OutputPin* getOutputForChannel | ( | int | channel | ) |
Returns OutputPin for given channel. Assert when channel index is out of bounds.
channel |
|
overridevirtual |
Initialization function
errorState | contains any errors |
Reimplemented from SequencePlayerOutput.
|
overridevirtual |
called before deconstruction of the resource
Reimplemented from SequencePlayerOutput.
|
overrideprotectedvirtual |
inherited update function, called from sequence service
deltaTime |
Reimplemented from SequencePlayerOutput.
std::vector<ResourcePtr<audio::AudioBufferResource> > mAudioBuffers |
Property: 'Audio Buffers' resource pointers to audio buffers.
bool mManualRouting = false |
Property: 'Manual Routing' if output should directly output Audio to AudioDevice as selected in AudioService.
When set to false the SequencePlayerAudioOutput will create the necessary output nodes to route audio to the selected playback device by AudioService
int mMaxChannels = 8 |
Property: 'Max Channels' maximum number of audio channels should use.
Maximum output channels, the SequencePlayerAudioOutput cannot play AudioFiles with more then this amount of channels