- Primer commit de l'esperada seqüela de Cacaus
This commit is contained in:
44
source/japi/audio.h
Normal file
44
source/japi/audio.h
Normal file
@@ -0,0 +1,44 @@
|
||||
#pragma once
|
||||
#include <SDL3/SDL.h>
|
||||
|
||||
namespace audio
|
||||
{
|
||||
enum state { invalid, available, playing, paused, stopped, disabled };
|
||||
|
||||
struct sound;
|
||||
struct music;
|
||||
|
||||
void init(const int freq, const SDL_AudioFormat format, const int num_channels);
|
||||
void quit();
|
||||
|
||||
audio::music *loadMusic(const char* filename);
|
||||
audio::music *loadMusic(Uint8* buffer, Uint32 length);
|
||||
void playMusic(audio::music *music, const int loop = -1);
|
||||
void loadAndPlayMusic(const char* filename, const bool force_reinit=false);
|
||||
char *getMusicFilename(audio::music *music = nullptr);
|
||||
void pauseMusic();
|
||||
void resumeMusic();
|
||||
void stopMusic();
|
||||
void fadeOutMusic(const int milliseconds=250);
|
||||
audio::state getMusicState();
|
||||
void deleteMusic(audio::music *music);
|
||||
float setMusicVolume(float volume);
|
||||
void setMusicPosition(float value);
|
||||
float getMusicPosition();
|
||||
void enableMusic(const bool value);
|
||||
|
||||
audio::sound *newSound(Uint8* buffer, Uint32 length);
|
||||
audio::sound *loadSound(Uint8* buffer, Uint32 length);
|
||||
audio::sound *loadSound(const char* filename);
|
||||
int playSound(audio::sound *sound, const int loop = 0);
|
||||
int playSoundOnChannel(audio::sound *sound, const int channel, const int loop = 0);
|
||||
void pauseChannel(const int channel);
|
||||
void resumeChannel(const int channel);
|
||||
void stopChannel(const int channel);
|
||||
audio::state getChannelState(const int channel);
|
||||
void deleteSound(audio::sound *sound);
|
||||
float setSoundVolume(float volume);
|
||||
void enableSound(const bool value);
|
||||
|
||||
float setVolume(float volume);
|
||||
}
|
||||
Reference in New Issue
Block a user