From 2ba8ec04a205c179481490de74fc57301868d1b6 Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Thu, 13 Feb 2025 19:58:20 -0800 Subject: [PATCH] Visualization: Optimize Swift code handling arrays This looks a lot better than some ruddy for-loops. Signed-off-by: Christopher Snowhill --- .../VisualizationController.swift | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/Audio/Visualization/VisualizationController.swift b/Audio/Visualization/VisualizationController.swift index 899d13411..76c8990f3 100644 --- a/Audio/Visualization/VisualizationController.swift +++ b/Audio/Visualization/VisualizationController.swift @@ -67,10 +67,17 @@ class VisualizationController : NSObject { let bufferPointer = UnsafeBufferPointer(start: inPCM, count: amount) var j = self.visAudioCursor let k = self.visAudioSize - for i in 0..= k { j = 0 } + if(j + amount <= k) { + let endIndex = j + amount; + self.visAudio.replaceSubrange(j..= k) { j = 0 } + } else { + let inEndIndex = k - j + let remainder = amount - inEndIndex + self.visAudio.replaceSubrange(j..= k { j = 0 } + if(j + samplesToDo <= k) { + outPCMCopy.replaceSubrange(0..