Mercurial > hg > qm-vamp-plugins
comparison plugins/SegmenterPlugin.cpp @ 178:f96ea0e4b475
Fix compiler warnings with -Wall -Wextra
author | Chris Cannam <c.cannam@qmul.ac.uk> |
---|---|
date | Mon, 28 Sep 2015 12:33:17 +0100 |
parents | 7c7881bbb6ca |
children | af6a5ba00a8f |
comparison
equal
deleted
inserted
replaced
177:a83a81ed1303 | 178:f96ea0e4b475 |
---|---|
26 using std::ostringstream; | 26 using std::ostringstream; |
27 | 27 |
28 SegmenterPlugin::SegmenterPlugin(float inputSampleRate) : | 28 SegmenterPlugin::SegmenterPlugin(float inputSampleRate) : |
29 Plugin(inputSampleRate), | 29 Plugin(inputSampleRate), |
30 segmenter(0), | 30 segmenter(0), |
31 hopsize(0), | |
32 windowsize(0), | |
33 neighbourhoodLimit(4), | |
31 nSegmentTypes(10), | 34 nSegmentTypes(10), |
32 neighbourhoodLimit(4), | |
33 featureType(feature_types(1)) | 35 featureType(feature_types(1)) |
34 { | 36 { |
35 | 37 |
36 } | 38 } |
37 | 39 |
79 if (channels < getMinChannelCount() || | 81 if (channels < getMinChannelCount() || |
80 channels > getMaxChannelCount()) return false; | 82 channels > getMaxChannelCount()) return false; |
81 | 83 |
82 if (!segmenter) makeSegmenter(); | 84 if (!segmenter) makeSegmenter(); |
83 | 85 |
84 if (stepSize != hopsize) { | 86 if (int(stepSize) != hopsize) { |
85 std::cerr << "SegmenterPlugin::initialise: supplied step size " | 87 std::cerr << "SegmenterPlugin::initialise: supplied step size " |
86 << stepSize << " differs from required step size " << hopsize | 88 << stepSize << " differs from required step size " << hopsize |
87 << std::endl; | 89 << std::endl; |
88 return false; | 90 return false; |
89 } | 91 } |
90 | 92 |
91 if (blockSize != windowsize) { | 93 if (int(blockSize) != windowsize) { |
92 std::cerr << "SegmenterPlugin::initialise: supplied block size " | 94 std::cerr << "SegmenterPlugin::initialise: supplied block size " |
93 << blockSize << " differs from required block size " << windowsize | 95 << blockSize << " differs from required block size " << windowsize |
94 << std::endl; | 96 << std::endl; |
95 return false; | 97 return false; |
96 } | 98 } |
280 SegmenterPlugin::FeatureSet | 282 SegmenterPlugin::FeatureSet |
281 SegmenterPlugin::process(const float *const *inputBuffers, Vamp::RealTime timestamp) | 283 SegmenterPlugin::process(const float *const *inputBuffers, Vamp::RealTime timestamp) |
282 { | 284 { |
283 // convert float* to double* | 285 // convert float* to double* |
284 double *tempBuffer = new double[windowsize]; | 286 double *tempBuffer = new double[windowsize]; |
285 for (size_t i = 0; i < windowsize; ++i) { | 287 for (int i = 0; i < windowsize; ++i) { |
286 tempBuffer[i] = inputBuffers[0][i]; | 288 tempBuffer[i] = inputBuffers[0][i]; |
287 } | 289 } |
288 | 290 |
289 segmenter->extractFeatures(tempBuffer, segmenter->getWindowsize()); | 291 segmenter->extractFeatures(tempBuffer, segmenter->getWindowsize()); |
290 | 292 |
306 // Map the segment types onto a dense series starting at 1 | 308 // Map the segment types onto a dense series starting at 1 |
307 | 309 |
308 std::map<int, int> typeMap; | 310 std::map<int, int> typeMap; |
309 int nextType = 1; | 311 int nextType = 1; |
310 | 312 |
311 for (int i = 0; i < segm.segments.size(); ++i) { | 313 for (int i = 0; i < int(segm.segments.size()); ++i) { |
312 Segment s = segm.segments[i]; | 314 Segment s = segm.segments[i]; |
313 if (typeMap.find(s.type) == typeMap.end()) { | 315 if (typeMap.find(s.type) == typeMap.end()) { |
314 typeMap[s.type] = nextType; | 316 typeMap[s.type] = nextType; |
315 ++nextType; | 317 ++nextType; |
316 } | 318 } |
317 } | 319 } |
318 | 320 |
319 for (int i = 0; i < segm.segments.size(); ++i) { | 321 for (int i = 0; i < int(segm.segments.size()); ++i) { |
320 | 322 |
321 Segment s = segm.segments[i]; | 323 Segment s = segm.segments[i]; |
322 | 324 |
323 Feature feature; | 325 Feature feature; |
324 feature.hasTimestamp = true; | 326 feature.hasTimestamp = true; |
325 feature.timestamp = Vamp::RealTime::frame2RealTime | 327 feature.timestamp = Vamp::RealTime::frame2RealTime |
326 (s.start, (int)m_inputSampleRate); | 328 (s.start, (int)m_inputSampleRate); |
327 feature.hasDuration = true; | 329 feature.hasDuration = true; |
328 | 330 |
329 if (i + 1 < segm.segments.size()) { | 331 if (i + 1 < int(segm.segments.size())) { |
330 feature.duration = Vamp::RealTime::frame2RealTime | 332 feature.duration = Vamp::RealTime::frame2RealTime |
331 (segm.segments[i+1].start - s.start, (int)m_inputSampleRate); | 333 (segm.segments[i+1].start - s.start, (int)m_inputSampleRate); |
332 } else { | 334 } else { |
333 feature.duration = m_endTime - feature.timestamp; | 335 feature.duration = m_endTime - feature.timestamp; |
334 } | 336 } |