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 }