diff --git a/include/ladspa_base.h b/include/ladspa_base.h index d290f7baf..ef8c98706 100644 --- a/include/ladspa_base.h +++ b/include/ladspa_base.h @@ -75,7 +75,9 @@ inline plugin::descriptor::subPluginFeatures::key ladspaKeyToSubPluginKey( const ladspa_key_t & _key ) { plugin::descriptor::subPluginFeatures::key::attributeMap m; - m["file"] = _key.first; + QString file = _key.first; + m["file"] = file.remove( QRegExp( "\\.so$" ) ). + remove( QRegExp( "\\.dll$" ) ); m["plugin"] = _key.second; return( plugin::descriptor::subPluginFeatures::key( _desc, _name, m ) ); diff --git a/plugins/ladspa_effect/ladspa_subplugin_features.cpp b/plugins/ladspa_effect/ladspa_subplugin_features.cpp index 873ef2da6..af107098a 100644 --- a/plugins/ladspa_effect/ladspa_subplugin_features.cpp +++ b/plugins/ladspa_effect/ladspa_subplugin_features.cpp @@ -162,7 +162,14 @@ void ladspaSubPluginFeatures::listSubPluginKeys( plugin::descriptor * _desc, ladspa_key_t ladspaSubPluginFeatures::subPluginKeyToLadspaKey( const key * _key ) { - return( ladspa_key_t( _key->attributes["file"], - _key->attributes["plugin"] ) ); + QString file = _key->attributes["file"].toLower(); + return( ladspa_key_t( file.remove( QRegExp( "\\.so$" ) ). + remove( QRegExp( "\\.dll$" ) ) + +#ifdef LMMS_BUILD_WIN32 + ".dll" +#else + ".so" +#endif + , _key->attributes["plugin"] ) ); }