Mercurial > hg > tony
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 |