@@ -7,10 +7,9 @@ noinst_LIBRARIES = liblol-core.a | |||
liblol_core_a_SOURCES = \ | |||
tiler.cpp tiler.h dict.cpp dict.h lolgl.h \ | |||
audio.cpp audio.h scene.cpp scene.h font.cpp font.h \ | |||
scene.cpp scene.h font.cpp font.h \ | |||
textureimage.cpp textureimage.h textureimage-private.h \ | |||
tileset.cpp tileset.h forge.cpp forge.h video.cpp video.h \ | |||
sample.cpp sample.h sampler.cpp sampler.h \ | |||
profiler.cpp profiler.h text.cpp text.h emitter.cpp emitter.h \ | |||
numeric.h utils.h messageservice.cpp messageservice.h \ | |||
gradient.cpp gradient.h gradient.lolfx \ | |||
@@ -46,6 +45,9 @@ liblol_core_headers = \ | |||
lol/algorithm/all.h \ | |||
lol/algorithm/sort.h lol/algorithm/portal.h lol/algorithm/aabb_tree.h \ | |||
\ | |||
lol/audio/all.h \ | |||
lol/audio/audio.h lol/audio/sampler.h lol/audio/sample.h \ | |||
\ | |||
lol/sys/all.h \ | |||
lol/sys/init.h lol/sys/file.h lol/sys/getopt.h lol/sys/thread.h \ | |||
lol/sys/threadtypes.h lol/sys/timer.h \ | |||
@@ -92,6 +94,8 @@ liblol_core_sources = \ | |||
gpu/framebuffer.cpp gpu/texture.cpp gpu/renderer.cpp \ | |||
gpu/rendercontext.cpp \ | |||
\ | |||
audio/audio.cpp audio/sampler.cpp audio/sample.cpp \ | |||
\ | |||
input/input.cpp input/input.h input/input_internal.h input/keys.h \ | |||
input/controller.cpp input/controller.h \ | |||
\ | |||
@@ -1,37 +0,0 @@ | |||
// | |||
// Lol Engine | |||
// | |||
// Copyright: (c) 2010-2011 Sam Hocevar <sam@hocevar.net> | |||
// This program is free software; you can redistribute it and/or | |||
// modify it under the terms of the Do What The Fuck You Want To | |||
// Public License, Version 2, as published by Sam Hocevar. See | |||
// http://www.wtfpl.net/ for more details. | |||
// | |||
#pragma once | |||
// | |||
// The Audio interface | |||
// ------------------- | |||
// Helper functions to set up the audio device. | |||
// | |||
#include <stdint.h> | |||
namespace lol | |||
{ | |||
class Audio | |||
{ | |||
public: | |||
static void Setup(int channels); | |||
static void SetVolume(int channel,int volume); | |||
static void MuteAll(); | |||
static void UnmuteAll(); | |||
private: | |||
Audio() {} | |||
}; | |||
} /* namespace lol */ | |||
@@ -29,19 +29,26 @@ namespace lol | |||
{ | |||
/* | |||
* Public Audio class | |||
* Public audio class | |||
*/ | |||
void Audio::Setup(int channels) | |||
void audio::init() | |||
{ | |||
#if defined LOL_USE_SDL_MIXER | |||
Mix_OpenAudio(22050, AUDIO_S16, channels, 1024); | |||
Mix_OpenAudio(22050, AUDIO_S16, 8, 1024); | |||
#endif | |||
} | |||
void audio::set_channels(int channels) | |||
{ | |||
#if defined LOL_USE_SDL_MIXER | |||
Mix_AllocateChannels(channels); | |||
#else | |||
UNUSED(channels); | |||
#endif | |||
} | |||
void Audio::SetVolume(int channel, int volume) | |||
void audio::set_volume(int channel, int volume) | |||
{ | |||
#if defined LOL_USE_SDL_MIXER | |||
Mix_Volume(channel,volume); | |||
@@ -50,7 +57,7 @@ void Audio::SetVolume(int channel, int volume) | |||
#endif | |||
} | |||
void Audio::MuteAll() | |||
void audio::mute_all() | |||
{ | |||
#if defined LOL_USE_SDL_MIXER | |||
Mix_Volume(-1,0); | |||
@@ -59,7 +66,7 @@ void Audio::MuteAll() | |||
#endif | |||
} | |||
void Audio::UnmuteAll() | |||
void audio::unmute_all() | |||
{ | |||
#if defined LOL_USE_SDL_MIXER | |||
Mix_Volume(-1,MIX_MAX_VOLUME); |
@@ -33,12 +33,12 @@ namespace lol | |||
{ | |||
/* | |||
* Sample implementation class | |||
* sample implementation class | |||
*/ | |||
class SampleData | |||
class sample_data | |||
{ | |||
friend class Sample; | |||
friend class sample; | |||
private: | |||
String m_name; | |||
@@ -49,11 +49,11 @@ private: | |||
}; | |||
/* | |||
* Public Sample class | |||
* Public sample class | |||
*/ | |||
Sample::Sample(char const *path) | |||
: data(new SampleData()) | |||
sample::sample(char const *path) | |||
: data(new sample_data()) | |||
{ | |||
data->m_name = String("<sample> ") + path; | |||
@@ -72,7 +72,7 @@ Sample::Sample(char const *path) | |||
#endif | |||
} | |||
Sample::~Sample() | |||
sample::~sample() | |||
{ | |||
#if defined LOL_USE_SDL_MIXER | |||
if (data->m_chunk) | |||
@@ -81,17 +81,17 @@ Sample::~Sample() | |||
delete data; | |||
} | |||
void Sample::TickGame(float seconds) | |||
void sample::TickGame(float seconds) | |||
{ | |||
Entity::TickGame(seconds); | |||
} | |||
char const *Sample::GetName() | |||
char const *sample::GetName() | |||
{ | |||
return data->m_name.C(); | |||
} | |||
void Sample::Play() | |||
void sample::play() | |||
{ | |||
#if defined LOL_USE_SDL_MIXER | |||
if (data->m_chunk) | |||
@@ -99,7 +99,7 @@ void Sample::Play() | |||
#endif | |||
} | |||
void Sample::Loop() | |||
void sample::loop() | |||
{ | |||
#if defined LOL_USE_SDL_MIXER | |||
if (data->m_chunk) | |||
@@ -107,7 +107,7 @@ void Sample::Loop() | |||
#endif | |||
} | |||
void Sample::Stop() | |||
void sample::stop() | |||
{ | |||
#if defined LOL_USE_SDL_MIXER | |||
if (data->m_channel >= 0) |
@@ -0,0 +1,84 @@ | |||
// | |||
// Lol Engine | |||
// | |||
// Copyright © 2010—2016 Sam Hocevar <sam@hocevar.net> | |||
// | |||
// Lol Engine is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What the Fuck You Want | |||
// to Public License, Version 2, as published by the WTFPL Task Force. | |||
// See http://www.wtfpl.net/ for more details. | |||
// | |||
#include <lol/engine-internal.h> | |||
namespace lol | |||
{ | |||
/* | |||
* sampler implementation class | |||
*/ | |||
static class sampler_data | |||
{ | |||
friend class sampler; | |||
public: | |||
Dict samples; | |||
} | |||
samplerdata; | |||
static sampler_data * const data = &samplerdata; | |||
/* | |||
* Public sampler class | |||
*/ | |||
int sampler::load_sample(char const *path) | |||
{ | |||
int id = data->samples.MakeSlot(path); | |||
if (!data->samples.GetEntity(id)) | |||
{ | |||
sample *s = new sample(path); | |||
data->samples.SetEntity(id, s); | |||
} | |||
return id + 1; /* ID 0 is for the empty sample */ | |||
} | |||
void sampler::unload_sample(int id) | |||
{ | |||
if (id > 0) | |||
data->samples.RemoveSlot(id - 1); /* ID 0 is for the empty sample */ | |||
} | |||
void sampler::play_sample(int id) | |||
{ | |||
if (id > 0) | |||
{ | |||
sample *s = (sample *)data->samples.GetEntity(id - 1); | |||
s->play(); | |||
} | |||
} | |||
void sampler::loop_sample(int id) | |||
{ | |||
if (id > 0) | |||
{ | |||
sample *s = (sample *)data->samples.GetEntity(id - 1); | |||
s->loop(); | |||
} | |||
} | |||
void sampler::stop_sample(int id) | |||
{ | |||
if (id > 0) | |||
{ | |||
sample *s = (sample *)data->samples.GetEntity(id - 1); | |||
s->stop(); | |||
} | |||
} | |||
} /* namespace lol */ | |||
@@ -258,7 +258,7 @@ EglApp::EglApp(char const *title, ivec2 res, float fps) : | |||
/* Initialise everything */ | |||
Ticker::Setup(fps); | |||
Video::Setup((ivec2)data->screen_size); | |||
Audio::Setup(2); | |||
audio::init(); | |||
#endif | |||
} | |||
@@ -77,7 +77,9 @@ | |||
</ItemDefinitionGroup> | |||
<ItemGroup> | |||
<ClCompile Include="application\application.cpp" /> | |||
<ClCompile Include="audio.cpp" /> | |||
<ClCompile Include="audio\audio.cpp" /> | |||
<ClCompile Include="audio\sample.cpp" /> | |||
<ClCompile Include="audio\sampler.cpp" /> | |||
<ClCompile Include="camera.cpp" /> | |||
<ClCompile Include="base\assert.cpp" /> | |||
<ClCompile Include="base\enum.cpp" /> | |||
@@ -197,8 +199,6 @@ | |||
<ClCompile Include="platform\sdl\sdlapp.cpp" /> | |||
<ClCompile Include="platform\sdl\sdlinput.cpp" /> | |||
<ClCompile Include="profiler.cpp" /> | |||
<ClCompile Include="sample.cpp" /> | |||
<ClCompile Include="sampler.cpp" /> | |||
<ClCompile Include="scene.cpp" /> | |||
<ClCompile Include="sprite.cpp" /> | |||
<ClCompile Include="sys\file.cpp" /> | |||
@@ -216,7 +216,6 @@ | |||
</ItemGroup> | |||
<ItemGroup> | |||
<ClInclude Include="application\application.h" /> | |||
<ClInclude Include="audio.h" /> | |||
<ClInclude Include="camera.h" /> | |||
<ClInclude Include="commandstack.h" /> | |||
<ClInclude Include="debug\fps.h" /> | |||
@@ -251,6 +250,10 @@ | |||
<ClInclude Include="lol\algorithm\all.h" /> | |||
<ClInclude Include="lol\algorithm\portal.h" /> | |||
<ClInclude Include="lol\algorithm\sort.h" /> | |||
<ClInclude Include="lol\audio\all.h" /> | |||
<ClInclude Include="lol\audio\audio.h" /> | |||
<ClInclude Include="lol\audio\sample.h" /> | |||
<ClInclude Include="lol\audio\sampler.h" /> | |||
<ClInclude Include="lol\base\all.h" /> | |||
<ClInclude Include="lol\base\array.h" /> | |||
<ClInclude Include="lol\base\assert.h" /> | |||
@@ -348,8 +351,6 @@ | |||
<ClInclude Include="platform\sdl\sdlapp.h" /> | |||
<ClInclude Include="platform\sdl\sdlinput.h" /> | |||
<ClInclude Include="profiler.h" /> | |||
<ClInclude Include="sample.h" /> | |||
<ClInclude Include="sampler.h" /> | |||
<ClInclude Include="scene.h" /> | |||
<ClInclude Include="sprite.h" /> | |||
<ClInclude Include="text.h" /> | |||
@@ -201,8 +201,14 @@ | |||
<ClCompile Include="platform\d3d9\d3d9input.cpp"> | |||
<Filter>platform\d3d9</Filter> | |||
</ClCompile> | |||
<ClCompile Include="audio.cpp"> | |||
<Filter>...</Filter> | |||
<ClCompile Include="audio\audio.cpp"> | |||
<Filter>audio</Filter> | |||
</ClCompile> | |||
<ClCompile Include="audio\sample.cpp"> | |||
<Filter>audio</Filter> | |||
</ClCompile> | |||
<ClCompile Include="audio\sampler.cpp"> | |||
<Filter>audio</Filter> | |||
</ClCompile> | |||
<ClCompile Include="camera.cpp"> | |||
<Filter>...</Filter> | |||
@@ -234,12 +240,6 @@ | |||
<ClCompile Include="profiler.cpp"> | |||
<Filter>...</Filter> | |||
</ClCompile> | |||
<ClCompile Include="sample.cpp"> | |||
<Filter>...</Filter> | |||
</ClCompile> | |||
<ClCompile Include="sampler.cpp"> | |||
<Filter>...</Filter> | |||
</ClCompile> | |||
<ClCompile Include="sprite.cpp"> | |||
<Filter>...</Filter> | |||
</ClCompile> | |||
@@ -535,9 +535,6 @@ | |||
<ClInclude Include="platform\d3d9\d3d9input.h"> | |||
<Filter>platform\d3d9</Filter> | |||
</ClInclude> | |||
<ClInclude Include="audio.h"> | |||
<Filter>...</Filter> | |||
</ClInclude> | |||
<ClInclude Include="camera.h"> | |||
<Filter>...</Filter> | |||
</ClInclude> | |||
@@ -577,12 +574,6 @@ | |||
<ClInclude Include="profiler.h"> | |||
<Filter>...</Filter> | |||
</ClInclude> | |||
<ClInclude Include="sample.h"> | |||
<Filter>...</Filter> | |||
</ClInclude> | |||
<ClInclude Include="sampler.h"> | |||
<Filter>...</Filter> | |||
</ClInclude> | |||
<ClInclude Include="simd.h"> | |||
<Filter>...</Filter> | |||
</ClInclude> | |||
@@ -598,6 +589,18 @@ | |||
<ClInclude Include="easymesh\easymesh.h"> | |||
<Filter>easymesh</Filter> | |||
</ClInclude> | |||
<ClInclude Include="lol\audio\all.h"> | |||
<Filter>lol\audio</Filter> | |||
</ClInclude> | |||
<ClInclude Include="lol\audio\audio.h"> | |||
<Filter>lol\audio</Filter> | |||
</ClInclude> | |||
<ClInclude Include="lol\audio\sample.h"> | |||
<Filter>lol\audio</Filter> | |||
</ClInclude> | |||
<ClInclude Include="lol\audio\sampler.h"> | |||
<Filter>lol\audio</Filter> | |||
</ClInclude> | |||
<ClInclude Include="lol\base\array.h"> | |||
<Filter>lol\base</Filter> | |||
</ClInclude> | |||
@@ -0,0 +1,18 @@ | |||
// | |||
// Lol Engine | |||
// | |||
// Copyright © 2010—2016 Sam Hocevar <sam@hocevar.net> | |||
// | |||
// Lol Engine is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What the Fuck You Want | |||
// to Public License, Version 2, as published by the WTFPL Task Force. | |||
// See http://www.wtfpl.net/ for more details. | |||
// | |||
#pragma once | |||
#include <lol/audio/audio.h> | |||
#include <lol/audio/sampler.h> | |||
#include <lol/audio/sample.h> | |||
@@ -0,0 +1,41 @@ | |||
// | |||
// Lol Engine | |||
// | |||
// Copyright © 2010—2016 Sam Hocevar <sam@hocevar.net> | |||
// | |||
// Lol Engine is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What the Fuck You Want | |||
// to Public License, Version 2, as published by the WTFPL Task Force. | |||
// See http://www.wtfpl.net/ for more details. | |||
// | |||
#pragma once | |||
// | |||
// The audio interface | |||
// ------------------- | |||
// Helper functions to set up the audio device. | |||
// | |||
#include <stdint.h> | |||
namespace lol | |||
{ | |||
class audio | |||
{ | |||
public: | |||
static void init(); | |||
static void set_channels(int channels); | |||
static void set_volume(int channel,int volume); | |||
static void mute_all(); | |||
static void unmute_all(); | |||
private: | |||
audio() {} | |||
}; | |||
} /* namespace lol */ | |||
@@ -0,0 +1,52 @@ | |||
// | |||
// Lol Engine | |||
// | |||
// Copyright © 2010—2016 Sam Hocevar <sam@hocevar.net> | |||
// | |||
// Lol Engine is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What the Fuck You Want | |||
// to Public License, Version 2, as published by the WTFPL Task Force. | |||
// See http://www.wtfpl.net/ for more details. | |||
// | |||
#pragma once | |||
// | |||
// The sample class | |||
// ---------------- | |||
// A sample is a unique sound sample. | |||
// | |||
#include "engine/entity.h" | |||
#include <stdint.h> | |||
namespace lol | |||
{ | |||
class sample_data; | |||
class sample : public Entity | |||
{ | |||
public: | |||
sample(char const *path); | |||
virtual ~sample(); | |||
protected: | |||
/* Inherited from Entity */ | |||
virtual char const *GetName(); | |||
virtual void TickGame(float seconds); | |||
public: | |||
/* New methods */ | |||
void play(); | |||
void loop(); | |||
void stop(); | |||
private: | |||
sample_data *data; | |||
}; | |||
} /* namespace lol */ | |||
@@ -0,0 +1,41 @@ | |||
// | |||
// Lol Engine | |||
// | |||
// Copyright © 2010—2016 Sam Hocevar <sam@hocevar.net> | |||
// | |||
// Lol Engine is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What the Fuck You Want | |||
// to Public License, Version 2, as published by the WTFPL Task Force. | |||
// See http://www.wtfpl.net/ for more details. | |||
// | |||
#pragma once | |||
// | |||
// The sampler class | |||
// ----------------- | |||
// The sampler is a static class that manages samples. | |||
// | |||
#include <stdint.h> | |||
namespace lol | |||
{ | |||
class sampler | |||
{ | |||
public: | |||
static int load_sample(char const *path); | |||
static void unload_sample(int id); | |||
static void play_sample(int id); | |||
static void loop_sample(int id); | |||
static void stop_sample(int id); | |||
private: | |||
sampler() {} | |||
}; | |||
} /* namespace lol */ | |||
@@ -1,11 +1,13 @@ | |||
// | |||
// Lol Engine | |||
// Lol Engine | |||
// | |||
// Copyright: (c) 2010-2014 Sam Hocevar <sam@hocevar.net> | |||
// This program is free software; you can redistribute it and/or | |||
// modify it under the terms of the Do What The Fuck You Want To | |||
// Public License, Version 2, as published by Sam Hocevar. See | |||
// http://www.wtfpl.net/ for more details. | |||
// Copyright © 2010—2016 Sam Hocevar <sam@hocevar.net> | |||
// | |||
// Lol Engine is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What the Fuck You Want | |||
// to Public License, Version 2, as published by the WTFPL Task Force. | |||
// See http://www.wtfpl.net/ for more details. | |||
// | |||
#pragma once | |||
@@ -24,7 +26,6 @@ | |||
// Static classes | |||
#include <lol/../platform.h> | |||
#include <lol/../video.h> | |||
#include <lol/../audio.h> | |||
#include <lol/../scene.h> | |||
#include <lol/../profiler.h> | |||
#include <lol/../messageservice.h> | |||
@@ -45,7 +46,6 @@ | |||
#include <lol/../emitter.h> | |||
#include <lol/../font.h> | |||
#include <lol/../gradient.h> | |||
#include <lol/../sample.h> | |||
#include <lol/../sprite.h> | |||
#include <lol/../text.h> | |||
#include <lol/../textureimage.h> | |||
@@ -64,5 +64,4 @@ | |||
// Managers | |||
#include <lol/../forge.h> | |||
#include <lol/../tiler.h> | |||
#include <lol/../sampler.h> | |||
@@ -1,11 +1,13 @@ | |||
// | |||
// Lol Engine | |||
// Lol Engine | |||
// | |||
// Copyright: (c) 2010-2014 Sam Hocevar <sam@hocevar.net> | |||
// This program is free software; you can redistribute it and/or | |||
// modify it under the terms of the Do What The Fuck You Want To | |||
// Public License, Version 2, as published by Sam Hocevar. See | |||
// http://www.wtfpl.net/ for more details. | |||
// Copyright © 2010—2016 Sam Hocevar <sam@hocevar.net> | |||
// | |||
// Lol Engine is free software. It comes without any warranty, to | |||
// the extent permitted by applicable law. You can redistribute it | |||
// and/or modify it under the terms of the Do What the Fuck You Want | |||
// to Public License, Version 2, as published by the WTFPL Task Force. | |||
// See http://www.wtfpl.net/ for more details. | |||
// | |||
#pragma once | |||
@@ -20,6 +22,7 @@ | |||
#include <lol/algorithm/all.h> | |||
#include <lol/image/all.h> | |||
#include <lol/sys/all.h> | |||
#include <lol/audio/all.h> | |||
#include <lol/gpu/all.h> | |||
#include <lol/debug/all.h> | |||
@@ -207,7 +207,7 @@ SdlApp::SdlApp(char const *title, ivec2 res, float fps) : | |||
/* Initialise everything */ | |||
Ticker::Setup(fps); | |||
Audio::Setup(2); | |||
audio::init(); | |||
/* Autoreleased objects */ | |||
#if defined LOL_USE_XINPUT | |||
@@ -1,50 +0,0 @@ | |||
// | |||
// Lol Engine | |||
// | |||
// Copyright: (c) 2010-2013 Sam Hocevar <sam@hocevar.net> | |||
// This program is free software; you can redistribute it and/or | |||
// modify it under the terms of the Do What The Fuck You Want To | |||
// Public License, Version 2, as published by Sam Hocevar. See | |||
// http://www.wtfpl.net/ for more details. | |||
// | |||
#pragma once | |||
// | |||
// The Sample class | |||
// ---------------- | |||
// A Sample is a unique sound sample. | |||
// | |||
#include "engine/entity.h" | |||
#include <stdint.h> | |||
namespace lol | |||
{ | |||
class SampleData; | |||
class Sample : public Entity | |||
{ | |||
public: | |||
Sample(char const *path); | |||
virtual ~Sample(); | |||
protected: | |||
/* Inherited from Entity */ | |||
virtual char const *GetName(); | |||
virtual void TickGame(float seconds); | |||
public: | |||
/* New methods */ | |||
void Play(); | |||
void Loop(); | |||
void Stop(); | |||
private: | |||
SampleData *data; | |||
}; | |||
} /* namespace lol */ | |||
@@ -1,82 +0,0 @@ | |||
// | |||
// Lol Engine | |||
// | |||
// Copyright: (c) 2010-2011 Sam Hocevar <sam@hocevar.net> | |||
// This program is free software; you can redistribute it and/or | |||
// modify it under the terms of the Do What The Fuck You Want To | |||
// Public License, Version 2, as published by Sam Hocevar. See | |||
// http://www.wtfpl.net/ for more details. | |||
// | |||
#include <lol/engine-internal.h> | |||
namespace lol | |||
{ | |||
/* | |||
* Sampler implementation class | |||
*/ | |||
static class SamplerData | |||
{ | |||
friend class Sampler; | |||
public: | |||
Dict samples; | |||
} | |||
samplerdata; | |||
static SamplerData * const data = &samplerdata; | |||
/* | |||
* Public Sampler class | |||
*/ | |||
int Sampler::Register(char const *path) | |||
{ | |||
int id = data->samples.MakeSlot(path); | |||
if (!data->samples.GetEntity(id)) | |||
{ | |||
Sample *sample = new Sample(path); | |||
data->samples.SetEntity(id, sample); | |||
} | |||
return id + 1; /* ID 0 is for the empty sample */ | |||
} | |||
void Sampler::Deregister(int id) | |||
{ | |||
if (id > 0) | |||
data->samples.RemoveSlot(id - 1); /* ID 0 is for the empty sample */ | |||
} | |||
void Sampler::PlaySample(int id) | |||
{ | |||
if (id > 0) | |||
{ | |||
Sample *sample = (Sample *)data->samples.GetEntity(id - 1); | |||
sample->Play(); | |||
} | |||
} | |||
void Sampler::LoopSample(int id) | |||
{ | |||
if (id > 0) | |||
{ | |||
Sample *sample = (Sample *)data->samples.GetEntity(id - 1); | |||
sample->Loop(); | |||
} | |||
} | |||
void Sampler::StopSample(int id) | |||
{ | |||
if (id > 0) | |||
{ | |||
Sample *sample = (Sample *)data->samples.GetEntity(id - 1); | |||
sample->Stop(); | |||
} | |||
} | |||
} /* namespace lol */ | |||
@@ -1,39 +0,0 @@ | |||
// | |||
// Lol Engine | |||
// | |||
// Copyright: (c) 2010-2011 Sam Hocevar <sam@hocevar.net> | |||
// This program is free software; you can redistribute it and/or | |||
// modify it under the terms of the Do What The Fuck You Want To | |||
// Public License, Version 2, as published by Sam Hocevar. See | |||
// http://www.wtfpl.net/ for more details. | |||
// | |||
#pragma once | |||
// | |||
// The Sampler class | |||
// ----------------- | |||
// The Sampler is a static class that manages samples. | |||
// | |||
#include <stdint.h> | |||
namespace lol | |||
{ | |||
class Sampler | |||
{ | |||
public: | |||
static int Register(char const *path); | |||
static void Deregister(int id); | |||
static void PlaySample(int id); | |||
static void LoopSample(int id); | |||
static void StopSample(int id); | |||
private: | |||
Sampler() {} | |||
}; | |||
} /* namespace lol */ | |||