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 {