Port from git

This commit is contained in:
emb
2015-01-01 10:14:26 -06:00
commit 93094bcbed
772 changed files with 621608 additions and 0 deletions

54
Source/Sound/Sound.cpp Normal file
View File

@@ -0,0 +1,54 @@
/* This file is subject to the terms and conditions defined in
* file 'LICENSE.txt', which is part of this source code package.
*/
#include "Sound.h"
#include "../Utility/Log.h"
Sound::Sound(std::string file)
: File(file)
, Chunk(NULL)
{
if(!Allocate())
{
Logger::Write(Logger::ZONE_ERROR, "Sound", "Cannot load " + File);
}
}
Sound::~Sound()
{
if(Chunk)
{
Mix_FreeChunk(Chunk);
Chunk = NULL;
}
}
void Sound::Play()
{
if(Chunk)
{
(void)Mix_PlayChannel(-1, Chunk, 0);
}
}
bool Sound::Free()
{
if(Chunk)
{
Mix_FreeChunk(Chunk);
Chunk = NULL;
}
return true;
}
bool Sound::Allocate()
{
if(!Chunk)
{
Chunk = Mix_LoadWAV(File.c_str());
}
return (Chunk != NULL);
}

19
Source/Sound/Sound.h Normal file
View File

@@ -0,0 +1,19 @@
/* This file is subject to the terms and conditions defined in
* file 'LICENSE.txt', which is part of this source code package.
*/
#pragma once
#include <string>
#include <SDL2/SDL_mixer.h>
class Sound
{
public:
Sound(std::string file);
virtual ~Sound();
void Play();
bool Allocate();
bool Free();
private:
std::string File;
Mix_Chunk *Chunk;
};