X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fardour%2Fplugin.cc;h=3b471014eb503199216d69200fb4f7d405c224c7;hb=5a8bc070cd5ca79a53487f536c6df966ffc8df39;hp=8ea95b89037db9333fdd1713fe32d667fc67ff1e;hpb=56d5c7c713a8a170d9181111952c5fb792d879f6;p=ardour.git diff --git a/libs/ardour/plugin.cc b/libs/ardour/plugin.cc index 8ea95b8903..3b471014eb 100644 --- a/libs/ardour/plugin.cc +++ b/libs/ardour/plugin.cc @@ -95,15 +95,17 @@ Plugin::get_nth_control (uint32_t n) Plugin::ParameterDescriptor desc; get_parameter_descriptor (n, desc); - - controls[n] = new PortControllable (*this, n, desc.lower, desc.upper, desc.toggled, desc.logarithmic); + + controls[n] = new PortControllable (describe_parameter (n), *this, n, + desc.lower, desc.upper, desc.toggled, desc.logarithmic); } return controls[n]; } -Plugin::PortControllable::PortControllable (Plugin& p, uint32_t port_id, float low, float up, bool t, bool loga) - : plugin (p), absolute_port (port_id) +Plugin::PortControllable::PortControllable (string name, Plugin& p, uint32_t port_id, + float low, float up, bool t, bool loga) + : Controllable (name), plugin (p), absolute_port (port_id) { toggled = t; logarithmic = loga; @@ -224,13 +226,13 @@ Plugin::save_preset (string name, string domain) free(lrdf_add_preset(source.c_str(), name.c_str(), unique_id(), &defaults)); string path = string_compose("%1/.%2", envvar, domain); - if (mkdir(path.c_str(), 0775) && errno != EEXIST) { + if (g_mkdir_with_parents (path.c_str(), 0775)) { warning << string_compose(_("Could not create %1. Preset not saved. (%2)"), path, strerror(errno)) << endmsg; return false; } path += "/rdf"; - if (mkdir(path.c_str(), 0775) && errno != EEXIST) { + if (g_mkdir_with_parents (path.c_str(), 0775)) { warning << string_compose(_("Could not create %1. Preset not saved. (%2)"), path, strerror(errno)) << endmsg; return false; } @@ -244,25 +246,25 @@ Plugin::save_preset (string name, string domain) } PluginPtr -ARDOUR::find_plugin(Session& session, string name, long unique_id, PluginInfo::Type type) +ARDOUR::find_plugin(Session& session, string name, long unique_id, PluginType type) { PluginManager *mgr = PluginManager::the_manager(); PluginInfoList plugs; switch (type) { - case PluginInfo::LADSPA: + case ARDOUR::LADSPA: plugs = mgr->ladspa_plugin_info(); break; #ifdef VST_SUPPORT - case PluginInfo::VST: + case ARDOUR::VST: plugs = mgr->vst_plugin_info(); unique_id = 0; // VST plugins don't have a unique id. break; #endif -#ifdef HAVE_COREAUDIO - case PluginInfo::AudioUnit: +#ifdef HAVE_AUDIOUNITS + case ARDOUR::AudioUnit: plugs = AUPluginInfo::discover (); unique_id = 0; // Neither do AU. break; @@ -282,3 +284,4 @@ ARDOUR::find_plugin(Session& session, string name, long unique_id, PluginInfo::T return PluginPtr ((Plugin*) 0); } +