From fcd10122a5e25b012dc123c6cd1c2bd47e77a77b Mon Sep 17 00:00:00 2001 From: prko Date: Fri, 8 Mar 2024 19:49:14 +0900 Subject: [PATCH 1/5] Update Spectrogram.sc isRunning is added --- Spectrogram.sc | 1 + 1 file changed, 1 insertion(+) diff --git a/Spectrogram.sc b/Spectrogram.sc index 85593ae..3bf56ac 100644 --- a/Spectrogram.sc +++ b/Spectrogram.sc @@ -216,6 +216,7 @@ Spectrogram { stop { this.stopruntask } + isRunning { ^if(running == true) { true } { false } } } SpectrogramWindow : Spectrogram { From c7d18eb1d3ee46bc217bd6a4dec0653e36a4b9c0 Mon Sep 17 00:00:00 2001 From: prko Date: Fri, 8 Mar 2024 20:02:06 +0900 Subject: [PATCH 2/5] Update Spectrogram.schelp documentation update for added method isRunning --- HelpSource/Classes/Spectrogram.schelp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/HelpSource/Classes/Spectrogram.schelp b/HelpSource/Classes/Spectrogram.schelp index 6f18a32..dc4e139 100644 --- a/HelpSource/Classes/Spectrogram.schelp +++ b/HelpSource/Classes/Spectrogram.schelp @@ -62,6 +62,9 @@ Starts analysis and drawing. METHOD:: stop Stop analysis and drawing. +METHOD:: isRunning +A Boolean, true if the spectrogram is active or false if the spectrogram has been stopped. + METHOD:: setBufSize Set the buffer size of the fft window. From 404a140d8fc38c28bb9bd331bfe223b46031b170 Mon Sep 17 00:00:00 2001 From: prko Date: Fri, 8 Mar 2024 22:36:48 +0900 Subject: [PATCH 3/5] Update Spectrogram.schelp isRunning and stop are added to the first example --- HelpSource/Classes/Spectrogram.schelp | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/HelpSource/Classes/Spectrogram.schelp b/HelpSource/Classes/Spectrogram.schelp index dc4e139..aea95ef 100644 --- a/HelpSource/Classes/Spectrogram.schelp +++ b/HelpSource/Classes/Spectrogram.schelp @@ -42,11 +42,22 @@ Specify the range of frequencies you want to visualise. DISCUSSION:: code:: s.boot; + +( // the spectrogram in a window w = Window.new("testing spectrogram", Rect(10,10, 600, 300)).front; -a = Spectrogram.new(w, Rect(10, 10, 580, 280)); -a.start; -{Saw.ar(LFNoise1.kr(1).range(20,2250))}.play; +a = Spectrogram.new(w, Rect(10, 10, 580, 280)) +) + +a.start + +a.isRunning + +{Saw.ar(LFNoise1.kr(1).range(20,2250))}.play + +a.stop + +a.isRunning :: From 4777e4bd34be2ba76a0c74cbe34cfdef12e59fed Mon Sep 17 00:00:00 2001 From: prko Date: Fri, 8 Mar 2024 22:40:06 +0900 Subject: [PATCH 4/5] Update Spectrogram.sc corrected the method implementation for simplicity --- Spectrogram.sc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Spectrogram.sc b/Spectrogram.sc index 3bf56ac..879b1f7 100644 --- a/Spectrogram.sc +++ b/Spectrogram.sc @@ -216,7 +216,7 @@ Spectrogram { stop { this.stopruntask } - isRunning { ^if(running == true) { true } { false } } + isRunning { ^running } } SpectrogramWindow : Spectrogram { From de0a59fb1f6bb3c60ec8e1e3b3d2192f4408f425 Mon Sep 17 00:00:00 2001 From: prko Date: Sun, 10 Mar 2024 20:39:49 +0900 Subject: [PATCH 5/5] Update Spectrogram.sc `this.stopruntask;` -> `if(this.isRunning) { this.stopruntask };` to avoid an error when closing the spectrogram window after stopping it --- Spectrogram.sc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Spectrogram.sc b/Spectrogram.sc index 879b1f7..973f86c 100644 --- a/Spectrogram.sc +++ b/Spectrogram.sc @@ -41,7 +41,7 @@ Spectrogram { this.setUserView(window, bounds); window.onClose_({ image.free; - this.stopruntask; + if(this.isRunning) { this.stopruntask }; fftbuf.free; }).front; } @@ -372,7 +372,7 @@ SpectrogramWindow : Spectrogram { try{ fftSynth.free }; try{ fftbuf.free }; scopeOpen = false; - this.stopruntask; + if(this.isRunning) { this.stopruntask }; CmdPeriod.remove(cper); }).front; }