| @@ -109,6 +109,13 @@ void Sample::Play() | |||||
| #endif | #endif | ||||
| } | } | ||||
| void Sample::Loop() | |||||
| { | |||||
| #if defined USE_SDL_MIXER | |||||
| data->m_channel = Mix_PlayChannel(-1, data->m_chunk, -1); | |||||
| #endif | |||||
| } | |||||
| void Sample::Stop() | void Sample::Stop() | ||||
| { | { | ||||
| #if defined USE_SDL_MIXER | #if defined USE_SDL_MIXER | ||||
| @@ -40,6 +40,7 @@ protected: | |||||
| public: | public: | ||||
| /* New methods */ | /* New methods */ | ||||
| void Play(); | void Play(); | ||||
| void Loop(); | |||||
| void Stop(); | void Stop(); | ||||
| private: | private: | ||||
| @@ -60,6 +60,12 @@ void Sampler::PlaySample(int id) | |||||
| sample->Play(); | sample->Play(); | ||||
| } | } | ||||
| void Sampler::LoopSample(int id) | |||||
| { | |||||
| Sample *sample = (Sample *)data->samples.GetEntity(id - 1); | |||||
| sample->Loop(); | |||||
| } | |||||
| void Sampler::StopSample(int id) | void Sampler::StopSample(int id) | ||||
| { | { | ||||
| Sample *sample = (Sample *)data->samples.GetEntity(id - 1); | Sample *sample = (Sample *)data->samples.GetEntity(id - 1); | ||||
| @@ -29,6 +29,7 @@ public: | |||||
| static void Deregister(int id); | static void Deregister(int id); | ||||
| static void PlaySample(int id); | static void PlaySample(int id); | ||||
| static void LoopSample(int id); | |||||
| static void StopSample(int id); | static void StopSample(int id); | ||||
| private: | private: | ||||