2 #include <Process/Dataflow/PortType.hpp>
3 #include <Process/ProcessFlags.hpp>
5 #include <score/plugins/SerializableInterface.hpp>
7 #include <score/tools/Metadata.hpp>
8 #include <score/tools/std/Optional.hpp>
10 #include <QStringList>
16 SCORE_LIB_PROCESS_EXPORT
17 const QIcon& getCategoryIcon(
const QString& category) noexcept;
18 enum ProcessCategory : uint64_t
32 Deprecated = (1ULL << 63),
38 ProcessCategory category{};
41 QString author{
"ossia score"};
43 std::optional<std::vector<Process::PortType>> inlets;
44 std::optional<std::vector<Process::PortType>> outlets;
48 #define PROCESS_FLAGS_METADATA(Export, Model, Flags) \
49 TYPED_METADATA(Export, Model, Process::ProcessFlags_k, Process::ProcessFlags, Flags)
51 #define PROCESS_METADATA( \
52 Export, Model, Uuid, ObjectKey, PrettyName, CategoryEnum, Category, Desc, Author, \
53 Tags, InputSpec, OutputSpec, Flags) \
54 MODEL_METADATA(Export, Process::ProcessModel, Model, Uuid, ObjectKey, PrettyName) \
55 CATEGORY_METADATA(Export, Model, Category) \
56 TAGS_METADATA(Export, Model, Tags) \
57 PROCESS_FLAGS_METADATA(Export, Model, (Process::ProcessFlags)(Flags)) \
59 struct Export Metadata<::Process::Descriptor_k, Model> \
61 static ::Process::Descriptor get() \
63 static const ::Process::Descriptor k{PrettyName, CategoryEnum, Category, \
65 InputSpec, OutputSpec}; \
70 #define PROCESS_METADATA_IMPL(Model) \
71 MODEL_METADATA_IMPL(Model) \
72 QString prettyShortName() const noexcept override \
74 return Metadata<PrettyName_k, Model>::get(); \
76 QString category() const noexcept override \
78 return Metadata<Category_k, Model>::get(); \
80 QStringList tags() const noexcept override \
82 return Metadata<Tags_k, Model>::get(); \
84 Process::ProcessFlags flags() const noexcept override \
86 return Metadata<Process::ProcessFlags_k, Model>::get(); \
Definition: QmlObjects.hpp:435
Namespace related to the Automation process.
Definition: AutomationColors.cpp:8
Base classes and tools to implement processes and layers.
Definition: JSONVisitor.hpp:1324
Definition: score-lib-process/Process/ProcessMetadata.hpp:36