AUI Framework  master
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
AAudioMixer.h
    1#pragma once
    2
    3#include <list>
    4#include <span>
    5
    6#include <AUI/Common/AObject.h>
    7
    8class API_AUI_AUDIO IAudioPlayer;
    9
   16class API_AUI_AUDIO AAudioMixer {
   17public:
   23
   29
   35    std::size_t readSoundData(std::span<std::byte> destination);
   36
   37private:
   38    AMutex mMutex;
   39    std::list<_<IAudioPlayer>> mPlayers;
   40};
   41
Manages audio players and mixes them into one sound stream.
Definition AAudioMixer.h:16
std::size_t readSoundData(std::span< std::byte > destination)
Write mixed audio data into buffer.
void removeSoundSource(const _< IAudioPlayer > &s)
Remove sound source if it is represented in list of added sound sources, otherwise do nothing.
void addSoundSource(_< IAudioPlayer > s)
Add new sound source for mixing.
Interface for audio playback.
Definition IAudioPlayer.h:15
An std::weak_ptr with AUI extensions.
Definition SharedPtrTypes.h:179
Basic syscall-based synchronization primitive.
Definition AMutex.h:33