From 7cb010e33718b3d99abfb5f0521d4534719c1f3c Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Thu, 13 Mar 2025 19:47:35 -0700 Subject: [PATCH] Code Fix: Add nullability flags to Vis Manager The Visualization Manager PCM/FFT copy function was already observing these parameters for null input and only returning output to the ones which were not null. This just makes it clear that they are both optional parameters. This is useful for future visualization adventures, allowing PCM copy without invoking the FFT processing, or requesting FFT without also having to keep the PCM. This is mostly only a compile time change, and has no noticeable effect on the current runtime behavior, as the only consumers of the Visualizer data currently request both PCM and FFT. Signed-off-by: Christopher Snowhill --- Audio/Visualization/VisualizationController.h | 2 +- Audio/Visualization/VisualizationController.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Audio/Visualization/VisualizationController.h b/Audio/Visualization/VisualizationController.h index 335bceb05..5b391e22d 100644 --- a/Audio/Visualization/VisualizationController.h +++ b/Audio/Visualization/VisualizationController.h @@ -21,7 +21,7 @@ NS_ASSUME_NONNULL_BEGIN - (void)postSampleRate:(double)sampleRate; - (void)postVisPCM:(const float *)inPCM amount:(int)amount; - (double)readSampleRate; -- (void)copyVisPCM:(float *)outPCM visFFT:(float *)outFFT latencyOffset:(double)latency; +- (void)copyVisPCM:(float *_Nullable)outPCM visFFT:(float *_Nullable)outFFT latencyOffset:(double)latency; - (void)reset; diff --git a/Audio/Visualization/VisualizationController.m b/Audio/Visualization/VisualizationController.m index d95e69f53..6c02cd4f5 100644 --- a/Audio/Visualization/VisualizationController.m +++ b/Audio/Visualization/VisualizationController.m @@ -112,7 +112,7 @@ static VisualizationController *_sharedController = nil; return visSamplesPosted; } -- (void)copyVisPCM:(float *)outPCM visFFT:(float *)outFFT latencyOffset:(double)latency { +- (void)copyVisPCM:(float *_Nullable)outPCM visFFT:(float *_Nullable)outFFT latencyOffset:(double)latency { if(!outPCM && !outFFT) return; if(!visAudio || !visAudioSize) {