ref: 0dc9bb6b1bb6cd6d41428e42014ac9bbd70cf556
parent: d02af1bfbaef88a9f563044652d0878ae2f609c2
author: Clownacy <Clownacy@users.noreply.github.com>
date: Fri Sep 6 10:46:31 EDT 2019
Change the audio backend API again
--- a/src/Backends/Audio.h
+++ b/src/Backends/Audio.h
@@ -15,7 +15,7 @@
void AudioBackend_PlaySound(AudioBackend_Sound *sound, BOOL looping);
void AudioBackend_StopSound(AudioBackend_Sound *sound);
-void AudioBackend_PauseSound(AudioBackend_Sound *sound);
+void AudioBackend_RewindSound(AudioBackend_Sound *sound);
void AudioBackend_SetSoundFrequency(AudioBackend_Sound *sound, unsigned int frequency);
void AudioBackend_SetSoundVolume(AudioBackend_Sound *sound, long volume);
--- a/src/Backends/Audio/SDL2.cpp
+++ b/src/Backends/Audio/SDL2.cpp
@@ -272,7 +272,7 @@
SDL_UnlockAudioDevice(device_id);
}
-void AudioBackend_PauseSound(AudioBackend_Sound *sound)
+void AudioBackend_RewindSound(AudioBackend_Sound *sound)
{
if (sound == NULL)
return;
@@ -279,7 +279,7 @@
SDL_LockAudioDevice(device_id);
- sound->playing = FALSE;
+ sound->position = 0.0;
SDL_UnlockAudioDevice(device_id);
}
--- a/src/Organya.cpp
+++ b/src/Organya.cpp
@@ -177,6 +177,7 @@
}
AudioBackend_UnlockSound(lpORGANBUFFER[track][j][k]);
+ AudioBackend_RewindSound(lpORGANBUFFER[track][j][k]);
}
}
@@ -219,6 +220,7 @@
case 0: // 停止 (Stop)
if (old_key[track] != 0xFF)
AudioBackend_StopSound(lpORGANBUFFER[track][old_key[track] / 12][key_twin[track]]);
+ AudioBackend_RewindSound(lpORGANBUFFER[track][old_key[track] / 12][key_twin[track]]);
break;
case 1: // 再生 (Playback)
@@ -341,10 +343,12 @@
{
case 0: // 停止 (Stop)
AudioBackend_StopSound(lpSECONDARYBUFFER[150 + track]);
+ AudioBackend_RewindSound(lpSECONDARYBUFFER[150 + track]);
break;
case 1: // 再生 (Playback)
AudioBackend_StopSound(lpSECONDARYBUFFER[150 + track]);
+ AudioBackend_RewindSound(lpSECONDARYBUFFER[150 + track]);
ChangeDramFrequency(key, track); // 周波数を設定して ()
AudioBackend_PlaySound(lpSECONDARYBUFFER[150 + track], FALSE);
break;
--- a/src/Sound.cpp
+++ b/src/Sound.cpp
@@ -197,11 +197,12 @@
switch (mode)
{
case 0: // 停止 (Stop)
- AudioBackend_PauseSound(lpSECONDARYBUFFER[no]);
+ AudioBackend_StopSound(lpSECONDARYBUFFER[no]);
break;
case 1: // 再生 (Playback)
AudioBackend_StopSound(lpSECONDARYBUFFER[no]);
+ AudioBackend_RewindSound(lpSECONDARYBUFFER[no]);
AudioBackend_PlaySound(lpSECONDARYBUFFER[no], FALSE);
break;
--
⑨