ice_engine::audioΒΆ

namespace ice_engine::audio
class AudioFactory
#include <AudioFactory.hpp>

Public Static Functions

static std::unique_ptr<IAudioEngine> createAudioEngine(utilities::Properties *properties, fs::IFileSystem *fileSystem, logger::ILogger *logger)
class AudioSceneHandle : public ice_engine::handles::Handle<AudioSceneHandle>
#include <AudioSceneHandle.hpp>
class IAudio
#include <IAudio.hpp>

Subclassed by ice_engine::Audio

Public Types

enum Format

Values:

enumerator FORMAT_UNKNOWN
enumerator FORMAT_AUDIO_S8
enumerator FORMAT_AUDIO_U8
enumerator FORMAT_AUDIO_S16LSB
enumerator FORMAT_AUDIO_S16MSB
enumerator FORMAT_AUDIO_S16SYS
enumerator FORMAT_AUDIO_S16
enumerator FORMAT_AUDIO_U16LSB
enumerator FORMAT_AUDIO_U16MSB
enumerator FORMAT_AUDIO_U16SYS
enumerator FORMAT_AUDIO_U16
enumerator FORMAT_AUDIO_S32LSB
enumerator FORMAT_AUDIO_S32MSB
enumerator FORMAT_AUDIO_S32SYS
enumerator FORMAT_AUDIO_S32
enumerator FORMAT_AUDIO_F32LSB
enumerator FORMAT_AUDIO_F32MSB
enumerator FORMAT_AUDIO_F32SYS
enumerator FORMAT_AUDIO_F32

Public Functions

virtual ~IAudio() = default
virtual const std::vector<uint8> &data() const = 0
virtual uint32 length() const = 0
virtual uint32 frequency() const = 0
virtual uint8 channels() const = 0
virtual uint16 bitsPerSample() const = 0
virtual int32 format() const = 0
class IAudioEngine
#include <IAudioEngine.hpp>

Public Functions

virtual ~IAudioEngine() = default
virtual AudioSceneHandle createAudioScene() = 0
virtual void destroyAudioScene(const AudioSceneHandle &audioSceneHandle) = 0
virtual void tick(const AudioSceneHandle audioSceneHandle, const float32 delta) = 0
virtual void beginRender() = 0
virtual void render(const AudioSceneHandle &audioSceneHandle) = 0
virtual void endRender() = 0
virtual SoundSourceHandle play(const AudioSceneHandle &audioSceneHandle, const SoundHandle &soundHandle, const glm::vec3 &position) = 0
virtual void stop(const AudioSceneHandle &audioSceneHandle, const SoundSourceHandle &soundSourceHandle) = 0
virtual void stopAll(const AudioSceneHandle &audioSceneHandle) = 0
virtual SoundHandle createSound(const IAudio &audio) = 0
virtual void destroy(const SoundHandle soundHandle) = 0
virtual ListenerHandle createListener(const AudioSceneHandle &audioSceneHandle, const glm::vec3 &position) = 0
virtual void setPosition(const AudioSceneHandle &audioSceneHandle, const SoundSourceHandle &soundSourceHandle, const float32 x, const float32 y, const float32 z) = 0
virtual void setPosition(const AudioSceneHandle &audioSceneHandle, const SoundSourceHandle &soundSourceHandle, const glm::vec3 &position) = 0
virtual glm::vec3 position(const AudioSceneHandle &audioSceneHandle, const SoundSourceHandle &soundSourceHandle) const = 0
virtual void setPosition(const AudioSceneHandle &audioSceneHandle, const ListenerHandle &listenerHandle, const float32 x, const float32 y, const float32 z) = 0
virtual void setPosition(const AudioSceneHandle &audioSceneHandle, const ListenerHandle &listenerHandle, const glm::vec3 &position) = 0
virtual glm::vec3 position(const AudioSceneHandle &audioSceneHandle, const ListenerHandle &listenerHandle) const = 0
class IAudioEngineFactory
#include <IAudioEngineFactory.hpp>

Public Functions

inline virtual ~IAudioEngineFactory()
virtual std::unique_ptr<IAudioEngine> create(utilities::Properties *properties, fs::IFileSystem *fileSystem, logger::ILogger *logger) = 0
class ListenerHandle : public ice_engine::handles::Handle<ListenerHandle>
#include <ListenerHandle.hpp>
class SoundHandle : public ice_engine::handles::Handle<SoundHandle>
#include <SoundHandle.hpp>
class SoundSourceHandle : public ice_engine::handles::Handle<SoundSourceHandle>
#include <SoundSourceHandle.hpp>