Loading...
Searching...
No Matches
MetroModel.hpp
1#pragma once
2#include <Process/Process.hpp>
3
4#include <Media/Metro/MetroMetadata.hpp>
5
7#include <score/serialization/JSONVisitor.hpp>
9
10#include <ossia/detail/pod_vector.hpp>
11
12#include <verdigris>
13
14namespace Media
15{
16namespace Metro
17{
18class Model final : public Process::ProcessModel
19{
20 SCORE_SERIALIZE_FRIENDS
21 PROCESS_METADATA_IMPL(Media::Metro::Model)
22
23 W_OBJECT(Model)
24
25public:
26 explicit Model(
27 const TimeVal& duration, const Id<Process::ProcessModel>& id, QObject* parent);
28
29 ~Model() override;
30
31 template <typename Impl>
32 explicit Model(Impl& vis, QObject* parent)
33 : Process::ProcessModel{vis, parent}
34 {
35 vis.writeTo(*this);
36 init();
37 }
38
39 void init();
40
41 std::unique_ptr<Process::AudioOutlet> audio_outlet;
42 std::unique_ptr<Process::Outlet> bang_outlet;
43};
44}
45}
Definition MetroModel.hpp:19
The Process class.
Definition score-lib-process/Process/Process.hpp:61
The id_base_t class.
Definition Identifier.hpp:57
Definition TimeValue.hpp:21