Mercurial > hg > vamp-plugin-sdk
comparison vamp-sdk/PluginHostAdapter.cpp @ 168:006a775133b1
* Re-do the way the v2 structure (with durations) is returned.
I bungled backward compatibility -- I failed to spot the contiguous
array returned from process()... duh. Also bump library versions.
author | cannam |
---|---|
date | Thu, 24 Jul 2008 16:50:11 +0000 |
parents | 31eda4b11f2b |
children | d4fbd4e6fdbf |
comparison
equal
deleted
inserted
replaced
167:31eda4b11f2b | 168:006a775133b1 |
---|---|
394 VampFeatureList &list = features[i]; | 394 VampFeatureList &list = features[i]; |
395 | 395 |
396 if (list.featureCount > 0) { | 396 if (list.featureCount > 0) { |
397 | 397 |
398 Feature feature; | 398 Feature feature; |
399 feature.values.reserve(list.features[0].valueCount); | 399 feature.values.reserve(list.features[0].v1.valueCount); |
400 | 400 |
401 for (unsigned int j = 0; j < list.featureCount; ++j) { | 401 for (unsigned int j = 0; j < list.featureCount; ++j) { |
402 | 402 |
403 feature.hasTimestamp = list.features[j].hasTimestamp; | 403 feature.hasTimestamp = list.features[j].v1.hasTimestamp; |
404 feature.timestamp = RealTime(list.features[j].sec, | 404 feature.timestamp = RealTime(list.features[j].v1.sec, |
405 list.features[j].nsec); | 405 list.features[j].v1.nsec); |
406 feature.hasDuration = false; | |
406 | 407 |
407 if (m_descriptor->vampApiVersion >= 2) { | 408 if (m_descriptor->vampApiVersion >= 2) { |
408 feature.hasDuration = list.featuresV2[j].hasDuration; | 409 unsigned int j2 = j + list.featureCount; |
409 feature.duration = RealTime(list.featuresV2[j].durationSec, | 410 feature.hasDuration = list.features[j2].v2.hasDuration; |
410 list.featuresV2[j].durationNsec); | 411 feature.duration = RealTime(list.features[j2].v2.durationSec, |
411 } else { | 412 list.features[j2].v2.durationNsec); |
412 feature.hasDuration = false; | |
413 } | 413 } |
414 | 414 |
415 for (unsigned int k = 0; k < list.features[j].valueCount; ++k) { | 415 for (unsigned int k = 0; k < list.features[j].v1.valueCount; ++k) { |
416 feature.values.push_back(list.features[j].values[k]); | 416 feature.values.push_back(list.features[j].v1.values[k]); |
417 } | 417 } |
418 | 418 |
419 if (list.features[j].label) { | 419 if (list.features[j].v1.label) { |
420 feature.label = list.features[j].label; | 420 feature.label = list.features[j].v1.label; |
421 } | 421 } |
422 | 422 |
423 fs[i].push_back(feature); | 423 fs[i].push_back(feature); |
424 | 424 |
425 if (list.features[j].valueCount > 0) { | 425 if (list.features[j].v1.valueCount > 0) { |
426 feature.values.clear(); | 426 feature.values.clear(); |
427 } | 427 } |
428 | 428 |
429 if (list.features[j].label) { | 429 if (list.features[j].v1.label) { |
430 feature.label = ""; | 430 feature.label = ""; |
431 } | 431 } |
432 } | 432 } |
433 } | 433 } |
434 } | 434 } |