Mercurial > hg > sonic-annotator
diff runner/FeatureExtractionManager.h @ 110:ca565b18ba3e multiplex
Merge from default branch
author | Chris Cannam |
---|---|
date | Thu, 02 Oct 2014 14:54:48 +0100 |
parents | de76b2df518f 78a7c77ba432 |
children | 0c2d8c945bbf |
line wrap: on
line diff
--- a/runner/FeatureExtractionManager.h Thu Oct 02 08:16:42 2014 +0100 +++ b/runner/FeatureExtractionManager.h Thu Oct 02 14:54:48 2014 +0100 @@ -83,7 +83,17 @@ typedef map<Transform, vector<FeatureWriter *> > TransformWriterMap; typedef map<Vamp::Plugin *, TransformWriterMap> PluginMap; PluginMap m_plugins; - + + // When we run plugins, we want to run them in a known order so as + // to get the same results on each run of Sonic Annotator with the + // same transforms. But if we just iterate through our PluginMap, + // we get them in an arbitrary order based on pointer + // address. This vector provides an underlying order for us. Note + // that the TransformWriterMap is consistently ordered (because + // the key is a Transform which has a proper ordering) so using + // this gives us a consistent order across the whole PluginMap + vector<Vamp::Plugin *> m_orderedPlugins; + // And a map back from transforms to their plugins. Note that // this is keyed by transform, not transform ID -- two differently // configured transforms with the same ID must use different