Mercurial > hg > svcore
diff data/model/DenseTimeValueModel.h @ 1096:4d9816ba0ebe simple-fft-model
Rework audio file reader API to prefer using std containers
author | Chris Cannam |
---|---|
date | Mon, 15 Jun 2015 12:19:47 +0100 |
parents | 9f4505ac9072 |
children | 54af1e21705c |
line wrap: on
line diff
--- a/data/model/DenseTimeValueModel.h Sat Jun 13 08:47:05 2015 +0100 +++ b/data/model/DenseTimeValueModel.h Mon Jun 15 12:19:47 2015 +0100 @@ -57,22 +57,22 @@ /** * Get the specified set of samples from the given channel of the - * model in single-precision floating-point format. Return the - * number of samples actually retrieved. + * model in single-precision floating-point format. Returned + * vector may have fewer samples than requested, if the end of + * file was reached. + * * If the channel is given as -1, mix all available channels and * return the result. */ - virtual sv_frame_t getData(int channel, sv_frame_t start, sv_frame_t count, - float *buffer) const = 0; + virtual std::vector<float> getData(int channel, sv_frame_t start, sv_frame_t count) const = 0; /** - * Get the specified set of samples from given contiguous range - * of channels of the model in single-precision floating-point - * format. Return the number of sample frames actually retrieved. + * Get the specified set of samples from given contiguous range of + * channels of the model in single-precision floating-point + * format. Returned vector may have fewer samples than requested, + * if the end of file was reached. */ - virtual sv_frame_t getMultiChannelData(int fromchannel, int tochannel, - sv_frame_t start, sv_frame_t count, - float **buffers) const = 0; + virtual std::vector<std::vector<float>> getMultiChannelData(int fromchannel, int tochannel, sv_frame_t start, sv_frame_t count) const = 0; virtual bool canPlay() const { return true; } virtual QString getDefaultPlayClipId() const { return ""; }