Make sure PluginInfo.type is always set plus replace a mindless class cast kludge from PluginInfo::type() with plugin()->get_info()->type

git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@5959 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Sampo Savolainen 2009-10-28 20:21:07 +00:00
parent 7fb1446cb2
commit 8e52a22c22
6 changed files with 12 additions and 35 deletions

View file

@ -134,7 +134,7 @@ class LadspaPlugin : public ARDOUR::Plugin
class LadspaPluginInfo : public PluginInfo {
public:
LadspaPluginInfo () { };
LadspaPluginInfo ();
~LadspaPluginInfo () { };
PluginPtr load (Session& session);

View file

@ -103,7 +103,7 @@ class VSTPlugin : public ARDOUR::Plugin
class VSTPluginInfo : public PluginInfo
{
public:
VSTPluginInfo () {}
VSTPluginInfo ();
~VSTPluginInfo () {}
PluginPtr load (Session& session);

View file

@ -1472,11 +1472,12 @@ AUPlugin::has_editor () const
AUPluginInfo::AUPluginInfo (boost::shared_ptr<CAComponentDescription> d)
: descriptor (d)
{
type = ARDOUR::AudioUnit;
}
AUPluginInfo::~AUPluginInfo ()
{
type = ARDOUR::AudioUnit;
}
PluginPtr

View file

@ -850,38 +850,7 @@ PluginInsert::latency()
ARDOUR::PluginType
PluginInsert::type ()
{
boost::shared_ptr<LadspaPlugin> lp;
#ifdef VST_SUPPORT
boost::shared_ptr<VSTPlugin> vp;
#endif
#ifdef HAVE_AUDIOUNITS
boost::shared_ptr<AUPlugin> ap;
#endif
#ifdef HAVE_LV2
boost::shared_ptr<LV2Plugin> lv2p;
#endif
PluginPtr other = plugin ();
if ((lp = boost::dynamic_pointer_cast<LadspaPlugin> (other)) != 0) {
return ARDOUR::LADSPA;
#ifdef VST_SUPPORT
} else if ((vp = boost::dynamic_pointer_cast<VSTPlugin> (other)) != 0) {
return ARDOUR::VST;
#endif
#ifdef HAVE_AUDIOUNITS
} else if ((ap = boost::dynamic_pointer_cast<AUPlugin> (other)) != 0) {
return ARDOUR::AudioUnit;
#endif
#ifdef HAVE_LV2
} else if ((lv2p = boost::dynamic_pointer_cast<LV2Plugin> (other)) != 0) {
return ARDOUR::LV2;
#endif
} else {
error << "Unknown plugin type" << endmsg;
/* NOT REACHED */
return (ARDOUR::PluginType) 0;
}
return plugin()->get_info()->type;
}
/***************************************************************

View file

@ -669,3 +669,9 @@ LadspaPluginInfo::load (Session& session)
return PluginPtr ((Plugin*) 0);
}
}
LadspaPluginInfo::LadspaPluginInfo()
{
type = ARDOUR::LADSPA;
}

View file

@ -586,6 +586,7 @@ LV2PluginInfo::LV2PluginInfo (void* lv2_world, void* slv2_plugin)
: _lv2_world(lv2_world)
, _slv2_plugin(slv2_plugin)
{
type = ARDOUR::LV2;
}
LV2PluginInfo::~LV2PluginInfo()