LMMS
Loading...
Searching...
No Matches
juce_MarkerList.h
Go to the documentation of this file.
1/*
2 ==============================================================================
3
4 This file is part of the JUCE library.
5 Copyright (c) 2022 - Raw Material Software Limited
6
7 JUCE is an open source library subject to commercial or open-source
8 licensing.
9
10 By using JUCE, you agree to the terms of both the JUCE 7 End-User License
11 Agreement and JUCE Privacy Policy.
12
13 End User License Agreement: www.juce.com/juce-7-licence
14 Privacy Policy: www.juce.com/juce-privacy-policy
15
16 Or: You may also use this code under the terms of the GPL v3 (see
17 www.gnu.org/licenses).
18
19 JUCE IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
20 EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
21 DISCLAIMED.
22
23 ==============================================================================
24*/
25
26namespace juce
27{
28
29//==============================================================================
39{
40public:
41 //==============================================================================
43 MarkerList();
45 MarkerList (const MarkerList&);
47 MarkerList& operator= (const MarkerList&);
50
51 //==============================================================================
54 {
55 public:
57 Marker (const Marker&);
60
63
76
78 bool operator== (const Marker&) const noexcept;
80 bool operator!= (const Marker&) const noexcept;
81 };
82
83 //==============================================================================
86
88 const Marker* getMarker (int index) const noexcept;
89
94
99 double getMarkerPosition (const Marker& marker, Component* parentComponent) const;
100
107
109 void removeMarker (int index);
110
113
115 bool operator== (const MarkerList&) const noexcept;
117 bool operator!= (const MarkerList&) const noexcept;
118
119 //==============================================================================
129 {
130 public:
132 virtual ~Listener() = default;
133
135 virtual void markersChanged (MarkerList* markerList) = 0;
136
138 virtual void markerListBeingDeleted (MarkerList* markerList);
139 };
140
142 void addListener (Listener* listener);
143
145 void removeListener (Listener* listener);
146
148 void markersHaveChanged();
149
150 //==============================================================================
153 {
154 virtual ~MarkerListHolder() = default;
155
157 virtual MarkerList* getMarkers (bool xAxis) = 0;
158 };
159
160 //==============================================================================
163 {
164 public:
166
168 int getNumMarkers() const;
169 ValueTree getMarkerState (int index) const;
170 ValueTree getMarkerState (const String& name) const;
171 bool containsMarker (const ValueTree& state) const;
172 MarkerList::Marker getMarker (const ValueTree& state) const;
173 void setMarker (const MarkerList::Marker& marker, UndoManager* undoManager);
174 void removeMarker (const ValueTree& state, UndoManager* undoManager);
175
176 void applyTo (MarkerList& markerList);
177 void readFrom (const MarkerList& markerList, UndoManager* undoManager);
178
180
181 private:
183 };
184
185private:
186 //==============================================================================
189
190 Marker* getMarkerByName (const String& name) const noexcept;
191
193};
194
195} // namespace juce
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_Component.h:36
Definition juce_Identifier.h:39
Definition juce_ListenerList.h:70
Definition juce_MarkerList.h:129
virtual void markerListBeingDeleted(MarkerList *markerList)
Definition juce_MarkerList.cpp:153
virtual void markersChanged(MarkerList *markerList)=0
virtual ~Listener()=default
Definition juce_MarkerList.h:54
String name
Definition juce_MarkerList.h:62
Marker(const Marker &)
Definition juce_MarkerList.cpp:168
RelativeCoordinate position
Definition juce_MarkerList.h:75
static const Identifier nameProperty
Definition juce_MarkerList.h:179
ValueTree state
Definition juce_MarkerList.h:182
ValueTree & getState() noexcept
Definition juce_MarkerList.h:167
ValueTreeWrapper(const ValueTree &state)
Definition juce_MarkerList.cpp:193
static const Identifier posProperty
Definition juce_MarkerList.h:179
static const Identifier markerTag
Definition juce_MarkerList.h:179
void setMarker(const String &name, const RelativeCoordinate &position)
Definition juce_MarkerList.cpp:108
MarkerList()
Definition juce_MarkerList.cpp:29
Marker * getMarkerByName(const String &name) const noexcept
Definition juce_MarkerList.cpp:95
const Marker * getMarker(int index) const noexcept
Definition juce_MarkerList.cpp:85
void markersHaveChanged()
Definition juce_MarkerList.cpp:148
void removeListener(Listener *listener)
Definition juce_MarkerList.cpp:162
OwnedArray< Marker > markers
Definition juce_MarkerList.h:187
double getMarkerPosition(const Marker &marker, Component *parentComponent) const
Definition juce_MarkerList.cpp:247
void removeMarker(int index)
Definition juce_MarkerList.cpp:125
ListenerList< Listener > listeners
Definition juce_MarkerList.h:188
void addListener(Listener *listener)
Definition juce_MarkerList.cpp:157
int getNumMarkers() const noexcept
Definition juce_MarkerList.cpp:80
Definition juce_OwnedArray.h:51
Definition juce_RelativeCoordinate.h:73
Definition juce_String.h:53
Definition juce_UndoManager.h:52
Definition juce_ValueTree.h:72
static const char * name
Definition pugl.h:1582
int marker
Definition jpeglib.h:950
#define JUCE_LEAK_DETECTOR(OwnerClass)
Definition juce_LeakedObjectDetector.h:138
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
Definition juce_MarkerList.h:153
virtual MarkerList * getMarkers(bool xAxis)=0
#define const
Definition zconf.h:137