Mercurial > hg > svcore
diff data/model/DenseTimeValueModel.cpp @ 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 | 48e9f538e6e9 |
line wrap: on
line diff
--- a/data/model/DenseTimeValueModel.cpp Sat Jun 13 08:47:05 2015 +0100 +++ b/data/model/DenseTimeValueModel.cpp Mon Jun 15 12:19:47 2015 +0100 @@ -37,27 +37,19 @@ if (f1 <= f0) return ""; - float **all = new float *[ch]; - for (int c = 0; c < ch; ++c) { - all[c] = new float[f1 - f0]; - } + auto data = getMultiChannelData(0, ch - 1, f0, f1 - f0); - sv_frame_t n = getMultiChannelData(0, ch - 1, f0, f1 - f0, all); - + if (data.empty() || data[0].empty()) return ""; + QStringList list; - for (sv_frame_t i = 0; i < n; ++i) { + for (sv_frame_t i = 0; in_range_for(data[0], i); ++i) { QStringList parts; parts << QString("%1").arg(f0 + i); - for (int c = 0; c < ch; ++c) { - parts << QString("%1").arg(all[c][i]); + for (int c = 0; in_range_for(data, c); ++c) { + parts << QString("%1").arg(data[c][i]); } list << parts.join(delimiter); } - for (int c = 0; c < ch; ++c) { - delete[] all[c]; - } - delete[] all; - return list.join("\n"); }