Open
Conversation
Author
|
holy fumble I forgot to git add the sound helper AND audio files |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Here's the run down of the general changes I did to make the voice chat experience feel a bit better!
Sound playback fix
Okay so this one wasn't actually related to voice chat but I needed to fix this for the join/leave call sounds below. Essentially all sound playback was bugged and not playing.
Resourceand played via relative URIs when the WPF MediaPlayer needs real file paths.Resources/Soundsare nowContentwithCopyToOutputDirectory="PreserveNewest", and the newSoundHelperbuilds URIs fromAppDomain.CurrentDomain.BaseDirectoryso playback uses the copied files.Join/leave call sounds
It's pretty much what it says it is. Just adds a join and leave sound.
OnVoiceStateUpdatedcomparesBefore.Channel?.IdandAfter.Channel?.Idto detect join/leave.Speaking glow
does that green circle thing that happens when you talk on discord, though I changed it to fit the theme
VoiceSocketmaps SSRC to user (opcode 5) and computes RMS on incoming PCM; above a certain threshold sets “speaking” and a timer that clears it after ~300 ms.UserViewModel.IsSpeakingis updated fromVoiceManagerevents; connected-user items use aDataTriggeronIsSpeakingto show a faint green gradient +DropShadowEffect.Voice user context menu
Similar to how you can open a context menu when you right click someone in call on discord, you can do it here now.
NAudioPlayer).SelfDeafenedskipsProcessPacket).ClientTransmitVolume); others = per-SSRCVolumeSampleProviderin the mixer.