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
33 QAction* m_audioEngineAct{};
34
35 bool m_updating_audio = false;
36 void initialize() override;
37
38 void on_documentChanged(score::Document* olddoc, score::Document* newdoc) override;
39
40 void timerEvent(QTimerEvent*) override;
41
42 std::vector<std::shared_ptr<ossia::audio_engine>> previous_audio;
43};
44
45}
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