|
SDL3pp
A slim C++ wrapper for SDL3
|
An opaque object that represents a mixer. More...

Public Member Functions | |
| constexpr | Mixer (std::nullptr_t=nullptr) noexcept |
| Default ctor. | |
| constexpr | Mixer (MixerRaw resource) noexcept |
| Constructs from raw Mixer. More... | |
| constexpr | Mixer (const Mixer &other) noexcept=delete |
| Copy constructor. | |
| constexpr | Mixer (Mixer &&other) noexcept |
| Move constructor. | |
| constexpr | Mixer (const MixerRef &other)=delete |
| constexpr | Mixer (MixerRef &&other)=delete |
| Mixer (AudioDeviceRef devid, const AudioSpec &spec) | |
| Create a mixer that plays sound directly to an audio device. More... | |
| Mixer (const AudioSpec &spec) | |
| Create a mixer that generates audio to a memory buffer. More... | |
| ~Mixer () | |
| Destructor. | |
| constexpr Mixer & | operator= (Mixer &&other) noexcept |
| Assignment operator. | |
| Mixer & | operator= (const Mixer &other)=delete |
| Assignment operator. | |
| constexpr MixerRaw | get () const noexcept |
| Retrieves underlying MixerRaw. | |
| constexpr MixerRaw | release () noexcept |
| Retrieves underlying MixerRaw and clear this. | |
| constexpr auto | operator<=> (const Mixer &other) const noexcept=default |
| Comparison. | |
| constexpr | operator bool () const noexcept |
| Converts to bool. | |
| void | Destroy () |
| Free a mixer. More... | |
| PropertiesRef | GetProperties () |
| Get the properties associated with a mixer. More... | |
| void | GetFormat (AudioSpec *spec) |
| Get the audio format a mixer is generating. More... | |
| MixerLock | Lock () |
| Lock a mixer by obtaining its internal mutex. More... | |
| void | Unlock (MixerLock &&lock) |
| Unlock a mixer previously locked by a call to Mixer.Lock(). More... | |
| Audio | LoadAudio_IO (IOStreamRef io, bool predecode, bool closeio=false) |
| Load audio for playback from an IOStream. More... | |
| Audio | LoadAudio (StringParam path, bool predecode) |
| Load audio for playback from a file. More... | |
| Audio | LoadAudioNoCopy (SourceBytes data, bool free_when_done) |
| Load audio for playback from a memory buffer without making a copy. More... | |
| Audio | LoadRawAudio_IO (IOStreamRef io, const AudioSpec &spec, bool closeio=false) |
| Load raw PCM data from an IOStream. More... | |
| Audio | LoadRawAudio (SourceBytes data, const AudioSpec &spec) |
| Load raw PCM data from a memory buffer. More... | |
| Audio | LoadRawAudioNoCopy (SourceBytes data, const AudioSpec &spec, bool free_when_done) |
| Load raw PCM data from a memory buffer without making a copy. More... | |
| Audio | CreateSineWaveAudio (int hz, float amplitude, Sint64 ms) |
| Create a Audio that generates a sinewave. More... | |
| TrackRef | CreateTrack () |
| Create a new track on a mixer. More... | |
| OwnArray< TrackRef > | GetTaggedTracks (StringParam tag) |
| Get all tracks with a specific tag. More... | |
| void | PlayTag (StringParam tag, PropertiesRef options) |
| Start (or restart) mixing all tracks with a specific tag for playback. More... | |
| bool | PlayAudio (AudioRef audio) |
| Play a Audio from start to finish without any management. More... | |
| void | StopAllTracks (Sint64 fade_out_ms) |
| Halt all currently-playing tracks, possibly fading out over time. More... | |
| void | StopTag (StringParam tag, Sint64 fade_out_ms) |
| Halt all tracks with a specific tag, possibly fading out over time. More... | |
| void | PauseAllTracks () |
| Pause all currently-playing tracks. More... | |
| void | PauseTag (StringParam tag) |
| Pause all tracks with a specific tag. More... | |
| void | ResumeAllTracks () |
| Resume all currently-paused tracks. More... | |
| void | ResumeTag (StringParam tag) |
| Resume all tracks with a specific tag. More... | |
| void | SetGain (float gain) |
| Set a mixer's master gain control. More... | |
| float | GetGain () |
| Get a mixer's master gain control. More... | |
| void | SetTagGain (StringParam tag, float gain) |
| Set the gain control of all tracks with a specific tag. More... | |
| void | SetFrequencyRatio (float ratio) |
| Set a mixer's master frequency ratio. More... | |
| float | GetFrequencyRatio () |
| Get a mixer's master frequency ratio. More... | |
| GroupRef | CreateGroup () |
| Create a mixing group. More... | |
| void | SetPostMixCallback (PostMixCallback cb, void *userdata) |
| Set a callback that fires when all mixing has completed. More... | |
| void | SetPostMixCallback (PostMixCB cb) |
| Set a callback that fires when all mixing has completed. More... | |
| int | Generate (TargetBytes buffer) |
| Generate mixer output when not driving an audio device. More... | |
The Mixer is the toplevel object for this library. To use SDL_mixer, you must have at least one, but are allowed to have several. Each mixer is responsible for generating a single output stream of mixed audio, usually to an audio device for realtime playback.
Mixers are either created to feed an audio device (through CreateMixerDevice()), or to generate audio to a buffer in memory, where it can be used for anything (through CreateMixer()).
|
inlineexplicitconstexprnoexcept |
| resource | a MixerRaw to be wrapped. |
This assumes the ownership, call release() if you need to take back.