X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fplugin.cc;h=11d859ed8c81fe3558d5effcd200dfb5781b0e1f;hb=97a537cd2138dea1c64d01c5a0fa0f9335893c19;hp=57198475d72f9ad81d355924e91a19da7acd4ea5;hpb=d89f209f4a8e94c06de2895ff6fd1830c0e5419d;p=ardour.git diff --git a/libs/ardour/plugin.cc b/libs/ardour/plugin.cc index 57198475d7..11d859ed8c 100644 --- a/libs/ardour/plugin.cc +++ b/libs/ardour/plugin.cc @@ -27,12 +27,16 @@ #include #include // so libraptor doesn't complain #include +#ifndef COMPILER_MSVC #include +#endif #include #include #include +#ifdef HAVE_LRDF #include +#endif #include "pbd/compose.h" #include "pbd/error.h" @@ -68,6 +72,11 @@ using namespace PBD; namespace ARDOUR { class AudioEngine; } +#ifdef NO_PLUGIN_STATE +static bool seen_get_state_message = false; +static bool seen_set_state_message = false; +#endif + bool PluginInfo::is_instrument () const { @@ -299,18 +308,28 @@ Plugin::resolve_midi () _have_pending_stop_events = true; } + vector Plugin::get_presets () { + vector p; + +#ifndef NO_PLUGIN_STATE if (!_have_presets) { find_presets (); _have_presets = true; } - vector p; for (map::const_iterator i = _presets.begin(); i != _presets.end(); ++i) { p.push_back (i->second); } +#else + if (!seen_set_state_message) { + info << string_compose (_("Plugin presets are not supported in this build of %1. Consider paying for a full version"), + PROGRAM_NAME) + << endmsg; + } +#endif return p; } @@ -376,7 +395,17 @@ Plugin::get_state () root->add_property (X_("last-preset-label"), _last_preset.label); root->add_property (X_("parameter-changed-since-last-preset"), _parameter_changed_since_last_preset ? X_("yes") : X_("no")); +#ifndef NO_PLUGIN_STATE add_state (root); +#else + if (!seen_get_state_message) { + info << string_compose (_("Saving plugin settings is not supported in this build of %1. Consider paying for the full version"), + PROGRAM_NAME) + << endmsg; + seen_get_state_message = true; + } +#endif + return *root; }