mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2024-11-22 06:05:38 +00:00
Fix that Sounds can't restart
Sounds now restart when e.g. scrolling up/down repeatedly.
This commit is contained in:
parent
a2c990bd26
commit
517ccbefb5
|
@ -82,8 +82,18 @@ void Sound::play()
|
|||
if(mSampleData == NULL)
|
||||
return;
|
||||
|
||||
//flag our sample as playing
|
||||
playing = true;
|
||||
if (playing)
|
||||
{
|
||||
//replay from start. rewind the sample to the beginning
|
||||
SDL_LockAudio();
|
||||
mSamplePos = 0;
|
||||
SDL_UnlockAudio();
|
||||
}
|
||||
else
|
||||
{
|
||||
//flag our sample as playing
|
||||
playing = true;
|
||||
}
|
||||
//tell the AudioManager to start playing samples
|
||||
AudioManager::play();
|
||||
}
|
||||
|
@ -96,8 +106,10 @@ bool Sound::isPlaying() const
|
|||
void Sound::stop()
|
||||
{
|
||||
//flag our sample as playing and rewind its position
|
||||
SDL_LockAudio();
|
||||
playing = false;
|
||||
mSamplePos = 0;
|
||||
SDL_UnlockAudio();
|
||||
}
|
||||
|
||||
const Uint8 * Sound::getData() const
|
||||
|
|
Loading…
Reference in a new issue