29#include <unordered_map>
43 unsigned int m_currentID;
48 std::unordered_map<unsigned int, std::shared_ptr<IHandle>> m_handles;
53 std::shared_ptr<IDevice> m_device;
63 std::shared_ptr<VolumeStorage> m_volumeStorage;
82 std::shared_ptr<IHandle>
play(std::shared_ptr<ISound> sound);
124 static void cleanHandleCallback(
void* data);
#define AUD_NAMESPACE_END
Closes the audaspace namespace aud.
Definition: Audaspace.h:119
#define AUD_NAMESPACE_BEGIN
Opens the audaspace namespace aud.
Definition: Audaspace.h:116
#define AUD_API
Used for exporting symbols in the shared library.
Definition: Audaspace.h:93
Defines the IHandle interface as well as possible states of the handle.
Status
Status of a playback handle.
Definition: IHandle.h:31
This class represents a category of related sounds which are currently playing and allows to control ...
Definition: PlaybackCategory.h:38
float getVolume()
Retrieves the volume of the category.
void cleanHandles()
Cleans the category erasing all the invalid handles.
void resume()
Resumes all the paused sounds of the category.
PlaybackCategory(std::shared_ptr< IDevice > device)
Creates a new PlaybackCategory.
void setVolume(float volume)
Sets the volume for the category.
void stop()
Stops all the playing back or paused sounds.
void pause()
Pauses all current played back sounds of the category.
std::shared_ptr< IHandle > play(std::shared_ptr< ISound > sound)
Plays a new sound in the category.
std::shared_ptr< VolumeStorage > getSharedVolume()
Retrieves the shared volume of the category.