mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-01-30 01:48:15 +03:00
Consolidate SoundSystem into Music.
It's just some small wrappers, and SoundSystem can be inlined trivially.
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include <physfsrwops.h>
|
||||
|
||||
#include "BinaryBlob.h"
|
||||
#include "FileSystemUtils.h"
|
||||
#include "Game.h"
|
||||
#include "Graphics.h"
|
||||
#include "Map.h"
|
||||
@@ -12,6 +13,59 @@
|
||||
#include "UtilityClass.h"
|
||||
#include "Vlogging.h"
|
||||
|
||||
/* Begin SDL_mixer wrapper */
|
||||
|
||||
MusicTrack::MusicTrack(SDL_RWops *rw)
|
||||
{
|
||||
m_music = Mix_LoadMUS_RW(rw, 1);
|
||||
m_isValid = true;
|
||||
if(m_music == NULL)
|
||||
{
|
||||
vlog_error("Unable to load Magic Binary Music file: %s", Mix_GetError());
|
||||
m_isValid = false;
|
||||
}
|
||||
}
|
||||
|
||||
SoundTrack::SoundTrack(const char* fileName)
|
||||
{
|
||||
unsigned char *mem;
|
||||
size_t length;
|
||||
|
||||
sound = NULL;
|
||||
|
||||
FILESYSTEM_loadAssetToMemory(fileName, &mem, &length, false);
|
||||
if (mem == NULL)
|
||||
{
|
||||
vlog_error("Unable to load WAV file %s", fileName);
|
||||
SDL_assert(0 && "WAV file missing!");
|
||||
return;
|
||||
}
|
||||
SDL_RWops *fileIn = SDL_RWFromConstMem(mem, length);
|
||||
sound = Mix_LoadWAV_RW(fileIn, 1);
|
||||
FILESYSTEM_freeMemory(&mem);
|
||||
|
||||
if (sound == NULL)
|
||||
{
|
||||
vlog_error("Unable to load WAV file: %s", Mix_GetError());
|
||||
}
|
||||
}
|
||||
|
||||
SoundSystem::SoundSystem(void)
|
||||
{
|
||||
int audio_rate = 44100;
|
||||
Uint16 audio_format = AUDIO_S16SYS;
|
||||
int audio_channels = 2;
|
||||
int audio_buffers = 1024;
|
||||
|
||||
if (Mix_OpenAudio(audio_rate, audio_format, audio_channels, audio_buffers) != 0)
|
||||
{
|
||||
vlog_error("Unable to initialize audio: %s", Mix_GetError());
|
||||
SDL_assert(0 && "Unable to initialize audio!");
|
||||
}
|
||||
}
|
||||
|
||||
/* End SDL_mixer wrapper */
|
||||
|
||||
musicclass::musicclass(void)
|
||||
{
|
||||
safeToProcessMusic= false;
|
||||
|
||||
Reference in New Issue
Block a user