Change the audio backend API again

This commit is contained in:
Clownacy 2019-09-06 14:46:31 +00:00
parent d02af1bfba
commit 0dc9bb6b1b
4 changed files with 9 additions and 4 deletions

View file

@ -15,7 +15,7 @@ void AudioBackend_UnlockSound(AudioBackend_Sound *sound);
void AudioBackend_PlaySound(AudioBackend_Sound *sound, BOOL looping); void AudioBackend_PlaySound(AudioBackend_Sound *sound, BOOL looping);
void AudioBackend_StopSound(AudioBackend_Sound *sound); 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_SetSoundFrequency(AudioBackend_Sound *sound, unsigned int frequency);
void AudioBackend_SetSoundVolume(AudioBackend_Sound *sound, long volume); void AudioBackend_SetSoundVolume(AudioBackend_Sound *sound, long volume);

View file

@ -272,14 +272,14 @@ void AudioBackend_StopSound(AudioBackend_Sound *sound)
SDL_UnlockAudioDevice(device_id); SDL_UnlockAudioDevice(device_id);
} }
void AudioBackend_PauseSound(AudioBackend_Sound *sound) void AudioBackend_RewindSound(AudioBackend_Sound *sound)
{ {
if (sound == NULL) if (sound == NULL)
return; return;
SDL_LockAudioDevice(device_id); SDL_LockAudioDevice(device_id);
sound->playing = FALSE; sound->position = 0.0;
SDL_UnlockAudioDevice(device_id); SDL_UnlockAudioDevice(device_id);
} }

View file

@ -177,6 +177,7 @@ BOOL MakeSoundObject8(signed char *wavep, signed char track, signed char pipi)
} }
AudioBackend_UnlockSound(lpORGANBUFFER[track][j][k]); AudioBackend_UnlockSound(lpORGANBUFFER[track][j][k]);
AudioBackend_RewindSound(lpORGANBUFFER[track][j][k]);
} }
} }
@ -219,6 +220,7 @@ void PlayOrganObject(unsigned char key, int mode, signed char track, long freq)
case 0: // 停止 (Stop) case 0: // 停止 (Stop)
if (old_key[track] != 0xFF) if (old_key[track] != 0xFF)
AudioBackend_StopSound(lpORGANBUFFER[track][old_key[track] / 12][key_twin[track]]); AudioBackend_StopSound(lpORGANBUFFER[track][old_key[track] / 12][key_twin[track]]);
AudioBackend_RewindSound(lpORGANBUFFER[track][old_key[track] / 12][key_twin[track]]);
break; break;
case 1: // 再生 (Playback) case 1: // 再生 (Playback)
@ -341,10 +343,12 @@ void PlayDramObject(unsigned char key, int mode, signed char track)
{ {
case 0: // 停止 (Stop) case 0: // 停止 (Stop)
AudioBackend_StopSound(lpSECONDARYBUFFER[150 + track]); AudioBackend_StopSound(lpSECONDARYBUFFER[150 + track]);
AudioBackend_RewindSound(lpSECONDARYBUFFER[150 + track]);
break; break;
case 1: // 再生 (Playback) case 1: // 再生 (Playback)
AudioBackend_StopSound(lpSECONDARYBUFFER[150 + track]); AudioBackend_StopSound(lpSECONDARYBUFFER[150 + track]);
AudioBackend_RewindSound(lpSECONDARYBUFFER[150 + track]);
ChangeDramFrequency(key, track); // 周波数を設定して () ChangeDramFrequency(key, track); // 周波数を設定して ()
AudioBackend_PlaySound(lpSECONDARYBUFFER[150 + track], FALSE); AudioBackend_PlaySound(lpSECONDARYBUFFER[150 + track], FALSE);
break; break;

View file

@ -197,11 +197,12 @@ void PlaySoundObject(int no, int mode)
switch (mode) switch (mode)
{ {
case 0: // 停止 (Stop) case 0: // 停止 (Stop)
AudioBackend_PauseSound(lpSECONDARYBUFFER[no]); AudioBackend_StopSound(lpSECONDARYBUFFER[no]);
break; break;
case 1: // 再生 (Playback) case 1: // 再生 (Playback)
AudioBackend_StopSound(lpSECONDARYBUFFER[no]); AudioBackend_StopSound(lpSECONDARYBUFFER[no]);
AudioBackend_RewindSound(lpSECONDARYBUFFER[no]);
AudioBackend_PlaySound(lpSECONDARYBUFFER[no], FALSE); AudioBackend_PlaySound(lpSECONDARYBUFFER[no], FALSE);
break; break;