Add volume override for audio_mixer_mix

This commit is contained in:
twinaphex 2017-06-08 22:03:11 +02:00
parent 8980f8c1ea
commit cd3276c554
3 changed files with 4 additions and 4 deletions

View File

@ -621,7 +621,7 @@ static bool audio_driver_flush(const int16_t *data, size_t samples)
audio_driver_resampler->process(audio_driver_resampler_data, &src_data);
if (audio_mixer_active)
audio_mixer_mix(audio_driver_output_samples_buf, src_data.output_frames);
audio_mixer_mix(audio_driver_output_samples_buf, src_data.output_frames, 0.0f);
output_data = audio_driver_output_samples_buf;
output_frames = (unsigned)src_data.output_frames;

View File

@ -608,7 +608,7 @@ again:
}
#endif
void audio_mixer_mix(float* buffer, size_t num_frames)
void audio_mixer_mix(float* buffer, size_t num_frames, float volume_override)
{
unsigned i;
size_t j = 0;
@ -621,7 +621,7 @@ void audio_mixer_mix(float* buffer, size_t num_frames)
for (i = 0; i < AUDIO_MIXER_MAX_VOICES; i++, voice++)
{
float volume = voice->volume;
float volume = (volume_override == 0.0f) ? voice->volume : volume_override;
switch (voice->type)
{

View File

@ -67,7 +67,7 @@ audio_mixer_voice_t* audio_mixer_play(audio_mixer_sound_t* sound,
void audio_mixer_stop(audio_mixer_voice_t* voice);
void audio_mixer_mix(float* buffer, size_t num_frames);
void audio_mixer_mix(float* buffer, size_t num_frames, float volume_override);
RETRO_END_DECLS