diff options
-rw-r--r-- | assets/opensb/interface/opensb/voicechat/voicechat.lua | 1 | ||||
-rw-r--r-- | assets/opensb/interface/optionsmenu/optionsmenu.config.patch | 3 | ||||
-rw-r--r-- | assets/opensb/interface/optionsmenu/shine.png | bin | 0 -> 4562 bytes | |||
-rw-r--r-- | assets/opensb/sfx/interface/voice_off.ogg | bin | 0 -> 12926 bytes | |||
-rw-r--r-- | assets/opensb/sfx/interface/voice_on.ogg | bin | 0 -> 13933 bytes | |||
-rw-r--r-- | source/frontend/StarVoice.cpp | 15 |
6 files changed, 9 insertions, 10 deletions
diff --git a/assets/opensb/interface/opensb/voicechat/voicechat.lua b/assets/opensb/interface/opensb/voicechat/voicechat.lua index 4e9f7e7..974b5b1 100644 --- a/assets/opensb/interface/opensb/voicechat/voicechat.lua +++ b/assets/opensb/interface/opensb/voicechat/voicechat.lua @@ -223,5 +223,6 @@ end function voiceToggle() set("enabled", not settings.enabled) + widget.playSound(fmt("/sfx/interface/voice_%s.ogg", settings.enabled and "on" or "off"), 0) updateVoiceButton() end
\ No newline at end of file diff --git a/assets/opensb/interface/optionsmenu/optionsmenu.config.patch b/assets/opensb/interface/optionsmenu/optionsmenu.config.patch index 68b27f9..8866793 100644 --- a/assets/opensb/interface/optionsmenu/optionsmenu.config.patch +++ b/assets/opensb/interface/optionsmenu/optionsmenu.config.patch @@ -42,6 +42,7 @@ "base" : "/interface/optionsmenu/tricontrolsbutton.png", "hover" : "/interface/optionsmenu/tricontrolsbuttonhover.png" }, - "sfxValueLabel" : { "position" : [192, 142] } // this is 2px too low in vanilla lol + "sfxValueLabel" : { "position" : [192, 142] }, // this is 2px too low in vanilla lol + "musicSlider" : { "position" : [62, 126] } } }
\ No newline at end of file diff --git a/assets/opensb/interface/optionsmenu/shine.png b/assets/opensb/interface/optionsmenu/shine.png Binary files differnew file mode 100644 index 0000000..0117c5f --- /dev/null +++ b/assets/opensb/interface/optionsmenu/shine.png diff --git a/assets/opensb/sfx/interface/voice_off.ogg b/assets/opensb/sfx/interface/voice_off.ogg Binary files differnew file mode 100644 index 0000000..7a9d2fb --- /dev/null +++ b/assets/opensb/sfx/interface/voice_off.ogg diff --git a/assets/opensb/sfx/interface/voice_on.ogg b/assets/opensb/sfx/interface/voice_on.ogg Binary files differnew file mode 100644 index 0000000..c00633c --- /dev/null +++ b/assets/opensb/sfx/interface/voice_on.ogg diff --git a/source/frontend/StarVoice.cpp b/source/frontend/StarVoice.cpp index fdc10ea..82205bd 100644 --- a/source/frontend/StarVoice.cpp +++ b/source/frontend/StarVoice.cpp @@ -362,13 +362,14 @@ void Voice::mix(int16_t* buffer, size_t frameCount, unsigned channels) { VoiceAudioStream* audio = speaker->audioStream.get(); MutexLocker audioLock(audio->mutex); if (speaker->playing && !audio->samples.empty()) { + for (size_t i = 0; i != samples; ++i) + speakerBuffer[i] = audio->take(); + + if (speaker != m_clientSpeaker) + speaker->decibelLevel = getAudioLoudness(speakerBuffer.data(), samples); + if (!speaker->muted) { mix = true; - for (size_t i = 0; i != samples; ++i) - speakerBuffer[i] = audio->take(); - - if (speaker != m_clientSpeaker) - speaker->decibelLevel = getAudioLoudness(speakerBuffer.data(), samples); float volume = speaker->volume; Array2F levels = speaker->channelVolumes; @@ -396,10 +397,6 @@ void Voice::mix(int16_t* buffer, size_t frameCount, unsigned channels) { } //*/ } - else { - for (size_t i = 0; i != samples; ++i) - audio->take(); - } ++it; } else { |