Mercurial > hg > vamp-plugin-sdk
diff src/vamp-hostsdk/PluginSummarisingAdapter.cpp @ 248:c88a3cdb0215
* Tidy up --list-full output a bit
* Some documentation, including docs for PluginSummarisingAdapter
author | cannam |
---|---|
date | Tue, 11 Nov 2008 12:07:09 +0000 |
parents | 521734d2b498 |
children | 4454843ff384 |
line wrap: on
line diff
--- a/src/vamp-hostsdk/PluginSummarisingAdapter.cpp Tue Nov 11 09:49:12 2008 +0000 +++ b/src/vamp-hostsdk/PluginSummarisingAdapter.cpp Tue Nov 11 12:07:09 2008 +0000 @@ -430,23 +430,18 @@ RealTime timestamp, bool final) { -//!!! to do: use timestamp to determine which segment we're on - -//!!! What should happen if a feature's duration spans a segment -// boundary? I think we probably want to chop it, and pretend that it -// appears in both -- don't we? do we? A very long feature (e.g. key, -// if the whole audio is in a single key) might span many or all -// segments, and we want that to be reflected in the results (e.g. it -// is the modal key in all of those segments, not just the first). -// That is actually quite complicated to do! + // What should happen if a feature's duration spans a segment + // boundary? I think we probably want to chop it, and pretend + // that it appears in both. A very long feature (e.g. key, if the + // whole audio is in a single key) might span many or all + // segments, and we want that to be reflected in the results + // (e.g. it is the modal key in all of those segments, not just + // the first). This is actually quite complicated to do. -//!!! This affects how we record things. If features spanning a -// boundary should be chopped, then we need to have per-segment -// accumulators (and the feature value goes into both -- perhaps we -// need a separate phase to split the accumulator up into segments). -// If features spanning a boundary should be counted only in the first -// segment, with their full duration, then we should store them in a -// single accumulator and distribute into segments only on reduce. + // If features spanning a boundary should be chopped, then we need + // to have per-segment accumulators (and the feature value goes + // into both -- with a separate phase to split the accumulator up + // into segments). #ifdef DEBUG_PLUGIN_SUMMARISING_ADAPTER std::cerr << "output " << output << ": timestamp " << timestamp << ", prev timestamp " << m_prevTimestamps[output] << ", final " << final << std::endl; @@ -627,10 +622,10 @@ << source.results.size() << std::endl; #endif - //!!! This is basically nonsense if the results have no values - //!!! (i.e. their times and counts are the only things of - //!!! interest) but perhaps it's the user's problem if they - //!!! ask for segmentation in that case + // This is basically nonsense if the results have no values + // (i.e. their times and counts are the only things of + // interest)... but perhaps it's the user's problem if they + // ask for segmentation (or any summary at all) in that case for (int n = 0; n < source.results.size(); ++n) {