From e1c8e1abbd085d1a2eea2ffb2ec993e4f99256c4 Mon Sep 17 00:00:00 2001 From: LgCookie Date: Wed, 9 Jul 2025 23:05:07 +0800 Subject: [PATCH 1/2] don't hide smtc when external control disabled --- LLin.OSIntegrations/Windows/WindowsMediaIntegration.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/LLin.OSIntegrations/Windows/WindowsMediaIntegration.cs b/LLin.OSIntegrations/Windows/WindowsMediaIntegration.cs index b5fc98c..d805889 100644 --- a/LLin.OSIntegrations/Windows/WindowsMediaIntegration.cs +++ b/LLin.OSIntegrations/Windows/WindowsMediaIntegration.cs @@ -108,7 +108,8 @@ public bool Shuffle public bool AllowExternalControl { - set => smtc.IsEnabled = value; + // set => smtc.IsEnabled = value; + get; set; } //endregion Controls @@ -148,7 +149,8 @@ private void smtcPlaybackRateChangeRequested(SystemMediaTransportControls sender private void smtcPlaybackPositionChangeRequested(SystemMediaTransportControls sender, PlaybackPositionChangeRequestedEventArgs args) { - SetPosition?.Invoke(args.RequestedPlaybackPosition.Milliseconds); + if (AllowExternalControl) + SetPosition?.Invoke(args.RequestedPlaybackPosition.Milliseconds); } private void smtcPropertyChanged(SystemMediaTransportControls sender, @@ -160,6 +162,8 @@ private void smtcPropertyChanged(SystemMediaTransportControls sender, private void smtcButtonPressed(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs args) { + if (!AllowExternalControl) + return; switch (args.Button) { case SystemMediaTransportControlsButton.Play: From 0a42eb265f96976ae84f92f38abaffad233025f4 Mon Sep 17 00:00:00 2001 From: LgCookie Date: Fri, 28 Nov 2025 16:20:22 +0800 Subject: [PATCH 2/2] Simplify playback position change handling Removed unnecessary conditional check for AllowExternalControl in playback position change handling. --- LLin.OSIntegrations/Windows/WindowsMediaIntegration.cs | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/LLin.OSIntegrations/Windows/WindowsMediaIntegration.cs b/LLin.OSIntegrations/Windows/WindowsMediaIntegration.cs index d805889..3220d8f 100644 --- a/LLin.OSIntegrations/Windows/WindowsMediaIntegration.cs +++ b/LLin.OSIntegrations/Windows/WindowsMediaIntegration.cs @@ -149,8 +149,7 @@ private void smtcPlaybackRateChangeRequested(SystemMediaTransportControls sender private void smtcPlaybackPositionChangeRequested(SystemMediaTransportControls sender, PlaybackPositionChangeRequestedEventArgs args) { - if (AllowExternalControl) - SetPosition?.Invoke(args.RequestedPlaybackPosition.Milliseconds); + SetPosition?.Invoke(args.RequestedPlaybackPosition.Milliseconds); } private void smtcPropertyChanged(SystemMediaTransportControls sender, @@ -162,8 +161,6 @@ private void smtcPropertyChanged(SystemMediaTransportControls sender, private void smtcButtonPressed(SystemMediaTransportControls sender, SystemMediaTransportControlsButtonPressedEventArgs args) { - if (!AllowExternalControl) - return; switch (args.Button) { case SystemMediaTransportControlsButton.Play: