forked from jaildesigner-jailgames/jaildoctors_dilemma
59 lines
1.7 KiB
C
59 lines
1.7 KiB
C
#pragma once
|
|
|
|
#include <SDL2/SDL_audio.h> // Para SDL_AudioFormat
|
|
#include <SDL2/SDL_stdinc.h> // Para Uint32, Uint8
|
|
struct JA_Music_t; // lines 5-5
|
|
struct JA_Sound_t; // lines 6-6
|
|
|
|
enum JA_Channel_state
|
|
{
|
|
JA_CHANNEL_INVALID,
|
|
JA_CHANNEL_FREE,
|
|
JA_CHANNEL_PLAYING,
|
|
JA_CHANNEL_PAUSED,
|
|
JA_SOUND_DISABLED
|
|
};
|
|
enum JA_Music_state
|
|
{
|
|
JA_MUSIC_INVALID,
|
|
JA_MUSIC_PLAYING,
|
|
JA_MUSIC_PAUSED,
|
|
JA_MUSIC_STOPPED,
|
|
JA_MUSIC_DISABLED
|
|
};
|
|
|
|
struct JA_Sound_t;
|
|
struct JA_Music_t;
|
|
|
|
void JA_Init(const int freq, const SDL_AudioFormat format, const int channels);
|
|
void JA_Quit();
|
|
|
|
JA_Music_t *JA_LoadMusic(const char *filename);
|
|
JA_Music_t *JA_LoadMusic(Uint8 *buffer, Uint32 length);
|
|
void JA_PlayMusic(JA_Music_t *music, const int loop = -1);
|
|
void JA_PauseMusic();
|
|
void JA_ResumeMusic();
|
|
void JA_StopMusic();
|
|
void JA_FadeOutMusic(const int milliseconds);
|
|
JA_Music_state JA_GetMusicState();
|
|
void JA_DeleteMusic(JA_Music_t *music);
|
|
int JA_SetMusicVolume(int volume);
|
|
void JA_SetMusicPosition(float value);
|
|
float JA_GetMusicPosition();
|
|
void JA_EnableMusic(const bool value);
|
|
|
|
JA_Sound_t *JA_NewSound(Uint8 *buffer, Uint32 length);
|
|
JA_Sound_t *JA_LoadSound(Uint8 *buffer, Uint32 length);
|
|
JA_Sound_t *JA_LoadSound(const char *filename);
|
|
int JA_PlaySound(JA_Sound_t *sound, const int loop = 0);
|
|
int JA_PlaySoundOnChannel(JA_Sound_t *sound, const int channel, const int loop = 0);
|
|
void JA_PauseChannel(const int channel);
|
|
void JA_ResumeChannel(const int channel);
|
|
void JA_StopChannel(const int channel);
|
|
JA_Channel_state JA_GetChannelState(const int channel);
|
|
void JA_DeleteSound(JA_Sound_t *sound);
|
|
int JA_SetSoundVolume(int volume);
|
|
void JA_EnableSound(const bool value);
|
|
|
|
int JA_SetVolume(int volume);
|