26class ChordPreset :
public QObject
29 Q_PROPERTY (QString name READ getName WRITE setName NOTIFY nameChanged)
33 using NameT = QString;
34 ChordPreset (QObject * parent =
nullptr);
35 ChordPreset (
const NameT &name, QObject * parent =
nullptr);
41 NameT getName ()
const;
42 void setName (
const NameT &name);
43 Q_SIGNAL
void nameChanged (
const NameT &name);
54 friend void init_from (
56 const ChordPreset &other,
57 utils::ObjectCloneType clone_type);
60 static constexpr std::string_view kNameKey =
"name";
61 static constexpr std::string_view kDescriptorsKey =
"descriptors";
62 friend void to_json (nlohmann::json &j,
const ChordPreset &preset)
64 j[kNameKey] = preset.
name_;
65 j[kDescriptorsKey] = preset.
descr_;
67 friend void from_json (
const nlohmann::json &j,
ChordPreset &preset)
69 j.at (kNameKey).get_to (preset.
name_);
70 j.at (kDescriptorsKey).get_to (preset.
descr_);
78 std::vector<dsp::ChordDescriptor>
descr_;