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 {