score-plugin-engine/Engine/ApplicationPlugin.hpp
1 #pragma once
2 
3 #include <Process/TimeValue.hpp>
4 
5 #include <Execution/ContextMenu/PlayContextMenu.hpp>
6 #include <Execution/ExecutionController.hpp>
7 
8 #include <score/plugins/application/GUIApplicationPlugin.hpp>
9 #include <score/plugins/documentdelegate/plugin/DocumentPlugin.hpp>
10 
11 #include <score_plugin_engine_export.h>
12 
13 #include <memory>
14 namespace Scenario
15 {
16 class SpeedWidget;
17 }
18 namespace Scenario
19 {
20 class IntervalModel;
21 }
22 namespace Execution
23 {
24 struct Context;
25 class Clock;
26 class BaseScenarioElement;
27 }
28 
29 namespace LocalTree
30 {
31 class DocumentPlugin;
32 }
33 
34 namespace ossia
35 {
36 class audio_engine;
37 }
38 
39 class QLabel;
40 namespace Engine
41 {
42 
43 class SCORE_PLUGIN_ENGINE_EXPORT ApplicationPlugin final
44  : public QObject
46 {
47 public:
49  ~ApplicationPlugin() override;
50 
51  void initialize() override;
52 
53  bool handleStartup() override;
54  score::GUIElements makeGUIElements() override;
55 
56  void prepareNewDocument() override;
57  void on_initDocument(score::Document& doc) override;
58  void on_createdDocument(score::Document& doc) override;
59  void on_documentChanged(score::Document* olddoc, score::Document* newdoc) override;
60 
61  QWidget* setupTimingWidget(QLabel*) const;
62  void initLocalTreeNodes(LocalTree::DocumentPlugin&);
63 
64  Execution::ExecutionController& execution() { return m_execution; }
65 
66 private:
67  Execution::PlayContextMenu m_playActions;
69 
70  Scenario::SpeedWidget* m_speedSlider{};
71  QAction* m_musicalAct{};
72 };
73 }
Definition: score-plugin-engine/Engine/ApplicationPlugin.hpp:46
Definition: ExecutionController.hpp:31
Definition: PlayContextMenu.hpp:26
Definition: LocalTreeDocumentPlugin.hpp:27
Definition: SpeedSlider.hpp:16
The Document class is the central part of the software.
Definition: Document.hpp:51
Used to extend the software with application-wide data.
Definition: GUIApplicationPlugin.hpp:89
Link of score with the OSSIA API execution engine.
Definition: CurveConversion.hpp:8
Components used for the execution of a score.
Definition: ProcessComponent.cpp:12
Local tree provides a way to extend the tree given through the Engine::Network::LocalDevice.
Definition: BaseCallbackWrapper.hpp:9
Main plug-in of score.
Definition: score-plugin-dataflow/Dataflow/PortItem.hpp:14
Specializes ApplicationContext with the QMainWindow.
Definition: GUIApplicationContext.hpp:15
Definition: GUIApplicationPlugin.hpp:24