From 3ef6742c5d481a083c97f1618af57d07c0ffd3e6 Mon Sep 17 00:00:00 2001 From: JailDoctor Date: Thu, 24 Nov 2022 15:51:49 +0100 Subject: [PATCH] Add 'readme.md' --- readme.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 readme.md diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..d6721d4 --- /dev/null +++ b/readme.md @@ -0,0 +1,66 @@ +# JailAudio v1.2 +JailAudio es una xicoteta api per a reemplaçar lo basic de *SDL_mixer*. Amb ella es poden carregar cançons en format **OGG** o sons en format **WAV**. Per a usar-la nomes tindreu que incloure els arxius `jail_audio.cpp`, `jail_audio.h` i `stb_vorbis.c` al vostre projecte. El seu us es molt senzill i es pot vore un example a l'arxiu `main.cpp`. + +## Inicialització +### `void JA_Init(const int freq, const SDL_AudioFormat format, const int channels);` +Inicialitza el subsistema de audio. Es pot especificar la _frequència_, _format_ i _canals_, de la mateixa forma que abans creaveu el `SDL_AudioDevice`. + +### `void JA_Quit();` +Tanquem la paraeta. + +## Música + +### `JA_Music JA_LoadMusic(const char* filename);` +Carrega un arxiu **OGG** en memoria i el guarda a una variable de tipus `JA_Music`. Es un punter opac, així que nomes val pa usar-lo com a referència a l'hora de fer-lo sonar. + +### `void JA_PlayMusic(JA_Music music, const int loop);` +Comença a tocar un **OGG**. Se li pot dir que faça loop (`-1` fa loop, `0` no fa loop (sona 1 vegada), `1` repeteix el so (sona 2 vegades), etc...). Si estava sonant altra musica, pos la para i a prendre per cul. + +### `void JA_PauseMusic();` +Pausa la música. + +### `void JA_ResumeMusic();` +Continúa la música per on s’havia pausat. + +### `void JA_StopMusic();` +Pos això... + +### `int JA_SetVolume(int volume);` +Canvia el volum de la música. Es un valor entre 0 i 128. Per defecte està a 128. + +### `JA_Music_state JA_GetMusicState();` +Torna el estat de la música, que pot ser `JA_MUSIC_INVALID`, `JA_MUSIC_PLAYING`, `JA_MUSIC_PAUSED`o `JA_MUSIC_STOPPED`. + +### `void JA_DeleteMusic(JA_Music music);` +Esborra de la memòria una cançò prèviament carregada. Si está sonant pos para de sonar, ningún problema. + +## Efectes de só + +### `JA_Sound JA_NewSound(Uint8* buffer, Uint32 length);` +Crea un nou só a partir d'un buffer en memòria. + +### `JA_Sound JA_LoadSound(const char* filename);` +Carrega un àudio des d'un arxiu **WAV** i el guarda a una variable de tipus `JA_Sound`. Es un punter opac, així que nomes val pa usar-lo com a referència a l'hora de fer-lo sonar. + +### `int JA_PlaySound(JA_Sound sound, const int loop);` +Fa sonar un só prèviament carregat. Se li pot dir que faça loop (`-1` fa loop, `0` no fa loop (sona 1 vegada), `1` repeteix el so (sona 2 vegades), etc...). Torna el número del canal en el que està sonant. + +### `void JA_DeleteSound(JA_Sound sound);` +Esborra de la memòria un só prèviament carregat. Si el só estava sonant en eixe moment, pos el para, ningún problema. + +## Canals de só + +### `void JA_PauseChannel(const int channel);` +Pausa el só que estiga sonant en el canal especificat. Si s'especifica `-1`, pausa tots els canals que estigueren sonant en eixe moment. + +### `void JA_ResumeChannel(const int channel);` +Continua sonant el canal especificat, si es que estava pausat. Si s'especifica `-1`, fa que tots els canals que estigueren pausats es despausen i continuen. + +### `void JA_StopChannel(const int channel);` +Para un canal i el deixa lliure. Si s'especifica `-1`, para tots els canals que estigueren sonant en eixe moment. + +### `JA_Channel_state JA_GetChannelState(const int channel);` +Torna el estat del canal especificat, que pot ser `JA_CHANNEL_INVALID`, `JA_CHANNEL_FREE`,`JA_CHANNEL_PLAYING` o `JA_CHANNEL_PAUSED`. + +### `int JA_SetChannelVolume(const int channel, int volume);` +Especifica el volum de un canal. Es un valor entre 0 i 128. Per defecte està a 64.