Mercurial > hg > tony
comparison src/Analyser.h @ 128:06f9caf5928d
Initial hack for switching visibility & audibility of layers on and off. This doesn't work well.
author | Chris Cannam |
---|---|
date | Thu, 09 Jan 2014 14:05:20 +0000 |
parents | 4db051a704b2 |
children | 2abff42be385 |
comparison
equal
deleted
inserted
replaced
127:5d60f5102baf | 128:06f9caf5928d |
---|---|
16 #ifndef ANALYSER_H | 16 #ifndef ANALYSER_H |
17 #define ANALYSER_H | 17 #define ANALYSER_H |
18 | 18 |
19 #include <QObject> | 19 #include <QObject> |
20 | 20 |
21 #include "transform/Transform.h" | 21 #include <map> |
22 #include "layer/LayerFactory.h" // GF: added so we can access the FlexiNotes enum value. | |
23 #include "layer/FlexiNoteLayer.h" | |
24 | 22 |
25 class WaveFileModel; | 23 class WaveFileModel; |
26 class Pane; | 24 class Pane; |
27 class PaneStack; | 25 class PaneStack; |
28 class Document; | 26 class Document; |
29 class Layer; | 27 class Layer; |
30 class LayerFactory; | 28 class TimeValueLayer; |
29 class Layer; | |
31 | 30 |
32 class Analyser : public QObject | 31 class Analyser : public QObject |
33 { | 32 { |
34 Q_OBJECT | 33 Q_OBJECT |
35 | 34 |
40 void newFileLoaded(Document *newDocument, WaveFileModel *model, | 39 void newFileLoaded(Document *newDocument, WaveFileModel *model, |
41 PaneStack *paneStack, Pane *pane); | 40 PaneStack *paneStack, Pane *pane); |
42 | 41 |
43 void setIntelligentActions(bool); | 42 void setIntelligentActions(bool); |
44 | 43 |
44 enum Component { | |
45 Audio, | |
46 PitchTrack, | |
47 Notes, | |
48 }; | |
49 | |
50 bool isVisible(Component c) const; | |
51 void setVisible(Component c, bool v); | |
52 | |
53 bool isAudible(Component c) const; | |
54 void setAudible(Component c, bool v); | |
55 | |
56 void cycleStatus(Component c) { | |
57 if (isVisible(c)) { | |
58 if (isAudible(c)) { | |
59 setVisible(c, false); | |
60 setAudible(c, false); | |
61 } else { | |
62 setAudible(c, true); | |
63 } | |
64 } else { | |
65 setVisible(c, true); | |
66 setAudible(c, false); | |
67 } | |
68 } | |
69 | |
70 signals: | |
71 void layersChanged(); | |
72 | |
45 protected: | 73 protected: |
46 Document *m_document; | 74 Document *m_document; |
47 WaveFileModel *m_fileModel; | 75 WaveFileModel *m_fileModel; |
48 Pane *m_pane; | 76 Pane *m_pane; |
49 FlexiNoteLayer *m_flexiNoteLayer; | 77 mutable std::map<Component, Layer *> m_layers; |
50 }; | 78 }; |
51 | 79 |
52 #endif | 80 #endif |