Mercurial > hg > tony
comparison 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 |
comparison
equal
deleted
inserted
replaced
162:cc9aa8f4fceb | 163:ec196bd2f068 |
---|---|
33 #include "layer/SpectrogramLayer.h" | 33 #include "layer/SpectrogramLayer.h" |
34 #include "layer/Colour3DPlotLayer.h" | 34 #include "layer/Colour3DPlotLayer.h" |
35 | 35 |
36 #include <QSettings> | 36 #include <QSettings> |
37 | 37 |
38 using std::vector; | |
39 | |
38 Analyser::Analyser() : | 40 Analyser::Analyser() : |
39 m_document(0), | 41 m_document(0), |
40 m_fileModel(0), | 42 m_fileModel(0), |
41 m_paneStack(0), | 43 m_paneStack(0), |
42 m_pane(0) | 44 m_pane(0) |
265 t.setStartTime(RealTime::fromSeconds(10.785)); | 267 t.setStartTime(RealTime::fromSeconds(10.785)); |
266 t.setDuration(RealTime::fromSeconds(1.2)); | 268 t.setDuration(RealTime::fromSeconds(1.2)); |
267 | 269 |
268 transforms.push_back(t); | 270 transforms.push_back(t); |
269 | 271 |
270 std::vector<Layer *> layers = | 272 m_document->createDerivedLayersAsync(transforms, m_fileModel, this); |
271 m_document->createDerivedLayers(transforms, m_fileModel); | 273 |
272 | 274 return ""; |
273 std::cerr << "Analyser::addTestCandidates: Have " << layers.size() << " layer(s)" << std::endl; | 275 } |
274 | 276 |
275 for (int i = 0; i < (int)layers.size(); ++i) { | 277 void |
276 TimeValueLayer *t = qobject_cast<TimeValueLayer *>(layers[i]); | 278 Analyser::layersCreated(vector<Layer *> primary, |
279 vector<Layer *> additional) | |
280 { | |
281 for (int i = 0; i < (int)primary.size(); ++i) { | |
282 TimeValueLayer *t = qobject_cast<TimeValueLayer *>(primary[i]); | |
277 if (t) m_document->addLayerToView(m_pane, t); | 283 if (t) m_document->addLayerToView(m_pane, t); |
278 } | 284 } |
279 | 285 |
280 return ""; | 286 for (int i = 0; i < (int)additional.size(); ++i) { |
287 TimeValueLayer *t = qobject_cast<TimeValueLayer *>(additional[i]); | |
288 if (t) m_document->addLayerToView(m_pane, t); | |
289 } | |
281 } | 290 } |
282 | 291 |
283 void | 292 void |
284 Analyser::getEnclosingSelectionScope(size_t f, size_t &f0, size_t &f1) | 293 Analyser::getEnclosingSelectionScope(size_t f, size_t &f0, size_t &f1) |
285 { | 294 { |