@@ -205,31 +205,33 @@ class SpectralAnalyzer
205205 startFrame - = startFrame % numOctets ;
206206 var segment = audioSource .buffer .data .subarray (startFrame , min (startFrame + wantedLength , audioSource .buffer .data .length ));
207207
208- var signal = getSignal (segment , audioSource .buffer .bitsPerSample );
208+ getSignal (segment , audioSource .buffer .bitsPerSample ); // Sets _buffer
209209
210210 if (audioSource .buffer .channels > 1 ) {
211- _mixedCache .resize (Std .int (signal .length / audioSource .buffer .channels ));
211+ var wantedArrayLength = Std .int (_buffer .length / audioSource .buffer .channels );
212+ if (_mixedCache .length != wantedArrayLength )
213+ _mixedCache .resize (wantedArrayLength );
214+
212215 for (i in 0 ... _mixedCache .length ) {
213216 _mixedCache [i ] = 0.0 ;
214217 for (c in 0 ... audioSource .buffer .channels ) {
215- _mixedCache [i ] + = 0.7 * signal [i * audioSource .buffer .channels + c ];
218+ _mixedCache [i ] + = 0.7 * _buffer [i * audioSource .buffer .channels + c ];
216219 }
217220 _mixedCache [i ] * = blackmanWindow [i ];
218221 }
219- signal = _mixedCache ;
222+ // _buffer = _mixedCache;
220223 }
221224
222225 var range = 16 ;
223- var freqs = fft .calcFreq (signal );
226+ var freqs = fft .calcFreq (_mixedCache );
224227
225228 _logGraphCache = vis .makeLogGraph (freqs , barCount + 1 , Math .floor (maxDb - minDb ), range , _logGraphCache );
226229
227- if (_logGraphCache .length - 1 > barHistories .length ) {
230+ /* if (_logGraphCache.length - 1 > barHistories.length) {
228231 barHistories.resize(_logGraphCache.length - 1);
229- }
230-
232+ }*/
233+ // levels.resize(_logGraphCache.length-1);
231234
232- levels .resize (_logGraphCache .length - 1 );
233235 for (i in 0 ... _logGraphCache .length - 1 ) {
234236
235237 if (barHistories [i ] == null ) barHistories [i ] = new RecentPeakFinder ();
0 commit comments