Mercurial > hg > tony
diff src/Analyser.cpp @ 163:ec196bd2f068
Use new async transform method in Document to get multiple additional layers from local analysis
author | Chris Cannam |
---|---|
date | Wed, 29 Jan 2014 17:34:28 +0000 |
parents | cc9aa8f4fceb |
children | 62ceae757fe0 |
line wrap: on
line diff
--- a/src/Analyser.cpp Tue Jan 28 18:34:11 2014 +0000 +++ b/src/Analyser.cpp Wed Jan 29 17:34:28 2014 +0000 @@ -35,6 +35,8 @@ #include <QSettings> +using std::vector; + Analyser::Analyser() : m_document(0), m_fileModel(0), @@ -267,17 +269,24 @@ transforms.push_back(t); - std::vector<Layer *> layers = - m_document->createDerivedLayers(transforms, m_fileModel); + m_document->createDerivedLayersAsync(transforms, m_fileModel, this); - std::cerr << "Analyser::addTestCandidates: Have " << layers.size() << " layer(s)" << std::endl; + return ""; +} - for (int i = 0; i < (int)layers.size(); ++i) { - TimeValueLayer *t = qobject_cast<TimeValueLayer *>(layers[i]); +void +Analyser::layersCreated(vector<Layer *> primary, + vector<Layer *> additional) +{ + for (int i = 0; i < (int)primary.size(); ++i) { + TimeValueLayer *t = qobject_cast<TimeValueLayer *>(primary[i]); if (t) m_document->addLayerToView(m_pane, t); } - return ""; + for (int i = 0; i < (int)additional.size(); ++i) { + TimeValueLayer *t = qobject_cast<TimeValueLayer *>(additional[i]); + if (t) m_document->addLayerToView(m_pane, t); + } } void