Mercurial > hg > svcore
comparison data/model/test/MockWaveModel.cpp @ 1365:3382d914e110
Merge from branch 3.0-integration
author | Chris Cannam |
---|---|
date | Fri, 13 Jan 2017 10:29:44 +0000 |
parents | 54af1e21705c |
children | 48e9f538e6e9 c0f69bddea12 |
comparison
equal
deleted
inserted
replaced
1272:6a7ea3bd0e10 | 1365:3382d914e110 |
---|---|
24 for (auto sort: sorts) { | 24 for (auto sort: sorts) { |
25 m_data.push_back(generate(sort, length, pad)); | 25 m_data.push_back(generate(sort, length, pad)); |
26 } | 26 } |
27 } | 27 } |
28 | 28 |
29 sv_frame_t | 29 floatvec_t |
30 MockWaveModel::getData(int channel, sv_frame_t start, sv_frame_t count, | 30 MockWaveModel::getData(int channel, sv_frame_t start, sv_frame_t count) const |
31 float *buffer) const | |
32 { | 31 { |
33 sv_frame_t i = 0; | 32 sv_frame_t i = 0; |
34 | 33 |
35 cerr << "MockWaveModel::getData(" << channel << "," << start << "," << count << "): "; | 34 // cerr << "MockWaveModel::getData(" << channel << "," << start << "," << count << "): "; |
36 | 35 |
36 floatvec_t data; | |
37 | |
37 while (i < count) { | 38 while (i < count) { |
38 sv_frame_t idx = start + i; | 39 sv_frame_t idx = start + i; |
39 if (!in_range_for(m_data[channel], idx)) break; | 40 if (!in_range_for(m_data[channel], idx)) break; |
40 buffer[i] = m_data[channel][idx]; | 41 data.push_back(m_data[channel][idx]); |
41 cerr << buffer[i] << " "; | 42 // cerr << data[i] << " "; |
42 ++i; | 43 ++i; |
43 } | 44 } |
44 | 45 |
45 cerr << endl; | 46 // cerr << endl; |
46 | 47 |
47 return i; | 48 return data; |
48 } | 49 } |
49 | 50 |
50 sv_frame_t | 51 vector<floatvec_t> |
51 MockWaveModel::getMultiChannelData(int fromchannel, int tochannel, | 52 MockWaveModel::getMultiChannelData(int fromchannel, int tochannel, |
52 sv_frame_t start, sv_frame_t count, | 53 sv_frame_t start, sv_frame_t count) const |
53 float **buffers) const | |
54 { | 54 { |
55 sv_frame_t min = count; | 55 vector<floatvec_t> data(tochannel - fromchannel + 1); |
56 | 56 |
57 for (int c = fromchannel; c <= tochannel; ++c) { | 57 for (int c = fromchannel; c <= tochannel; ++c) { |
58 sv_frame_t n = getData(c, start, count, buffers[c]); | 58 data.push_back(getData(c, start, count)); |
59 if (n < min) min = n; | |
60 } | 59 } |
61 | 60 |
62 return min; | 61 return data; |
63 } | 62 } |
64 | 63 |
65 vector<float> | 64 vector<float> |
66 MockWaveModel::generate(Sort sort, int length, int pad) const | 65 MockWaveModel::generate(Sort sort, int length, int pad) const |
67 { | 66 { |