From 562de4e1e86baf348767bab7adc4a5716755ee33 Mon Sep 17 00:00:00 2001 From: radj307 Date: Sun, 12 Nov 2023 14:36:37 -0500 Subject: [PATCH] add TRACE messages when selecting sessions --- .../AudioSessionMultiSelector.cs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/VolumeControl.CoreAudio/AudioSessionMultiSelector.cs b/VolumeControl.CoreAudio/AudioSessionMultiSelector.cs index e487f570..725455f6 100644 --- a/VolumeControl.CoreAudio/AudioSessionMultiSelector.cs +++ b/VolumeControl.CoreAudio/AudioSessionMultiSelector.cs @@ -2,6 +2,7 @@ using System.Runtime.CompilerServices; using VolumeControl.CoreAudio.Events; using VolumeControl.CoreAudio.Interfaces; +using VolumeControl.Log; using VolumeControl.TypeExtensions; namespace VolumeControl.CoreAudio @@ -223,12 +224,19 @@ private PreviewSessionIsSelectedEventArgs NotifyPreviewSessionIsSelected(AudioSe #region Add/Remove SelectedSession private void AddSelectedSession(AudioSession audioSession) { - if (SelectedSessions.Contains(audioSession)) return; + if (SelectedSessions.Contains(audioSession)) + { + FLog.Warning($"[{nameof(AudioSessionMultiSelector)}] Session \"{audioSession.Name}\" is already selected, but {nameof(AddSelectedSession)} was called again!"); + return; + } var hadSelectedSessions = HasSelectedSessions; _selectedSessions.Add(audioSession); if (!hadSelectedSessions) // there are selected sessions now NotifyPropertyChanged(nameof(HasSelectedSessions)); + + if (FLog.FilterEventType(EventType.TRACE)) + FLog.Trace($"[{nameof(AudioSessionMultiSelector)}] Session \"{audioSession.Name}\" was selected."); } private bool RemoveSelectedSession(AudioSession audioSession) { @@ -236,6 +244,9 @@ private bool RemoveSelectedSession(AudioSession audioSession) { if (_selectedSessions.Count == 0) // there are not selected sessions anymore NotifyPropertyChanged(nameof(HasSelectedSessions)); + + if (FLog.FilterEventType(EventType.TRACE)) + FLog.Trace($"[{nameof(AudioSessionMultiSelector)}] Session \"{audioSession.Name}\" was deselected."); return true; } return false;