score-plugin-media/Media/Merger/Model.hpp
1 #pragma once
2 #include <Process/Process.hpp>
3 
4 #include <Media/Merger/Metadata.hpp>
5 
7 #include <score/serialization/JSONVisitor.hpp>
9 
10 #include <verdigris>
11 
12 namespace Media
13 {
14 namespace Merger
15 {
16 class Model final : public Process::ProcessModel
17 {
18  SCORE_SERIALIZE_FRIENDS
19  PROCESS_METADATA_IMPL(Media::Merger::Model)
20 
21  W_OBJECT(Model)
22 
23 public:
24  explicit Model(
25  const TimeVal& duration, const Id<Process::ProcessModel>& id, QObject* parent);
26 
27  ~Model() override;
28 
29  template <typename Impl>
30  explicit Model(Impl& vis, QObject* parent)
31  : Process::ProcessModel{vis, parent}
32  {
33  vis.writeTo(*this);
34  }
35 
36  int inCount() const;
37 
38 public:
39  void inCountChanged(int arg_1) W_SIGNAL(inCountChanged, arg_1);
40 
41 public:
42  void setInCount(int s);
43  W_SLOT(setInCount);
44 
45 private:
46  int m_inCount{};
47 
48  W_PROPERTY(int, inCount READ inCount WRITE setInCount NOTIFY inCountChanged)
49 };
50 }
51 }
Definition: score-plugin-media/Media/Merger/Model.hpp:17
The Process class.
Definition: score-lib-process/Process/Process.hpp:61
The id_base_t class.
Definition: Identifier.hpp:57
Definition: TimeValue.hpp:21