comparison VampTestPlugin.cpp @ 8:8c3a61d37984

Use fractional sample rates for FixedSampleRate outputs (a better test); fix failure to deliver enough columns in grid-fsr
author Chris Cannam
date Thu, 28 Mar 2013 13:52:30 +0000
parents 1bff4a80852c
children 33a799b77949
comparison
equal deleted inserted replaced
7:1bff4a80852c 8:8c3a61d37984
167 d.hasFixedBinCount = true; 167 d.hasFixedBinCount = true;
168 d.binCount = 1; 168 d.binCount = 1;
169 d.hasKnownExtents = false; 169 d.hasKnownExtents = false;
170 d.isQuantized = false; 170 d.isQuantized = false;
171 d.sampleType = OutputDescriptor::FixedSampleRate; 171 d.sampleType = OutputDescriptor::FixedSampleRate;
172 d.sampleRate = 2; 172 d.sampleRate = 2.5;
173 d.hasDuration = false; 173 d.hasDuration = false;
174 m_outputNumbers[d.identifier] = n++; 174 m_outputNumbers[d.identifier] = n++;
175 list.push_back(d); 175 list.push_back(d);
176 176
177 d.identifier = "curve-fsr-timed"; 177 d.identifier = "curve-fsr-timed";
181 d.hasFixedBinCount = true; 181 d.hasFixedBinCount = true;
182 d.binCount = 1; 182 d.binCount = 1;
183 d.hasKnownExtents = false; 183 d.hasKnownExtents = false;
184 d.isQuantized = false; 184 d.isQuantized = false;
185 d.sampleType = OutputDescriptor::FixedSampleRate; 185 d.sampleType = OutputDescriptor::FixedSampleRate;
186 d.sampleRate = 2; 186 d.sampleRate = 2.5;
187 d.hasDuration = false; 187 d.hasDuration = false;
188 m_outputNumbers[d.identifier] = n++; 188 m_outputNumbers[d.identifier] = n++;
189 list.push_back(d); 189 list.push_back(d);
190 190
191 d.identifier = "curve-vsr"; 191 d.identifier = "curve-vsr";
223 d.hasFixedBinCount = true; 223 d.hasFixedBinCount = true;
224 d.binCount = 10; 224 d.binCount = 10;
225 d.hasKnownExtents = false; 225 d.hasKnownExtents = false;
226 d.isQuantized = false; 226 d.isQuantized = false;
227 d.sampleType = OutputDescriptor::FixedSampleRate; 227 d.sampleType = OutputDescriptor::FixedSampleRate;
228 d.sampleRate = 2; 228 d.sampleRate = 2.5;
229 d.hasDuration = false; 229 d.hasDuration = false;
230 m_outputNumbers[d.identifier] = n++; 230 m_outputNumbers[d.identifier] = n++;
231 list.push_back(d); 231 list.push_back(d);
232 232
233 d.identifier = "notes-regions"; 233 d.identifier = "notes-regions";
398 .push_back(untimedCurveValue(timestamp, m_n, 20)); 398 .push_back(untimedCurveValue(timestamp, m_n, 20));
399 } 399 }
400 400
401 if (m_n < 5) { 401 if (m_n < 5) {
402 fs[m_outputNumbers["curve-fsr"]] 402 fs[m_outputNumbers["curve-fsr"]]
403 .push_back(untimedCurveValue(RealTime::fromSeconds(m_n / 2.0), m_n, 10)); 403 .push_back(untimedCurveValue(RealTime::fromSeconds(m_n / 2.5), m_n, 10));
404 404
405 float s = (m_n / 4) * 2; 405 float s = (m_n / 4) * 2;
406 if ((m_n % 4) > 0) { 406 if ((m_n % 4) > 0) {
407 s += float((m_n % 4) - 1) / 6.0; 407 s += float((m_n % 4) - 1) / 6.0;
408 } 408 }
409 fs[m_outputNumbers["curve-fsr-timed"]] 409 fs[m_outputNumbers["curve-fsr-timed"]]
410 .push_back(snappedCurveValue(RealTime::fromSeconds(s), 410 .push_back(snappedCurveValue(RealTime::fromSeconds(s),
411 RealTime::fromSeconds(snap(s, 0.5)), 411 RealTime::fromSeconds(snap(s, 0.4)),
412 m_n, 10)); 412 m_n, 10));
413 } 413 }
414 414
415 if (m_n < 20) { 415 if (m_n < 20) {
416 fs[m_outputNumbers["grid-oss"]] 416 fs[m_outputNumbers["grid-oss"]]
419 419
420 } else { 420 } else {
421 421
422 for (int i = (m_n > 5 ? 5 : m_n); i < 10; ++i) { 422 for (int i = (m_n > 5 ? 5 : m_n); i < 10; ++i) {
423 fs[m_outputNumbers["curve-fsr"]] 423 fs[m_outputNumbers["curve-fsr"]]
424 .push_back(untimedCurveValue(RealTime::fromSeconds(i / 2.0), i, 10)); 424 .push_back(untimedCurveValue(RealTime::fromSeconds(i / 2.5), i, 10));
425 425
426 float s = (i / 4) * 2; 426 float s = (i / 4) * 2;
427 if ((i % 4) > 0) { 427 if ((i % 4) > 0) {
428 s += float((i % 4) - 1) / 6.0; 428 s += float((i % 4) - 1) / 6.0;
429 } 429 }
430 fs[m_outputNumbers["curve-fsr-timed"]] 430 fs[m_outputNumbers["curve-fsr-timed"]]
431 .push_back(snappedCurveValue(RealTime::fromSeconds(s), 431 .push_back(snappedCurveValue(RealTime::fromSeconds(s),
432 RealTime::fromSeconds(snap(s, 0.5)), 432 RealTime::fromSeconds(snap(s, 0.4)),
433 i, 10)); 433 i, 10));
434 } 434 }
435 435
436 for (int i = (m_n > 5 ? 5 : m_n); i < 10; ++i) { 436 for (int i = 0; i < 10; ++i) {
437 fs[m_outputNumbers["grid-fsr"]] 437 fs[m_outputNumbers["grid-fsr"]]
438 .push_back(gridColumn(RealTime::fromSeconds(i / 2.0), i, 10)); 438 .push_back(gridColumn(RealTime::fromSeconds(i / 2.0), i, 10));
439 } 439 }
440 } 440 }
441 441