Krotos Modules 3
Loading...
Searching...
No Matches
HelperClasses.h
Go to the documentation of this file.
1namespace krotos
2{
3
12 {
13 public:
15 inline bool& operator=(const bool& newVal);
17 inline bool getVal() const { return m_val; }
19 inline bool hasChanged() { return m_changed; }
20
21 private:
22 bool m_changed{false};
23 bool m_val{false};
24 };
25
44
62 {
63 public:
65 void initialise(int length);
67 int getLength();
69 void resetZoomRange();
75 Range<float> getZoomWindowNormalisedToRange();
77 void repositionZoomWindow(float newStart);
79 void zoom(int center, float amount);
81 void drag(int diff);
83 int percentMouseXToSampleXAbsolute(float percentX);
85 int percentMouseXToSampleXRelative(float percentX);
87 int pixelsToSamples(int pixels, int waveformScreenWidth);
89 bool isSelectionEnabled();
93 void setZoomScrollEnabled(bool newState);
95 void setSelectionEnabled(bool newState);
100 void setZoomRange(Range<int> newRange);
101
102 private:
104 Range<int> m_zoomLimits;
106 Range<int> m_zoomRange;
108 Range<int> m_zoomWindow;
111 const int m_minimumLength{32};
112 int m_length{0}; // Length of the entire audio buffer
113 };
114
115} // namespace krotos
A bool which is monitored for changes of state.
Definition HelperClasses.h:12
bool m_val
Definition HelperClasses.h:23
bool & operator=(const bool &newVal)
Definition HelperClasses.cpp:3
bool m_changed
Definition HelperClasses.h:22
bool getVal() const
Definition HelperClasses.h:17
bool hasChanged()
Definition HelperClasses.h:19
A class containing the logic to zoom and scroll within a timeline.
Definition HelperClasses.h:62
Range< float > getZoomWindowNormalisedToRange()
Definition HelperClasses.cpp:43
bool isZoomScrollEnabled()
Definition HelperClasses.cpp:20
Range< int > m_zoomLimits
Definition HelperClasses.h:104
Range< float > getZoomWindowNormalisedToLimits()
Definition HelperClasses.cpp:30
bool m_selectionEnabled
Definition HelperClasses.h:109
void initialise(int length)
Definition HelperClasses.cpp:9
void drag(int diff)
Definition HelperClasses.cpp:78
void repositionZoomWindow(float newStart)
Definition HelperClasses.cpp:55
void zoom(int center, float amount)
Definition HelperClasses.cpp:62
int m_length
Definition HelperClasses.h:112
int pixelsToSamples(int pixels, int waveformScreenWidth)
Definition HelperClasses.cpp:94
int percentMouseXToSampleXAbsolute(float percentX)
Definition HelperClasses.cpp:84
const int m_minimumLength
Definition HelperClasses.h:111
bool m_zoomScrollEnabled
Definition HelperClasses.h:110
Range< int > m_zoomWindow
Definition HelperClasses.h:108
void setZoomRange(Range< int > newRange)
Sets the zoom to a specific range.
Definition HelperClasses.cpp:100
void setSelectionEnabled(bool newState)
Definition HelperClasses.cpp:24
void setZoomScrollEnabled(bool newState)
Definition HelperClasses.cpp:22
int percentMouseXToSampleXRelative(float percentX)
Definition HelperClasses.cpp:89
int getLength()
Definition HelperClasses.cpp:26
void resetZoomRange()
Definition HelperClasses.cpp:28
Range< int > m_zoomRange
Definition HelperClasses.h:106
bool isSelectionEnabled()
Definition HelperClasses.cpp:18
Range< int > getZoomWindowRelativeToRange()
Definition HelperClasses.cpp:41
Definition AirAbsorptionFilter.cpp:2
A structure to hold info on a selected area.
Definition HelperClasses.h:30
MonitoredBool rightHover
Definition HelperClasses.h:42
MonitoredBool segmentHover
Definition HelperClasses.h:36
MonitoredBool leftHover
Definition HelperClasses.h:40
Range< int > segment
Definition HelperClasses.h:32
Range< int > selection
Definition HelperClasses.h:34
MonitoredBool selectionHover
Definition HelperClasses.h:38