Dropped SDL_Mixer, using JailAudio. TODO: MP3>OGG

This commit is contained in:
2021-05-10 18:51:20 +02:00
parent f8f181bd33
commit 717c5715e9
5 changed files with 5861 additions and 46 deletions

View File

@@ -1,52 +1,43 @@
#include "MusicManager.h"
#include "const.h"
#include "jail_audio.h"
#include "fileManager.h"
MusicManager::MusicManager(void) {
music = NULL;
JA_Music music = NULL; //= JA_LoadMusic("intro2.ogg");
void music_init() {
JA_Init(48000, AUDIO_S16, 2);
//return Mix_OpenAudio(MIX_DEFAULT_FREQUENCY, MIX_DEFAULT_FORMAT, 2, 1024);
}
MusicManager::~MusicManager(void) {
Mix_FreeMusic(music);
Mix_CloseAudio();
void music_quit() {
if (music != NULL) JA_DeleteMusic(music);
}
bool MusicManager::Init() {
return Mix_OpenAudio(MIX_DEFAULT_FREQUENCY, MIX_DEFAULT_FORMAT, 2, 1024);
}
void MusicManager::Load(char *musicfilename)
{
void music_load(const char *musicfilename) {
if (music != NULL) {
Mix_HaltMusic();
Mix_FreeMusic(music);
JA_StopMusic();
JA_DeleteMusic(music);
}
Mix_VolumeMusic(MIX_MAX_VOLUME);
//Get the bitmap's buffer and size from the resource file
int filesize = 0;
char *buffer = GetBufferFromResource(musicfilename, &filesize);
const char *buffer = file_getBufferFromResource(musicfilename, filesize);
//Load the buffer into a surface using RWops
SDL_RWops *rw = SDL_RWFromMem(buffer, filesize);
//SDL_Surface *temp = SDL_LoadBMP_RW(rw, 1);
music = Mix_LoadMUS_RW(rw);
//Release the bitmap buffer memory
music = JA_LoadMusic((Uint8*)buffer, filesize);
//free(buffer);
}
void MusicManager::Play(int loops) {
Mix_PlayMusic(music, loops);
void music_play(const int loops) {
JA_PlayMusic(music, loops);
}
void MusicManager::Pause() {
Mix_PauseMusic();
void music_pause() {
JA_PauseMusic();
}
void MusicManager::FadeOut() {
Mix_FadeOutMusic(500);
void music_fadeOut() {
JA_StopMusic();
}
bool MusicManager::Sonant() {
return (Mix_PlayingMusic() == 1) && (Mix_FadingMusic() != MIX_FADING_OUT);
const bool music_sonant() {
return JA_GetMusicState() == JA_MUSIC_PLAYING;
}