Mercurial > hg > svapp
diff framework/Align.cpp @ 672:ae7584dbd668 tuning-difference
Provide facility to re-align models
author | Chris Cannam |
---|---|
date | Fri, 17 May 2019 09:45:12 +0100 |
parents | b6cafe05017d |
children | b375fdbb74bc |
line wrap: on
line diff
--- a/framework/Align.cpp Thu May 16 15:55:46 2019 +0100 +++ b/framework/Align.cpp Fri May 17 09:45:12 2019 +0100 @@ -103,24 +103,24 @@ if (!reference || !rm) return false; // but this should have been tested already // This involves creating either three or four new models: - + // // 1. an AggregateWaveModel to provide the mixdowns of the main // model and the new model in its two channels, as input to the // MATCH plugin - + // // 2a. a SparseTimeValueModel which will be automatically created // by FeatureExtractionModelTransformer when running the // TuningDifference plugin to receive the relative tuning of the // second model (if pitch-aware alignment is enabled in the // preferences) - + // // 2b. a SparseTimeValueModel which will be automatically created // by FeatureExtractionPluginTransformer when running the MATCH // plugin to perform alignment (so containing the alignment path) - + // // 3. an AlignmentModel, which stores the path model and carries // out alignment lookups on it. - + // // The AggregateWaveModel [1] is registered with the document, // which deletes it when it is invalidated (when one of its // components is deleted). The SparseTimeValueModel [2a] is reused @@ -130,6 +130,11 @@ // is attached to the new model we are aligning, which also takes // ownership of it. The only one of these models that we need to // delete here is the SparseTimeValueModel [2a]. + // + // (We also create a sneaky additional SparseTimeValueModel + // temporarily so we can attach completion information to it - + // this is quite unnecessary from the perspective of simply + // producing the results.) AggregateWaveModel::ChannelSpecList components;