diff options
Diffstat (limited to 'extern/audaspace/bindings/C/AUD_PlaybackManager.h')
-rw-r--r-- | extern/audaspace/bindings/C/AUD_PlaybackManager.h | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/extern/audaspace/bindings/C/AUD_PlaybackManager.h b/extern/audaspace/bindings/C/AUD_PlaybackManager.h new file mode 100644 index 00000000000..0fa8171599d --- /dev/null +++ b/extern/audaspace/bindings/C/AUD_PlaybackManager.h @@ -0,0 +1,103 @@ +/******************************************************************************* +* Copyright 2015-2016 Juan Francisco Crespo Galán +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* +* http://www.apache.org/licenses/LICENSE-2.0 +* +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +******************************************************************************/ + +#pragma once + +#include "AUD_Types.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** +* Creates a new PlaybackManager object. +* \param device The device that will be used to play sounds. +* \return The new PlaybackManager object. +*/ +extern AUD_API AUD_PlaybackManager* AUD_PlaybackManager_create(AUD_Device* device); + +/** +* Deletes a PlaybackManager object. +* \param manager The PlaybackManager object to be deleted. +*/ +extern AUD_API void AUD_PlaybackManager_free(AUD_PlaybackManager* manager); + +/** +* Plays a sound through the playback manager, adding it into a category. +* \param manager The PlaybackManager object. +* \param sound The sound to be played. +* \param catKey The key of the category into which the sound will be added. If it doesn't exist a new one will be creatd. +*/ +extern AUD_API void AUD_PlaybackManager_play(AUD_PlaybackManager* manager, AUD_Sound* sound, unsigned int catKey); + +/** +* Resumes the playback of all the paused sounds assigned to a category of a playback manager. +* \param manager The PlaybackManager object. +* \param catKey The key of the category. +* \return 0 if the category doesn't exist. +*/ +extern AUD_API int AUD_PlaybackManager_resume(AUD_PlaybackManager* manager, unsigned int catKey); + +/** +* Pauses all the sounds assigned to a category of a playback manager. +* \param manager The PlaybackManager object. +* \param catKey The key of the category. +* \return 0 if the category doesn't exist. +*/ +extern AUD_API int AUD_PlaybackManager_pause(AUD_PlaybackManager* manager, unsigned int catKey); + +/** +* Adds a new category with a custom volume. +* \param manager The PlaybackManager object. +* \param volume The volume value. +* \return The key of the new category. +*/ +extern AUD_API unsigned int AUD_PlaybackManager_addCategory(AUD_PlaybackManager* manager, float volume); + +/** +* Retrieves the volume of a category of a playback manager. +* \param manager The PlaybackManager object. +* \param catKey The key of the category. +* \return The volume of the category. +*/ +extern AUD_API float AUD_PlaybackManager_getVolume(AUD_PlaybackManager* manager, unsigned int catKey); + +/** +* Changes the voulume of a category of a playback manager. +* \param manager The PlaybackManager object. +* \param volume The new volume of the category. +* \param catKey The key of the category. +* \return 0 if the category doesn't exist. +*/ +extern AUD_API int AUD_PlaybackManager_setVolume(AUD_PlaybackManager* manager, float volume, unsigned int catKey); + +/** +* Stops all the sounds assigned to a category of a playback manager. +* \param manager The PlaybackManager object. +* \param catKey The key of the category. +* \return 0 if the category doesn't exist. +*/ +extern AUD_API int AUD_PlaybackManager_stop(AUD_PlaybackManager* manager, unsigned int catKey); + +/** +* Cleans all the invalid handles in a playback manager +* \param manager The PlaybackManager object. +*/ +extern AUD_API void AUD_PlaybackManager_clean(AUD_PlaybackManager* manager); + +#ifdef __cplusplus +} +#endif |