|
SDL3pp
A slim C++ wrapper for SDL3
|
An opaque object that represents a mixer. More...
Public Member Functions | |
| constexpr | Mixer (MixerRaw resource) noexcept |
| Constructs from raw Mixer. | |
| constexpr | Mixer (const Mixer &other)=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. | |
| Mixer (const AudioSpec &spec) | |
| Create a mixer that generates audio to a memory buffer. | |
| ~Mixer () | |
| Destructor. | |
| constexpr Mixer & | operator= (Mixer &&other) noexcept |
| Assignment operator. | |
| Mixer & | operator= (const Mixer &other)=delete |
| Assignment operator. | |
| void | Destroy () |
| Free a mixer. | |
| PropertiesRef | GetProperties () |
| Get the properties associated with a mixer. | |
| void | GetFormat (AudioSpec *spec) |
| Get the audio format a mixer is generating. | |
| MixerLock | Lock () |
| Lock a mixer by obtaining its internal mutex. | |
| void | Unlock (MixerLock &&lock) |
| Unlock a mixer previously locked by a call to Mixer.Lock(). | |
| Audio | LoadAudio_IO (IOStreamRef io, bool predecode, bool closeio=false) |
| Load audio for playback from an IOStream. | |
| Audio | LoadAudio (StringParam path, bool predecode) |
| Load audio for playback from a file. | |
| Audio | LoadAudioNoCopy (SourceBytes data, bool free_when_done) |
| Load audio for playback from a memory buffer without making a copy. | |
| Audio | LoadRawAudio_IO (IOStreamRef io, const AudioSpec &spec, bool closeio=false) |
| Load raw PCM data from an IOStream. | |
| Audio | LoadRawAudio (SourceBytes data, const AudioSpec &spec) |
| Load raw PCM data from a memory buffer. | |
| Audio | LoadRawAudioNoCopy (SourceBytes data, const AudioSpec &spec, bool free_when_done) |
| Load raw PCM data from a memory buffer without making a copy. | |
| Audio | CreateSineWaveAudio (int hz, float amplitude, Sint64 ms) |
| Create a Audio that generates a sinewave. | |
| TrackRef | CreateTrack () |
| Create a new track on a mixer. | |
| OwnArray< TrackRef > | GetTaggedTracks (StringParam tag) |
| Get all tracks with a specific tag. | |
| void | PlayTag (StringParam tag, PropertiesRef options) |
| Start (or restart) mixing all tracks with a specific tag for playback. | |
| bool | PlayAudio (AudioRef audio) |
| Play a Audio from start to finish without any management. | |
| void | StopAllTracks (Sint64 fade_out_ms) |
| Halt all currently-playing tracks, possibly fading out over time. | |
| void | StopTag (StringParam tag, Sint64 fade_out_ms) |
| Halt all tracks with a specific tag, possibly fading out over time. | |
| void | PauseAllTracks () |
| Pause all currently-playing tracks. | |
| void | PauseTag (StringParam tag) |
| Pause all tracks with a specific tag. | |
| void | ResumeAllTracks () |
| Resume all currently-paused tracks. | |
| void | ResumeTag (StringParam tag) |
| Resume all tracks with a specific tag. | |
| void | SetGain (float gain) |
| Set a mixer's master gain control. | |
| float | GetGain () |
| Get a mixer's master gain control. | |
| void | SetTagGain (StringParam tag, float gain) |
| Set the gain control of all tracks with a specific tag. | |
| void | SetFrequencyRatio (float ratio) |
| Set a mixer's master frequency ratio. | |
| float | GetFrequencyRatio () |
| Get a mixer's master frequency ratio. | |
| GroupRef | CreateGroup () |
| Create a mixing group. | |
| void | SetPostMixCallback (PostMixCallback cb, void *userdata) |
| Set a callback that fires when all mixing has completed. | |
| void | SetPostMixCallback (PostMixCB cb) |
| Set a callback that fires when all mixing has completed. | |
| int | Generate (TargetBytes buffer) |
| Generate mixer output when not driving an audio device. | |
| constexpr | ResourceBase (RawPointer resource) |
| Constructs from resource pointer. | |
| constexpr | ResourceBase (std::nullptr_t=nullptr) |
| Constructs null/invalid. | |
| Public Member Functions inherited from SDL::ResourceBase< MixerRaw > | |
| constexpr | ResourceBase (RawPointer resource) |
| Constructs from resource pointer. | |
| constexpr | operator bool () const |
| Converts to bool. | |
| constexpr auto | operator<=> (const ResourceBase &other) const=default |
| Comparison. | |
| constexpr RawConstPointer | operator-> () const noexcept |
| member access to underlying resource pointer. | |
| constexpr RawPointer | get () const noexcept |
| Retrieves underlying resource pointer. | |
| constexpr RawPointer | release () noexcept |
| Retrieves underlying resource pointer and clear this. | |
Additional Inherited Members | |
| Public Types inherited from SDL::ResourceBase< MixerRaw > | |
| using | RawPointer |
| The underlying raw pointer type. | |
| using | RawConstPointer |
| The underlying const raw pointer type. | |
An opaque object that represents a mixer.
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 |