2 #include <Process/Execution/ProcessComponent.hpp>
4 #include <Scenario/Document/Components/ScenarioComponent.hpp>
5 #include <Scenario/Document/Event/EventExecution.hpp>
6 #include <Scenario/Document/Graph.hpp>
7 #include <Scenario/Document/Interval/IntervalExecution.hpp>
8 #include <Scenario/Document/Interval/IntervalModel.hpp>
9 #include <Scenario/Document/State/StateExecution.hpp>
10 #include <Scenario/Document/TimeSync/TimeSyncExecution.hpp>
11 #include <Scenario/Tools/dataStructures.hpp>
13 #include <score/model/IdentifiedObjectMap.hpp>
14 #include <score/model/Identifier.hpp>
15 #include <score/tools/std/Optional.hpp>
17 #include <ossia/editor/scenario/time_event.hpp>
22 Q_DECLARE_METATYPE(std::shared_ptr<Execution::EventComponent>)
23 W_REGISTER_ARGTYPE(std::shared_ptr<Execution::EventComponent>)
24 Q_DECLARE_METATYPE(ossia::time_event::status)
25 W_REGISTER_ARGTYPE(ossia::time_event::status)
45 class TimeSyncComponent;
54 class CSPCoherencyCheckerInterface;
64 class IntervalComponent;
69 COMPONENT_METADATA(
"4e4b1c1a-1a2a-4ae6-a1a1-38d0900e74e8")
76 const auto& states()
const {
return m_ossia_states; }
77 const score::hash_map<Id<Scenario::IntervalModel>, std::shared_ptr<IntervalComponent>>&
80 return m_ossia_intervals;
82 const auto& events()
const {
return m_ossia_timeevents; }
83 const auto& timeSyncs()
const {
return m_ossia_timesyncs; }
90 template <
typename Component_T,
typename Element>
91 Component_T* make(Element& elt);
93 template <
typename Component_T,
typename Element,
typename Fun>
94 void removed(
const Element& elt,
const Component_T& comp, Fun f)
110 sig_eventCallback(std::shared_ptr<EventComponent> arg_1, ossia::time_event::status st)
111 E_SIGNAL(SCORE_PLUGIN_SCENARIO_EXPORT, sig_eventCallback, arg_1, st)
119 eventCallback(std::shared_ptr<EventComponent> ev, ossia::time_event::status newStatus);
121 score::hash_map<Id<Scenario::IntervalModel>, std::shared_ptr<IntervalComponent>>
123 score::hash_map<Id<Scenario::StateModel>, std::shared_ptr<StateComponent>>
125 score::hash_map<Id<Scenario::TimeSyncModel>, std::shared_ptr<TimeSyncComponent>>
127 score::hash_map<Id<Scenario::EventModel>, std::shared_ptr<EventComponent>>
131 m_executingIntervals;
136 QVector<Id<Scenario::TimeSyncModel>> m_pastTn{};
151 void lazy_init()
override;
153 void cleanup()
override;
Definition: EventExecution.hpp:18
Definition: IntervalExecution.hpp:135
Definition: Process/Execution/ProcessComponent.hpp:119
Definition: Process/ScenarioExecution.hpp:67
Definition: StateExecution.hpp:86
Definition: TimeSyncExecution.hpp:20
Definition: Scenario/Document/Components/ScenarioComponent.hpp:198
Definition: CSPCoherencyCheckerInterface.hpp:9
Definition: EventModel.hpp:36
Definition: IntervalModel.hpp:50
The core hierarchical and temporal process of score.
Definition: ScenarioModel.hpp:37
Definition: StateModel.hpp:63
Definition: TimeSyncModel.hpp:34
The id_base_t class.
Definition: Identifier.hpp:57
Manipulation of Devices from Qt.
Definition: AddressSettings.cpp:14
Components used for the execution of a score.
Definition: ProcessComponent.cpp:12
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
Main plug-in of score.
Definition: score-plugin-dataflow/Dataflow/PortItem.hpp:14
Definition: ExecutionContext.hpp:76
Definition: Process/Execution/ProcessComponent.hpp:89
Definition: Process/ScenarioExecution.hpp:148
Definition: dataStructures.hpp:65
Definition: score-plugin-scenario/Scenario/Document/Graph.hpp:63