Loading...
Searching...
No Matches
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 <QTimer>
12
13#include <score_plugin_engine_export.h>
14
15#include <memory>
16namespace Scenario
17{
18class SpeedWidget;
19}
20namespace Scenario
21{
22class IntervalModel;
23}
24namespace Execution
25{
26struct Context;
27class Clock;
28class BaseScenarioElement;
29}
30
31namespace LocalTree
32{
33class DocumentPlugin;
34}
35
36namespace ossia
37{
38class audio_engine;
39}
40
41class QLabel;
42namespace Engine
43{
44
45class SCORE_PLUGIN_ENGINE_EXPORT ApplicationPlugin final
46 : public QObject
48{
49public:
51 ~ApplicationPlugin() override;
52
53 void initialize() override;
54
55 void afterStartup() override;
56 score::GUIElements makeGUIElements() override;
57
58 void prepareNewDocument() override;
59 void on_initDocument(score::Document& doc) override;
60 void on_createdDocument(score::Document& doc) override;
61 void on_documentChanged(score::Document* olddoc, score::Document* newdoc) override;
62
63 QWidget* setupTimingWidget(QLabel*);
64 void initLocalTreeNodes(LocalTree::DocumentPlugin&);
65
66 Execution::ExecutionController& execution() { return m_execution; }
67
68 QTimer execution_ui_clock_timer{};
69
70private:
71 Execution::PlayContextMenu m_playActions;
73
74 Scenario::SpeedWidget* m_speedSlider{};
75 QAction* m_musicalAct{};
76};
77}
Definition score-plugin-engine/Engine/ApplicationPlugin.hpp:48
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:13
Specializes ApplicationContext with the QMainWindow.
Definition GUIApplicationContext.hpp:15
Definition GUIApplicationPlugin.hpp:24