Loading...
Searching...
No Matches
PresetAudition.hpp
1#pragma once
2#include <Process/Preset.hpp>
3#include <Process/Process.hpp>
4
5#include <QPointer>
6
7#include <score_plugin_library_export.h>
8
9#include <memory>
10
11namespace score
12{
13class Command;
14class Document;
15}
16
17namespace Library
18{
23class SCORE_PLUGIN_LIBRARY_EXPORT PresetAudition final : public QObject
24{
25public:
26 explicit PresetAudition(QObject* parent = nullptr);
28
31 static bool canAudition(const Process::ProcessModel& proc, const Process::Preset& p);
32
34 bool preview(const Process::ProcessModel& proc, const Process::Preset& p);
36 void commit();
38 void rollback();
39
40 bool active() const noexcept { return bool(m_cmd); }
41 const Process::ProcessModel* process() const noexcept { return m_proc; }
42
43private:
44 void end();
45
46 QPointer<const Process::ProcessModel> m_proc;
47 QPointer<score::Document> m_doc;
48 std::unique_ptr<score::Command> m_cmd;
50 QStringList m_cursorBefore;
51 QMetaObject::Connection m_pushed, m_gone;
52};
53}
Definition PresetAudition.hpp:24
The Process class.
Definition score-lib-process/Process/Process.hpp:82
Base toolkit upon which the software is built.
Definition Application.cpp:83
Definition Preset.hpp:32