Restore actual plugin-preset on session-load
This checks if the preset is actually available on the given system and also sets the user-flag correctly.
This commit is contained in:
parent
3c7dea43af
commit
53a0199a06
@ -475,9 +475,18 @@ Plugin::parameter_changed_externally (uint32_t which, float /* value */)
|
|||||||
int
|
int
|
||||||
Plugin::set_state (const XMLNode& node, int /*version*/)
|
Plugin::set_state (const XMLNode& node, int /*version*/)
|
||||||
{
|
{
|
||||||
node.get_property (X_("last-preset-uri"), _last_preset.uri);
|
std::string preset_uri;
|
||||||
node.get_property (X_("last-preset-label"), _last_preset.label);
|
const Plugin::PresetRecord* r = 0;
|
||||||
node.get_property (X_("parameter-changed-since-last-preset"), _parameter_changed_since_last_preset);
|
if (node.get_property (X_("last-preset-uri"), preset_uri)) {
|
||||||
|
r = preset_by_uri (preset_uri);
|
||||||
|
}
|
||||||
|
if (r) {
|
||||||
|
_last_preset = *r;
|
||||||
|
node.get_property (X_("parameter-changed-since-last-preset"), _parameter_changed_since_last_preset); // XXX
|
||||||
|
} else {
|
||||||
|
_last_preset.uri = "";
|
||||||
|
_last_preset.valid = false;
|
||||||
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user