comparison vamp-sdk/Plugin.h @ 47:be8fdfe25693

* Change input buffers arg to process from float ** to const float *const * to avoid plugins modifying their input data * Some improvements to comments * Fix stupidity in frequency-domain input passing (there are n/2+1 values, not n/2)
author cannam
date Fri, 08 Dec 2006 17:39:32 +0000
parents 154f86cb8c99
children aa64a46320d4
comparison
equal deleted inserted replaced
46:2858c897d90f 47:be8fdfe25693
344 * the real time in seconds of the start of the supplied block of 344 * the real time in seconds of the start of the supplied block of
345 * samples. 345 * samples.
346 * 346 *
347 * If the plugin's inputDomain is FrequencyDomain, inputBuffers 347 * If the plugin's inputDomain is FrequencyDomain, inputBuffers
348 * will point to one array of floats per input channel, and each 348 * will point to one array of floats per input channel, and each
349 * of these arrays will contain blockSize/2 consecutive pairs of 349 * of these arrays will contain blockSize/2+1 consecutive pairs of
350 * real and imaginary component floats corresponding to bins 350 * real and imaginary component floats corresponding to bins
351 * 0..(blockSize/2-1) of the FFT output. The timestamp will be 351 * 0..(blockSize/2) of the FFT output, where bin 0 contains the DC
352 * the real time in seconds of the centre of the FFT input window 352 * output and bin blockSize/2 corresponds to the Nyquist output.
353 * (i.e. the very first block passed to process might contain the 353 * The timestamp will be the real time in seconds of the centre of
354 * FFT of half a block of zero samples and the first half-block of 354 * the FFT input window (i.e. the very first block passed to
355 * the actual data, with a timestamp of zero). 355 * process might contain the FFT of half a block of zero samples
356 * and the first half-block of the actual data, with a timestamp
357 * of zero).
356 * 358 *
357 * Return any features that have become available after this 359 * Return any features that have become available after this
358 * process call. (These do not necessarily have to fall within 360 * process call. (These do not necessarily have to fall within
359 * the process block, except for OneSamplePerStep outputs.) 361 * the process block, except for OneSamplePerStep outputs.)
360 */ 362 */
361 virtual FeatureSet process(float **inputBuffers, 363 virtual FeatureSet process(const float *const *inputBuffers,
362 RealTime timestamp) = 0; 364 RealTime timestamp) = 0;
363 365
364 /** 366 /**
365 * After all blocks have been processed, calculate and return any 367 * After all blocks have been processed, calculate and return any
366 * remaining features derived from the complete input. 368 * remaining features derived from the complete input.