4#ifndef __SETTINGS_CHORD_PRESET_PACK_MANAGER_H__
5#define __SETTINGS_CHORD_PRESET_PACK_MANAGER_H__
7#include "zrythm-config.h"
9#include "gui/backend/backend/settings/chord_preset_pack.h"
17#define CHORD_PRESET_PACK_MANAGER (gZrythm->chord_preset_pack_manager_)
22class ChordPresetPackManager
25 ChordPresetPackManager () { add_standard_packs (); }
40 size_t get_num_packs ()
const;
79 void add_standard_packs ();
80 void add_user_packs ();
81 static fs::path get_user_packs_path ();
82 static constexpr const char * UserPacksDirName =
"chord-preset-packs";
83 static constexpr const char * UserPackJsonFilename =
"chord-presets.json";
89 std::vector<std::unique_ptr<ChordPresetPack>>
packs_;
std::vector< std::unique_ptr< ChordPresetPack > > packs_
Scanned preset packs.
int get_pset_index(const ChordPreset &pset)
Returns the preset index in its pack.
void serialize()
Serializes the chord presets.
void add_preset(ChordPresetPack &pack, const ChordPreset &pset, bool serialize)
Add a copy of the given preset to the given preset pack and optionally serializes the pack manager.
void add_pack(const ChordPresetPack &pack, bool serialize)
Add a copy of the given pack.
ChordPresetPackManager(bool scan_for_packs)
Construct a new Chord Preset Pack Manager object.
A preset of chord descriptors.