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>
17SCORE_LIB_PROCESS_EXPORT
18const QIcon& getCategoryIcon(
const QString& category)
noexcept;
19enum ProcessCategory : uint64_t
38 ProcessCategory category{};
41 QString author{
"ossia score"};
43 std::optional<std::vector<Process::PortType>> inlets;
44 std::optional<std::vector<Process::PortType>> outlets;
45 QUrl documentationLink;
49#define PROCESS_FLAGS_METADATA(Export, Model, Flags) \
50 TYPED_METADATA(Export, Model, Process::ProcessFlags_k, Process::ProcessFlags, Flags)
52#define PROCESS_METADATA( \
53 Export, Model, Uuid, ObjectKey, PrettyName, CategoryEnum, Category, Desc, Author, \
54 Tags, InputSpec, OutputSpec, DocumentationLink, Flags) \
55 MODEL_METADATA(Export, Process::ProcessModel, Model, Uuid, ObjectKey, PrettyName) \
56 CATEGORY_METADATA(Export, Model, Category) \
57 TAGS_METADATA(Export, Model, Tags) \
58 PROCESS_FLAGS_METADATA(Export, Model, (Process::ProcessFlags)(Flags)) \
60 struct Export Metadata<::Process::Descriptor_k, Model> \
62 static ::Process::Descriptor get() \
64 static const ::Process::Descriptor k{PrettyName, CategoryEnum, Category, \
66 InputSpec, OutputSpec, DocumentationLink};\
71#define PROCESS_METADATA_IMPL(Model) \
72 MODEL_METADATA_IMPL(Model) \
73 QString prettyShortName() const noexcept override \
75 return Metadata<PrettyName_k, Model>::get(); \
77 QString category() const noexcept override \
79 return Metadata<Category_k, Model>::get(); \
81 QStringList tags() const noexcept override \
83 return Metadata<Tags_k, Model>::get(); \
85 Process::ProcessFlags flags() const noexcept override \
87 return Metadata<Process::ProcessFlags_k, Model>::get(); \
90#define PROCESS_METADATA_IMPL_NOFLAGS(Model) \
91 MODEL_METADATA_IMPL(Model) \
92 QString prettyShortName() const noexcept override \
94 return Metadata<PrettyName_k, Model>::get(); \
96 QString category() const noexcept override \
98 return Metadata<Category_k, Model>::get(); \
100 QStringList tags() const noexcept override \
102 return Metadata<Tags_k, Model>::get(); \
Namespace related to the Automation process.
Definition AutomationColors.cpp:8
Base classes and tools to implement processes and layers.
Definition JSONVisitor.hpp:1115
Definition score-lib-process/Process/ProcessMetadata.hpp:36