comparison src/Analyser.h @ 572:3f0b44418a19 by-id

Toward using ModelById logic (incomplete)
author Chris Cannam
date Mon, 08 Jul 2019 14:12:08 +0100
parents cc33cdb114f6
children 335fd9b439a0
comparison
equal deleted inserted replaced
571:2cf4978eb724 572:3f0b44418a19
24 #include <vector> 24 #include <vector>
25 25
26 #include "framework/Document.h" 26 #include "framework/Document.h"
27 #include "base/Selection.h" 27 #include "base/Selection.h"
28 #include "base/Clipboard.h" 28 #include "base/Clipboard.h"
29 29 #include "data/model/WaveFileModel.h"
30 class WaveFileModel; 30
31 class Pane; 31 class Pane;
32 class PaneStack; 32 class PaneStack;
33 class Layer; 33 class Layer;
34 class TimeValueLayer; 34 class TimeValueLayer;
35 class Layer; 35 class Layer;
41 41
42 public: 42 public:
43 Analyser(); 43 Analyser();
44 virtual ~Analyser(); 44 virtual ~Analyser();
45 45
46 // Process new main model, add derived layers; return "" on success or error string on failure 46 // Process new main model, add derived layers; return "" on
47 QString newFileLoaded(Document *newDocument, WaveFileModel *model, 47 // success or error string on failure
48 PaneStack *paneStack, Pane *pane); 48 QString newFileLoaded(Document *newDocument,
49 49 ModelId model,
50 // Remove any derived layers, process the main model, add derived layers; return "" on success or error string on failure 50 PaneStack *paneStack,
51 Pane *pane);
52
53 // Remove any derived layers, process the main model, add derived
54 // layers; return "" on success or error string on failure
51 QString analyseExistingFile(); 55 QString analyseExistingFile();
52 56
53 // Discard any layers etc associated with the current document 57 // Discard any layers etc associated with the current document
54 void fileClosed(); 58 void fileClosed();
55 59
88 setVisible(c, true); 92 setVisible(c, true);
89 setAudible(c, false); 93 setAudible(c, false);
90 } 94 }
91 } 95 }
92 96
93 WaveFileModel *getMainModel() const { 97 ModelId getMainModelId() const {
94 return m_fileModel; 98 return m_fileModel;
99 }
100 std::shared_ptr<WaveFileModel> getMainModel() const {
101 return ModelById::getAs<WaveFileModel>(m_fileModel);
95 } 102 }
96 103
97 float getGain(Component c) const; 104 float getGain(Component c) const;
98 void setGain(Component c, float gain); 105 void setGain(Component c, float gain);
99 106
221 void reAnalyseRegion(sv_frame_t, sv_frame_t, float, float); 228 void reAnalyseRegion(sv_frame_t, sv_frame_t, float, float);
222 void materialiseReAnalysis(); 229 void materialiseReAnalysis();
223 230
224 protected: 231 protected:
225 Document *m_document; 232 Document *m_document;
226 WaveFileModel *m_fileModel; 233 ModelId m_fileModel;
227 PaneStack *m_paneStack; 234 PaneStack *m_paneStack;
228 Pane *m_pane; 235 Pane *m_pane;
229 236
230 mutable std::map<Component, Layer *> m_layers; 237 mutable std::map<Component, Layer *> m_layers;
231 238