2#include "BaseScenarioComponent.hpp"
4#include <Process/Dataflow/Port.hpp>
5#include <Process/ExecutionAction.hpp>
6#include <Process/ExecutionContext.hpp>
7#include <Process/ExecutionSetup.hpp>
9#include <score/plugins/documentdelegate/plugin/DocumentPlugin.hpp>
10#include <score/tools/Metadata.hpp>
12#include <ossia/dataflow/bench_map.hpp>
13#include <ossia/dataflow/dataflow_fwd.hpp>
14#include <ossia/network/generic/generic_device.hpp>
15#include <ossia/network/local/local.hpp>
21inline QDataStream& operator<<(QDataStream& i,
const ossia::bench_map& sel)
26inline QDataStream& operator>>(QDataStream& i, ossia::bench_map& sel)
68 ExecutionCommandQueue m_execQueue{1024};
69 EditionCommandQueue m_editionQueue{1024};
70 GCCommandQueue m_gcQueue{1024};
71 std::atomic_bool m_created{};
73 std::shared_ptr<ossia::graph_interface> execGraph;
74 std::shared_ptr<ossia::execution_state> execState;
75 std::shared_ptr<ossia::bench_map> bench;
87 void on_documentClosing()
override;
88 const std::shared_ptr<BaseScenarioElement>& baseScenario() const noexcept;
90 void playStartState();
93 bool isPlaying() const;
95 const
std::shared_ptr<
ContextData>& contextData() const noexcept {
return m_ctxData; }
96 const Context& context() const noexcept {
return m_ctxData->context; }
97 const ExecutionController& executionController() const noexcept;
98 std::shared_ptr<ossia::audio_protocol> audioProto();
100 void runAllCommands() const;
102 void registerAction(ExecutionAction& act);
103 const
std::vector<ExecutionAction*>& actions() const noexcept {
return m_actions; }
107 QPointer<Dataflow::AudioDevice> audio_device{};
108 QPointer<Device::DeviceInterface> local_device{};
111 void finished() E_SIGNAL(SCORE_PLUGIN_ENGINE_EXPORT, finished)
113 void slot_bench(ossia::bench_map, int64_t ns);
116 void on_deviceAdded(
Device::DeviceInterface* device);
118 void timerEvent(QTimerEvent* event) override;
119 void registerDevice(ossia::net::device_base*);
120 void unregisterDevice(ossia::net::device_base*);
122 void initExecState();
125 std::shared_ptr<ContextData> m_ctxData;
126 std::shared_ptr<BaseScenarioElement> m_base;
127 std::vector<ExecutionAction*> m_actions;
Definition plugins/score-plugin-engine/Execution/DocumentPlugin.hpp:61
Definition ExecutionController.hpp:31
Definition ExecutorModel.hpp:64
Definition IntervalModel.hpp:50
Extend a document with custom data and systems.
Definition DocumentPluginBase.hpp:24
Manipulation of Devices from Qt.
Definition AddressSettings.cpp:14
Components used for the execution of a score.
Definition ProcessComponent.cpp:12
Main plug-in of score.
Definition score-plugin-dataflow/Dataflow/PortItem.hpp:13
Base toolkit upon which the software is built.
Definition Application.cpp:90
Definition ExecutionContext.hpp:76
Definition plugins/score-plugin-engine/Execution/DocumentPlugin.hpp:65
Definition plugins/score-plugin-engine/Execution/DocumentPlugin.hpp:57
Definition ExecutionSetup.hpp:38
Definition DocumentContext.hpp:18