score-plugin-recording/Recording/ApplicationPlugin.hpp
1 #pragma once
2 #include "Record/RecordManager.hpp"
3 #include "Record/RecordMessagesManager.hpp"
4 
5 #include <score/plugins/application/GUIApplicationPlugin.hpp>
6 
7 #include <memory>
8 #include <vector>
9 namespace Engine
10 {
11 class ApplicationPlugin;
12 }
13 class QAction;
14 namespace Scenario
15 {
16 class ProcessModel;
17 struct Point;
18 } // namespace Scenario
19 namespace Recording
20 {
21 class ApplicationPlugin final
22  : public QObject
24 {
25 public:
27 
28  void record(Scenario::ProcessModel*, Scenario::Point pt);
29  void recordMessages(Scenario::ProcessModel*, Scenario::Point pt);
30  void stopRecord();
31 
32 private:
33  Engine::ApplicationPlugin* m_ossiaplug{};
34  QAction* m_stopAction{};
35 
36  std::unique_ptr<RecordContext> m_currentContext{};
37  std::unique_ptr<SingleRecorder<AutomationRecorder>> m_recManager;
38  std::unique_ptr<SingleRecorder<MessageRecorder>> m_recMessagesManager;
39 };
40 }
Definition: score-plugin-engine/Engine/ApplicationPlugin.hpp:46
Definition: score-plugin-recording/Recording/ApplicationPlugin.hpp:24
The core hierarchical and temporal process of score.
Definition: ScenarioModel.hpp:37
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
Main plug-in of score.
Definition: score-plugin-dataflow/Dataflow/PortItem.hpp:14
Definition: ScenarioPoint.hpp:13
Specializes ApplicationContext with the QMainWindow.
Definition: GUIApplicationContext.hpp:15