Loading...
Searching...
No Matches
AudioApplicationPlugin.hpp
1#pragma once
2#include <score/plugins/application/GUIApplicationPlugin.hpp>
3
4#include <score_plugin_audio_export.h>
5
6#include <memory>
7
8namespace ossia
9{
10class audio_engine;
11}
12
13namespace Audio
14{
15class AudioPreviewExecutor;
16class SCORE_PLUGIN_AUDIO_EXPORT ApplicationPlugin final
17 : public QObject
19{
20public:
22 ~ApplicationPlugin() override;
23
24 score::GUIElements makeGUIElements() override;
25
26 std::shared_ptr<ossia::audio_engine> audio;
27
28private:
29 void restart_engine();
30 void stop_engine();
31 void start_engine();
32 void rebind_engine(score::Document& doc);
33
34 QAction* m_audioEngineAct{};
35
36 bool m_updating_audio = false;
37 void initialize() override;
38
39 void on_closeDocument(score::Document& old) override;
40
41 void on_documentChanged(score::Document* olddoc, score::Document* newdoc) override;
42
43 void timerEvent(QTimerEvent*) override;
44
45 std::vector<std::shared_ptr<ossia::audio_engine>> previous_audio;
46};
47
48}
Definition AudioApplicationPlugin.hpp:19
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
Specializes ApplicationContext with the QMainWindow.
Definition GUIApplicationContext.hpp:15
Definition GUIApplicationPlugin.hpp:24