Engine::Audio::AudioBuffer

An example game engine / Audio buffers and devices / AudioBuffer

Defined in header <src/Audio/AudioBuffer.hpp>


class AudioBuffer;

A simple audio buffer to hold PCM samples

Description

Lorem ipsum donor

// Some random code
using namespace Engine;

Audio::AudioBuffer buffer("path/to/file.wav");
buffer.play(audioManager);

More detailed description!

// Another code sample
#include <iostream>
using namespace Engine;
Audio::AudioBuffer buffer("path/to/file.wav");
std::cout << buffer.play(...) << std::endl;

Author: Matus Novak

Date: 2017-2019

Note:

  • Some random note
  • Some second random note

Bug: Some random bug

Some other random bug

Test: Some random test description

Todo: Some random todo

Warning: Some random warning

Precondition: First initialize the system.

Public Classes

Name
struct TypedAudioData
Use this to populate the buffer.

Public Types

Member Types Definition
Type Different type of audio formats.
(enum)
AudioData [Utils::ArrayView](/doxybook/mkdocs-bootswatch/classes/classEngine_1_1Utils_1_1ArrayView/)< T >
(using)
AudioData8U [AudioData](/doxybook/mkdocs-bootswatch/classes/classEngine_1_1Audio_1_1AudioBuffer/#using-audiodata)< uint8_t >
(typedef)

Public Functions

Member Functions Description
(constructor) Constructor for Audio::AudioBuffer.
(function)
(destructor) = default Audio::AudioBuffer destructor.
(virtual function)
play const Play this buffer.
(function)
stop const Stop this buffer playing.
(function)
loop const Loop this buffer forever.
(function)
setData (function)
setDataMultiple (function template)
setCallback Set the callback function.
(function)
setCallback2 Set the callback function.
(function)

Protected Functions

Member Protected Functions Description
getData (function)

Protected Attributes

Member Protected Attributes Description
playing bool
(protected variable)

Friends

Friends Description
AudioManager
(public friend class)
Audio::doSomething
(public friend void)

Public Types

enum Type

Defined in header <src/Audio/AudioBuffer.hpp>

enum class Type;
Enumerator Value Description
UNKNOWN 0 Dont use this
INT_8 1 << 1 8-bit signed integer
INT_16 1 << 2 16-bit signed integer
INT_24 1 << 3 24-bit signed integer
INT_32 1 << 4 32-bit signed integer
FLOAT_32 1 << 5 32-bit float

Different type of audio formats.

using AudioData

Defined in header <src/Audio/AudioBuffer.hpp>

template <typename T>
using AudioData = Utils::ArrayView< T >;

typedef AudioData8U

Defined in header <src/Audio/AudioBuffer.hpp>

typedef AudioData<uint8_t> Engine::Audio::AudioBuffer::AudioData8U;

Public Functions

function AudioBuffer

Defined in header <src/Audio/AudioBuffer.hpp>

explicit AudioBuffer(const std::string & filename);

Constructor for Audio::AudioBuffer.

Exception Safety

Basic exception guarantee.

function ~AudioBuffer

Defined in header <src/Audio/AudioBuffer.hpp>

virtual ~AudioBuffer() = default;

Audio::AudioBuffer destructor.

Exception Safety

Basic exception guarantee.

function play

Defined in header <src/Audio/AudioBuffer.hpp>

void
play(AudioManager & manager) const;

Play this buffer.

Parameters

  • manager - Which manager to play the sound with

Exception Safety

Basic exception guarantee.

function stop

Defined in header <src/Audio/AudioBuffer.hpp>

void
stop(AudioManager & manager) const;

Stop this buffer playing.

Parameters

  • manager - Which manager to stop the sound with

Exception Safety

Basic exception guarantee.

function loop

Defined in header <src/Audio/AudioBuffer.hpp>

void
loop(AudioManager & manager) const;

Loop this buffer forever.

Parameters

  • manager - Which manager to loop the sound with

Notes

This will loop forever until you call stop

Exception Safety

Basic exception guarantee.

function setData

Defined in header <src/Audio/AudioBuffer.hpp>

```cpp title="(1)" void setData(const TypedAudioData & data);


```cpp  title="(2)" 
void
setData(const TypedAudioData data[], size_t size);

Some deprecated function.

Exception Safety

Basic exception guarantee.

function setDataMultiple

Defined in header <src/Audio/AudioBuffer.hpp>

template <size_t Size>
void
setDataMultiple(const TypedAudioData data[Size]);

Exception Safety

Basic exception guarantee.

function setCallback

Defined in header <src/Audio/AudioBuffer.hpp>

void
setCallback(Callback callback);

Set the callback function.

Parameters

  • callback - The callback function pointer

Exception Safety

Basic exception guarantee.

See Also

function setCallback2

Defined in header <src/Audio/AudioBuffer.hpp>

void
setCallback2(Callback2 callback, void * user);

Set the callback function.

Parameters

  • callback - The callback function pointer

Exception Safety

Basic exception guarantee.

See Also

Protected Functions

function getData

Defined in header <src/Audio/AudioBuffer.hpp>

float *
getData();

Exception Safety

Basic exception guarantee.

Protected Attributes

variable playing

Defined in header <src/Audio/AudioBuffer.hpp>

bool playing {false};

Friends

friend AudioManager

Defined in header <src/Audio/AudioBuffer.hpp>

friend
class AudioManager(AudioManager);

friend Audio::doSomething

Defined in header <src/Audio/AudioBuffer.hpp>

friend
void Audio::doSomething(AudioBuffer & buffer);

Updated on 2023-04-03