comparison src/vamp-hostsdk/PluginInputDomainAdapter.cpp @ 510:8742125177ae

Merge from branch vamp-kiss-naming
author Chris Cannam
date Thu, 08 Feb 2018 15:40:33 +0000
parents 90571dcc371a
children
comparison
equal deleted inserted replaced
502:d129bf797f24 510:8742125177ae
84 float m_inputSampleRate; 84 float m_inputSampleRate;
85 int m_channels; 85 int m_channels;
86 int m_stepSize; 86 int m_stepSize;
87 int m_blockSize; 87 int m_blockSize;
88 float **m_freqbuf; 88 float **m_freqbuf;
89 Kiss::kiss_fft_scalar *m_ri; 89 Kiss::vamp_kiss_fft_scalar *m_ri;
90 90
91 WindowType m_windowType; 91 WindowType m_windowType;
92 typedef Window<Kiss::kiss_fft_scalar> W; 92 typedef Window<Kiss::vamp_kiss_fft_scalar> W;
93 W *m_window; 93 W *m_window;
94 94
95 ProcessTimestampMethod m_method; 95 ProcessTimestampMethod m_method;
96 int m_processCount; 96 int m_processCount;
97 float **m_shiftBuffers; 97 float **m_shiftBuffers;
98 98
99 Kiss::kiss_fftr_cfg m_cfg; 99 Kiss::vamp_kiss_fftr_cfg m_cfg;
100 Kiss::kiss_fft_cpx *m_cbuf; 100 Kiss::vamp_kiss_fft_cpx *m_cbuf;
101 101
102 FeatureSet processShiftingTimestamp(const float *const *inputBuffers, RealTime timestamp); 102 FeatureSet processShiftingTimestamp(const float *const *inputBuffers, RealTime timestamp);
103 FeatureSet processShiftingData(const float *const *inputBuffers, RealTime timestamp); 103 FeatureSet processShiftingData(const float *const *inputBuffers, RealTime timestamp);
104 104
105 size_t makeBlockSizeAcceptable(size_t) const; 105 size_t makeBlockSizeAcceptable(size_t) const;
219 delete[] m_freqbuf[c]; 219 delete[] m_freqbuf[c];
220 } 220 }
221 delete[] m_freqbuf; 221 delete[] m_freqbuf;
222 delete[] m_ri; 222 delete[] m_ri;
223 if (m_cfg) { 223 if (m_cfg) {
224 Kiss::kiss_fftr_free(m_cfg); 224 Kiss::vamp_kiss_fftr_free(m_cfg);
225 m_cfg = 0; 225 m_cfg = 0;
226 delete[] m_cbuf; 226 delete[] m_cbuf;
227 m_cbuf = 0; 227 m_cbuf = 0;
228 } 228 }
229 delete m_window; 229 delete m_window;
262 delete[] m_freqbuf[c]; 262 delete[] m_freqbuf[c];
263 } 263 }
264 delete[] m_freqbuf; 264 delete[] m_freqbuf;
265 delete[] m_ri; 265 delete[] m_ri;
266 if (m_cfg) { 266 if (m_cfg) {
267 Kiss::kiss_fftr_free(m_cfg); 267 Kiss::vamp_kiss_fftr_free(m_cfg);
268 m_cfg = 0; 268 m_cfg = 0;
269 delete[] m_cbuf; 269 delete[] m_cbuf;
270 m_cbuf = 0; 270 m_cbuf = 0;
271 } 271 }
272 delete m_window; 272 delete m_window;
278 278
279 m_freqbuf = new float *[m_channels]; 279 m_freqbuf = new float *[m_channels];
280 for (int c = 0; c < m_channels; ++c) { 280 for (int c = 0; c < m_channels; ++c) {
281 m_freqbuf[c] = new float[m_blockSize + 2]; 281 m_freqbuf[c] = new float[m_blockSize + 2];
282 } 282 }
283 m_ri = new Kiss::kiss_fft_scalar[m_blockSize]; 283 m_ri = new Kiss::vamp_kiss_fft_scalar[m_blockSize];
284 284
285 m_window = new W(convertType(m_windowType), m_blockSize); 285 m_window = new W(convertType(m_windowType), m_blockSize);
286 286
287 m_cfg = Kiss::kiss_fftr_alloc(m_blockSize, false, 0, 0); 287 m_cfg = Kiss::vamp_kiss_fftr_alloc(m_blockSize, false, 0, 0);
288 m_cbuf = new Kiss::kiss_fft_cpx[m_blockSize/2+1]; 288 m_cbuf = new Kiss::vamp_kiss_fft_cpx[m_blockSize/2+1];
289 289
290 m_processCount = 0; 290 m_processCount = 0;
291 291
292 return m_plugin->initialise(channels, stepSize, m_blockSize); 292 return m_plugin->initialise(channels, stepSize, m_blockSize);
293 } 293 }
450 450
451 m_window->cut(inputBuffers[c], m_ri); 451 m_window->cut(inputBuffers[c], m_ri);
452 452
453 for (int i = 0; i < m_blockSize/2; ++i) { 453 for (int i = 0; i < m_blockSize/2; ++i) {
454 // FFT shift 454 // FFT shift
455 Kiss::kiss_fft_scalar value = m_ri[i]; 455 Kiss::vamp_kiss_fft_scalar value = m_ri[i];
456 m_ri[i] = m_ri[i + m_blockSize/2]; 456 m_ri[i] = m_ri[i + m_blockSize/2];
457 m_ri[i + m_blockSize/2] = value; 457 m_ri[i + m_blockSize/2] = value;
458 } 458 }
459 459
460 Kiss::kiss_fftr(m_cfg, m_ri, m_cbuf); 460 Kiss::vamp_kiss_fftr(m_cfg, m_ri, m_cbuf);
461 461
462 for (int i = 0; i <= m_blockSize/2; ++i) { 462 for (int i = 0; i <= m_blockSize/2; ++i) {
463 m_freqbuf[c][i * 2] = float(m_cbuf[i].r); 463 m_freqbuf[c][i * 2] = float(m_cbuf[i].r);
464 m_freqbuf[c][i * 2 + 1] = float(m_cbuf[i].i); 464 m_freqbuf[c][i * 2 + 1] = float(m_cbuf[i].i);
465 } 465 }
499 499
500 m_window->cut(m_shiftBuffers[c], m_ri); 500 m_window->cut(m_shiftBuffers[c], m_ri);
501 501
502 for (int i = 0; i < m_blockSize/2; ++i) { 502 for (int i = 0; i < m_blockSize/2; ++i) {
503 // FFT shift 503 // FFT shift
504 Kiss::kiss_fft_scalar value = m_ri[i]; 504 Kiss::vamp_kiss_fft_scalar value = m_ri[i];
505 m_ri[i] = m_ri[i + m_blockSize/2]; 505 m_ri[i] = m_ri[i + m_blockSize/2];
506 m_ri[i + m_blockSize/2] = value; 506 m_ri[i + m_blockSize/2] = value;
507 } 507 }
508 508
509 Kiss::kiss_fftr(m_cfg, m_ri, m_cbuf); 509 Kiss::vamp_kiss_fftr(m_cfg, m_ri, m_cbuf);
510 510
511 for (int i = 0; i <= m_blockSize/2; ++i) { 511 for (int i = 0; i <= m_blockSize/2; ++i) {
512 m_freqbuf[c][i * 2] = float(m_cbuf[i].r); 512 m_freqbuf[c][i * 2] = float(m_cbuf[i].r);
513 m_freqbuf[c][i * 2 + 1] = float(m_cbuf[i].i); 513 m_freqbuf[c][i * 2 + 1] = float(m_cbuf[i].i);
514 } 514 }