- Initial commit
This commit is contained in:
97
source/jaudio.h
Normal file
97
source/jaudio.h
Normal file
@@ -0,0 +1,97 @@
|
||||
#pragma once
|
||||
#include <string>
|
||||
|
||||
namespace audio
|
||||
{
|
||||
// Enumeració per a representar el estat de un canal de sò
|
||||
enum channel_state
|
||||
{
|
||||
CHANNEL_INVALID,
|
||||
CHANNEL_FREE,
|
||||
CHANNEL_PLAYING,
|
||||
CHANNEL_PAUSED
|
||||
};
|
||||
|
||||
// Enumeració per a representar el estat de la música
|
||||
enum music_state
|
||||
{
|
||||
MUSIC_INVALID,
|
||||
MUSIC_PLAYING,
|
||||
MUSIC_PAUSED,
|
||||
MUSIC_STOPPED
|
||||
};
|
||||
|
||||
// Estructures per a gestionar música i só
|
||||
struct sound;
|
||||
struct music;
|
||||
|
||||
/// @brief Inicialitza el sistema de só
|
||||
void init();
|
||||
|
||||
/// @brief Tanca el sistema de só
|
||||
void quit();
|
||||
|
||||
/// @brief Carrega un arxiu de música en format OGG
|
||||
/// @param filename nom de l'arxiu
|
||||
/// @return punter a la música
|
||||
const music *loadMusic(const std::string filename);
|
||||
|
||||
/// @brief Comença a reproduïr la música en questió
|
||||
/// @param mus punter a la música
|
||||
/// @param loop quants bucles farà (-1=infinit, 0=no repeteix, 1=repeteix 1 vegada...)
|
||||
void playMusic(music *mus, const int loop = -1);
|
||||
|
||||
/// @brief Pausa la música que està sonant ara
|
||||
void pauseMusic();
|
||||
|
||||
/// @brief Continua la música pausada
|
||||
void resumeMusic();
|
||||
|
||||
/// @brief Para la música que estava sonant
|
||||
void stopMusic();
|
||||
|
||||
/// @brief Obté el estat actual de la música
|
||||
/// @return estat actual de la música (MUSIC_INVALID, MUSIC_PLAYING, MUSIC_PAUSED o MUSIC_STOPPED)
|
||||
const music_state getMusicState();
|
||||
|
||||
/// @brief Allibera una música
|
||||
/// @param mus punter a la música a alliberar
|
||||
void deleteMusic(music *mus);
|
||||
|
||||
/// @brief Carrega un só des d'un arxiu WAV
|
||||
/// @param filename nom de l'arxiu
|
||||
/// @return un punter al só
|
||||
const sound *loadSound(const std::string filename);
|
||||
|
||||
/// @brief Comença a reproduïr el só especificat
|
||||
/// @param snd punter al só a reproduïr
|
||||
/// @param loop si es fa bucle (-1=infinit, 0=no repeteix, 1=repeteix 1 vegada...)
|
||||
/// @return número del canal en que està sonant el só
|
||||
const int playSound(sound *snd, const int loop = 0);
|
||||
|
||||
/// @brief Pausa un canal en el que s'estava reproduïnt un só
|
||||
/// @param channel número del canal a pausar
|
||||
void pauseChannel(const int channel);
|
||||
|
||||
/// @brief Continua un canal pausat
|
||||
/// @param channel número del canal pausat
|
||||
void resumeChannel(const int channel);
|
||||
|
||||
/// @brief Para un canal que estava reproduïnt un só
|
||||
/// @param channel número del canal a parar
|
||||
void stopChannel(const int channel);
|
||||
|
||||
/// @brief Obté l'estat d'un canal
|
||||
/// @param channel canal del que es vol obtindre l'estat
|
||||
/// @return estat del canal (CHANNEL_INVALID, CHANNEL_FREE, CHANNEL_PLAYING o CHANNEL_PAUSED)
|
||||
const channel_state getChannelState(const int channel);
|
||||
|
||||
/// @brief Allibera un só
|
||||
/// @param snd punter al só
|
||||
void deleteSound(sound *snd);
|
||||
|
||||
/// @brief Estableix el volum general
|
||||
/// @param volume valor a establir com a volum (128 màxim)
|
||||
/// @return el volum anterior
|
||||
const int setVolume(int volume);
|
||||
}
|
||||
Reference in New Issue
Block a user