#ifndef _SOUNDGLOBAL_H
#define _SOUNDGLOBAL_H

namespace Engine {

void PlaySound (const std::string &sound_name);
/** \brief Plays a sound chunk in a loop
 *
 * \note Loops are hard-coded played in channel 4, therefore playing
 * two loops simultaneously is currently not supported.
 */
void PlaySoundLoop (const std::string &sound_name, int count);
void HaltSoundLoop (const std::string &sound_name);
void PlayMusic (const std::string &music_name);

/** \brief Loads a sound effect for later use */
void LoadSound (const std::string &sound_name);

/** \brief Sets the volume of the music channel to the given value
 *
 * \param music_value is a value from 0. (no music) to 1. (maximum volume)
 */
void SetMusicVolume (const float &music_volume);
/** \brief Returns the value of the music (0. - 1.) */
float GetMusicVolume ();
/** \brief Sets the volume of the music channel to the given value
 *
 * \param music_value is a value from 0. (no music) to 1. (maximum volume)
 */
void SetEffectsVolume (const float &effects_volume);
/** \brief Returns the value of the effects (0. - 1.) */
float GetEffectsVolume ();

}

#endif /* _SOUNDGLOBAL_H */
