49 ,
public Nano::Observer
53 SCORE_SERIALIZE_FRIENDS
58 std::unique_ptr<Process::AudioInlet> inlet;
59 std::unique_ptr<Process::AudioOutlet> outlet;
66 IntervalDurations duration{*
this};
89 void setStartState(const
Id<StateModel>& eventId);
91 const
Id<StateModel>& endState() const noexcept;
92 void setEndState(const
Id<StateModel>& endState);
94 const
TimeVal& date() const noexcept;
95 void setStartDate(const
TimeVal& start);
96 void translate(const
TimeVal& deltaTime);
98 double heightPercentage() const noexcept;
100 void startExecution();
101 void stopExecution();
105 void setHeightPercentage(
double arg);
106 void setExecutionState(IntervalExecutionState);
108 IntervalExecutionState executionState() const;
116 ViewMode viewMode() const noexcept;
117 void setViewMode(ViewMode v);
118 void viewModeChanged(ViewMode v)
119 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, viewModeChanged, v)
122 QPointF nodalOffset() const noexcept;
123 void setNodalOffset(QPointF offs);
124 double nodalScale() const noexcept;
125 void setNodalScale(
double z);
128 ZoomRatio zoom() const noexcept;
129 void setZoom(const ::ZoomRatio& zoom);
131 TimeVal midTime() const noexcept;
132 void setMidTime(const
TimeVal& value);
134 void setSmallViewVisible(
bool);
135 bool smallViewVisible() const noexcept;
137 const Rack& smallView() const noexcept {
return m_smallView; }
138 const FullRack& fullView() const noexcept {
return m_fullView; }
140 void clearSmallView();
141 void clearFullView();
142 void replaceSmallView(
const Rack& other);
143 void replaceFullView(
const FullRack& other);
146 void addSlot(Slot s);
147 void addSlot(Slot s,
int pos);
148 void removeSlot(
int pos);
154 void putLayerToFront(
int slot, std::nullopt_t);
156 void swapSlots(
int pos1,
int pos2, Slot::RackView fullview);
158 double getSlotHeight(
const SlotId& slot)
const;
159 void setSlotHeight(
const SlotId& slot,
double height);
160 double getHeight() const noexcept;
163 double getSlotHeightForProcess(const
Id<
Process::ProcessModel>& p) const;
165 const Slot* findSmallViewSlot(
int slot) const;
166 const Slot& getSmallViewSlot(
int slot) const;
167 Slot& getSmallViewSlot(
int slot);
169 const FullSlot* findFullViewSlot(
int slot) const;
170 const FullSlot& getFullViewSlot(
int slot) const;
171 FullSlot& getFullViewSlot(
int slot);
173 bool muted() const noexcept {
return m_muted; }
174 void setMuted(
bool m);
176 bool graphal() const noexcept {
return m_graphal; }
177 void setGraphal(
bool m);
179 bool executing() const noexcept {
return m_executing; }
180 void setExecuting(
bool m);
183 bool hasTimeSignature() const noexcept {
return m_hasSignature; }
184 void setHasTimeSignature(
bool b);
186 TimeVal contentDuration() const noexcept;
188 TempoProcess* tempoCurve() const noexcept;
190 void ancestorStartDateChanged();
191 void ancestorTempoChanged();
193 void addSignature(
TimeVal t, ossia::time_signature sig);
194 void removeSignature(
TimeVal t);
195 void setTimeSignatureMap(const TimeSignatureMap& map);
196 const TimeSignatureMap& timeSignatureMap() const noexcept;
198 ossia::musical_sync quantizationRate() const noexcept;
199 void setQuantizationRate(ossia::musical_sync b);
201 void setStartMarker(
TimeVal t);
202 TimeVal startMarker() const noexcept;
204 void hasTimeSignatureChanged(
bool arg_1)
205 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, hasTimeSignatureChanged, arg_1)
206 void timeSignaturesChanged(const TimeSignatureMap& arg_1)
207 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, timeSignaturesChanged, arg_1)
208 void quantizationRateChanged(ossia::musical_sync arg)
209 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, quantizationRateChanged, arg)
211 void requestHeightChange(
double y)
212 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, requestHeightChange, y)
213 void heightPercentageChanged(
double arg_1)
214 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, heightPercentageChanged, arg_1)
216 void dateChanged(const
TimeVal& arg_1)
217 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, dateChanged, arg_1)
218 void startMarkerChanged(const
TimeVal& arg_1)
219 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, startMarkerChanged, arg_1)
221 void focusChanged(
bool arg_1)
222 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, focusChanged, arg_1)
223 void executionStateChanged(
Scenario::IntervalExecutionState arg_1)
224 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, executionStateChanged, arg_1)
226 void executionEvent(
Scenario::IntervalExecutionEvent ev)
227 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, executionEvent, ev)
229 void smallViewVisibleChanged(
bool fv)
230 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, smallViewVisibleChanged, fv)
232 void rackChanged(
Scenario::Slot::RackView fv)
233 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, rackChanged, fv)
234 void slotAdded(
Scenario::SlotId arg_1)
235 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, slotAdded, arg_1)
236 void slotRemoved(
Scenario::SlotId arg_1)
237 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, slotRemoved, arg_1)
238 void slotResized(
Scenario::SlotId arg_1)
239 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, slotResized, arg_1)
240 void slotsSwapped(
int slot1,
int slot2, Slot::RackView fv)
241 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, slotsSwapped, slot1, slot2, fv)
242 void heightFinishedChanging()
243 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, heightFinishedChanging)
246 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, layerAdded, arg_1, arg_2)
248 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, layerRemoved, arg_1, arg_2)
249 void frontLayerChanged(
int arg_1, OptionalId<
Process::ProcessModel> arg_2)
250 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, frontLayerChanged, arg_1, arg_2)
252 void mutedChanged(
bool arg_1)
253 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, mutedChanged, arg_1)
254 void executingChanged(
bool arg_1)
255 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, executingChanged, arg_1)
257 void busChanged(
bool arg_1) E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, busChanged, arg_1)
259 void graphalChanged(
bool arg_1)
260 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, graphalChanged, arg_1)
262 void nodalOffsetChanged(QPointF arg_1)
263 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, nodalOffsetChanged, arg_1)
264 void nodalScaleChanged(
double arg_1)
265 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, nodalScaleChanged, arg_1)
267 PROPERTY(
bool, muted READ muted WRITE setMuted NOTIFY mutedChanged)
268 PROPERTY(
bool, graphal READ graphal WRITE setGraphal NOTIFY graphalChanged)
270 double, heightPercentage READ heightPercentage WRITE setHeightPercentage NOTIFY
271 heightPercentageChanged)
274 bool, timeSignature READ hasTimeSignature WRITE setHasTimeSignature NOTIFY
275 hasTimeSignatureChanged)
278 ossia::musical_sync, quantizationRate READ quantizationRate WRITE
279 setQuantizationRate NOTIFY quantizationRateChanged)
281 void on_addProcess(
Process::ProcessModel&);
282 void on_removingProcess(const
Process::ProcessModel&);
283 void initConnections();
287 const
score::DocumentContext& m_context;
292 TimeSignatureMap m_signatures;
294 Id<StateModel> m_startState;
295 Id<StateModel> m_endState;
300 double m_heightPercentage{0.5};
302 double m_nodalFullViewSlotHeight{100};
303 double m_quantRate{-1.0};
305 ::ZoomRatio m_zoom{-1};
307 QPointF m_nodalOffset{};
308 double m_nodalScale{1.0};
309 IntervalExecutionState m_executionState : 2;
310 ViewMode m_viewMode : 1;
311 bool m_smallViewShown : 1;
313 bool m_executing : 1;
315 bool m_hasSignature : 1;