From 2102fc1c4468b9d393798b3d8568edaf44a58e66 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Tue, 3 Oct 2023 19:32:40 -0700 Subject: [PATCH] Visualization: Reset buffer on playback stop Reset the visualization system when stopping playback. Signed-off-by: Christopher Snowhill --- Audio/Output/OutputCoreAudio.m | 5 ++++- Audio/Visualization/VisualizationController.swift | 11 +++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/Audio/Output/OutputCoreAudio.m b/Audio/Output/OutputCoreAudio.m index deaa4c0d1..62383cec5 100644 --- a/Audio/Output/OutputCoreAudio.m +++ b/Audio/Output/OutputCoreAudio.m @@ -1347,7 +1347,10 @@ current_device_listener(AudioObjectID inObjectID, UInt32 inNumberAddresses, cons } #endif outputController = nil; - visController = nil; + if(visController) { + [visController reset]; + visController = nil; + } if(rsvis) { rsstate_delete(rsvis); rsvis = NULL; diff --git a/Audio/Visualization/VisualizationController.swift b/Audio/Visualization/VisualizationController.swift index af305702b..b77d764cb 100644 --- a/Audio/Visualization/VisualizationController.swift +++ b/Audio/Visualization/VisualizationController.swift @@ -25,6 +25,17 @@ class VisualizationController : NSObject { class func sharedController() -> VisualizationController { return sharedVisualizationController } + + @objc + func reset() { + serialQueue.sync { + self.latency = 0; + let amount = self.visAudioSize + for i in 0..