20class ChordPreset :
public QObject
23 Q_PROPERTY (QString name READ name WRITE setName NOTIFY nameChanged)
25 QString category READ category WRITE setCategory NOTIFY categoryChanged)
26 Q_PROPERTY (
bool isBuiltin READ isBuiltin CONSTANT FINAL)
30 ChordPreset (QObject * parent =
nullptr);
31 ChordPreset (
const QString &name, QObject * parent =
nullptr);
34 const QString &category,
36 QObject * parent =
nullptr);
42 QString name ()
const;
43 void setName (
const QString &name);
44 Q_SIGNAL
void nameChanged (
const QString &name);
46 QString category ()
const;
47 void setCategory (
const QString &category);
48 Q_SIGNAL
void categoryChanged (
const QString &category);
50 bool isBuiltin ()
const {
return is_builtin_; }
55 Q_INVOKABLE QString
infoText ()
const;
61 std::span<const zrythm::utils::QObjectUniquePtr<zrythm::dsp::ChordDescriptor>>
72 friend void init_from (
78 static constexpr std::string_view kNameKey =
"name";
79 static constexpr std::string_view kDescriptorsKey =
"descriptors";
80 static constexpr std::string_view kCategoryKey =
"category";
81 friend void to_json (nlohmann::json &j,
const ChordPreset &preset);
82 friend void from_json (
const nlohmann::json &j,
ChordPreset &preset);
91 bool is_builtin_ =
false;
94 std::vector<zrythm::utils::QObjectUniquePtr<zrythm::dsp::ChordDescriptor>>