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