Skip to main content
Version: 2.x

FOdinSoundGenerator

FOdinSoundGenerator

An implementation of ISoundGenerator that pulls audio data from an Odin decoder and provides it to the Unreal Audio Engine.

Declaration
class ODIN_API FOdinSoundGenerator : public ISoundGenerator
  • Header: #include "OdinAudio/OdinSoundGenerator.h"
  • Module: Odin
  • Inherits from: ISoundGenerator

Overview​

Functions​

NameDescription
ResetConnectedDecoder
SetOdinDecoderSets the Odin decoder instance used to fetch audio data.
CloseCloses the generator and stops audio processing.
AddAudioBufferListenerAdds a listener that will receive the raw audio buffers generated by this instance.
RemoveAudioBufferListenerRemoves a previously added audio buffer listener.
GetDesiredNumSamplesToRenderPerCallbackReturns the number of samples the generator prefers to render per callback.
OnBeginGenerateCalled on audio generator thread right when the generator begins generating.
OnGenerateAudioCalled when a new buffer is required by the audio engine.
OnEndGenerateCalled on audio generator thread right when the generator ends generating.
IsFinishedChecks if the sound generator has finished its playback.

Constructors​

FOdinSoundGenerator();

Functions​

ResetConnectedDecoder​

void ResetConnectedDecoder();

SetOdinDecoder​

Sets the Odin decoder instance used to fetch audio data.

void SetOdinDecoder(UOdinDecoder* InDecoder);
ParameterTypeDescription
InDecoderUOdinDecoder*The UOdinDecoder to pull audio from.

Close​

Closes the generator and stops audio processing.

void Close();

AddAudioBufferListener​

Adds a listener that will receive the raw audio buffers generated by this instance.

void AddAudioBufferListener(const TWeakPtr<IAudioBufferListener>& InAudioBufferListener);
ParameterTypeDescription
InAudioBufferListenerconst TWeakPtr<IAudioBufferListener>&A weak pointer to the listener interface.

RemoveAudioBufferListener​

Removes a previously added audio buffer listener.

void RemoveAudioBufferListener(const TWeakPtr<IAudioBufferListener>& InAudioBufferListener);
ParameterTypeDescription
InAudioBufferListenerconst TWeakPtr<IAudioBufferListener>&A weak pointer to the listener to remove.

GetDesiredNumSamplesToRenderPerCallback​

Virtual · Const · Override

Returns the number of samples the generator prefers to render per callback.

virtual int32 GetDesiredNumSamplesToRenderPerCallback() const override;

Returns int32 – The preferred number of samples.

OnBeginGenerate​

Virtual · Override

Called on audio generator thread right when the generator begins generating.

virtual void OnBeginGenerate() override;

OnGenerateAudio​

Virtual · Override

Called when a new buffer is required by the audio engine.

virtual int32 OnGenerateAudio(float* OutAudio, int32 NumSamples) override;
ParameterTypeDescription
OutAudiofloat*The buffer to fill with audio data.
NumSamplesint32The number of samples requested.

Returns int32 – The number of samples actually generated.

OnEndGenerate​

Virtual · Override

Called on audio generator thread right when the generator ends generating.

virtual void OnEndGenerate() override;

IsFinished​

Virtual · Const · Override

Checks if the sound generator has finished its playback.

virtual bool IsFinished() const override;

Returns bool – True if finished, false otherwise.