diff --git a/DynamicIsland/components/Notch/MinimalisticMusicPlayerView.swift b/DynamicIsland/components/Notch/MinimalisticMusicPlayerView.swift index dc3fa1c..7f2a5d2 100644 --- a/DynamicIsland/components/Notch/MinimalisticMusicPlayerView.swift +++ b/DynamicIsland/components/Notch/MinimalisticMusicPlayerView.swift @@ -715,7 +715,7 @@ private struct MinimalisticReminderDetailsView: View { private var playPauseButton: some View { MinimalisticSquircircleButton( - icon: musicManager.isPlaying ? "pause.fill" : "play.fill", + icon: musicManager.isPlaying ? (musicManager.isLiveStream ? "stop.fill" : "pause.fill") : "play.fill", fontSize: 28, fontWeight: .semibold, frameSize: CGSize(width: 60, height: 60), @@ -733,6 +733,7 @@ private struct MinimalisticReminderDetailsView: View { icon: String, size: CGFloat = 18, isActive: Bool = false, + activeColor: Color = .red, pressEffect: MinimalisticSquircircleButton.PressEffect = .none, symbolEffect: MinimalisticSquircircleButton.SymbolEffectStyle = .none, action: @escaping () -> Void @@ -743,7 +744,7 @@ private struct MinimalisticReminderDetailsView: View { fontWeight: .medium, frameSize: CGSize(width: 40, height: 40), cornerRadius: 16, - foregroundColor: isActive ? .red : .white.opacity(0.85), + foregroundColor: isActive ? activeColor : .white.opacity(0.85), pressEffect: pressEffect, symbolEffectStyle: symbolEffect, action: action @@ -767,6 +768,7 @@ private struct MinimalisticReminderDetailsView: View { controlButton( icon: enableLyrics ? "quote.bubble.fill" : "quote.bubble", isActive: enableLyrics, + activeColor: Color(nsColor: musicManager.avgColor), symbolEffect: .replace ) { enableLyrics.toggle() diff --git a/DynamicIsland/components/Notch/NotchHomeView.swift b/DynamicIsland/components/Notch/NotchHomeView.swift index 8f554f7..2d14d73 100644 --- a/DynamicIsland/components/Notch/NotchHomeView.swift +++ b/DynamicIsland/components/Notch/NotchHomeView.swift @@ -259,7 +259,7 @@ struct MusicControlsView: View { backwardConfig.action() } - HoverButton(icon: musicManager.isPlaying ? "pause.fill" : "play.fill", scale: .large) { + HoverButton(icon: musicManager.isPlaying ? (musicManager.isLiveStream ? "stop.fill" : "pause.fill") : "play.fill", scale: .large) { MusicManager.shared.togglePlay() } @@ -329,7 +329,7 @@ struct MusicControlsView: View { case .lyrics: HoverButton( icon: enableLyrics ? "quote.bubble.fill" : "quote.bubble", - iconColor: enableLyrics ? .accentColor : .white, + iconColor: enableLyrics ? Color(nsColor: MusicManager.shared.avgColor) : .white, scale: .medium ) { enableLyrics.toggle() diff --git a/DynamicIsland/managers/MusicManager.swift b/DynamicIsland/managers/MusicManager.swift index 1419319..81a5214 100644 --- a/DynamicIsland/managers/MusicManager.swift +++ b/DynamicIsland/managers/MusicManager.swift @@ -370,8 +370,7 @@ class MusicManager: ObservableObject { } } else { let shouldClearForKnownDuration = - !isPlaying - || (duration > 10 && remaining > 5) + (duration > 10 && remaining > 5) || (liveStreamCompletionObservationCount == 0 && liveStreamEdgeObservationCount == 0 && liveStreamCompletionReleaseCount >= 4) @@ -394,9 +393,6 @@ class MusicManager: ObservableObject { liveStreamEdgeObservationCount = 0 liveStreamCompletionObservationCount = 0 liveStreamCompletionReleaseCount = 0 - if !hasKnownDuration && isLiveStream { - isLiveStream = false - } } }