summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_unit.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-12-03 20:45:06 +0100
committerRobin Gareus <robin@gareus.org>2018-12-03 20:45:06 +0100
commitb285559767e21aae4467270590f048c3263fd742 (patch)
treefec5d5dd989f50738e23c9c02f2f0a5a5e12c47a /libs/ardour/audio_unit.cc
parent6877ac820b149fab1cae75633a5efd6dab5adb47 (diff)
Consistent AU factory Preset IDs
Use AU's preset->presetNumber as identifier since std::map are sorted this also indirectly sorts presets by preset-number. (user presets start with a '/' and are listed first, sorted by name). Since Presets are now identified by URI on session load (53a0199a0) and AU user-presets can added/be removed (since ae4604a24b7), simple sequential numbering is no longer an option.
Diffstat (limited to 'libs/ardour/audio_unit.cc')
-rw-r--r--libs/ardour/audio_unit.cc5
1 files changed, 1 insertions, 4 deletions
diff --git a/libs/ardour/audio_unit.cc b/libs/ardour/audio_unit.cc
index 559961b0b2..31ef2c470e 100644
--- a/libs/ardour/audio_unit.cc
+++ b/libs/ardour/audio_unit.cc
@@ -2604,10 +2604,7 @@ AUPlugin::find_presets ()
/* add factory presets */
for (FactoryPresetMap::iterator i = factory_preset_map.begin(); i != factory_preset_map.end(); ++i) {
- /* XXX: dubious -- deleting & re-adding a preset -> same URI
- * good that we don't support deleting AU presets :)
- */
- string const uri = PBD::to_string<uint32_t> (_presets.size ());
+ string const uri = string_compose ("AU2:%1", std::setw(4), std::setfill('0'), i->second);
_presets.insert (make_pair (uri, Plugin::PresetRecord (uri, i->first, false)));
DEBUG_TRACE (DEBUG::AudioUnits, string_compose("AU Adding Factory Preset: %1 > %2\n", i->first, i->second));
}