VstEffect: check whether VST effect has an editor

Depending on whether VST effect has an editor return 1 or 0 in
VstEffectControls::getControlCount(). This prevents the EffectView in
the effect rack from showing a "Controls" button and creating an empty
subwindow.
(cherry picked from commit 3a4ae3a434)
This commit is contained in:
Tobias Doerffel
2009-05-03 15:13:22 +02:00
parent 894ee9ea48
commit 9c4dc40de1
3 changed files with 17 additions and 11 deletions

View File

@@ -1,7 +1,7 @@
/*
* vst_effect.h - class for handling VST effect plugins
*
* Copyright (c) 2006-2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2006-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -47,13 +47,13 @@ public:
virtual effectControls * getControls( void )
{
return( &m_vstControls );
return &m_vstControls;
}
virtual inline QString publicName( void ) const
{
return( m_plugin->name() );
return m_plugin->name();
}

View File

@@ -1,7 +1,7 @@
/*
* vst_effect_controls.cpp - controls for VST effect plugins
*
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -67,5 +67,14 @@ void vstEffectControls::saveSettings( QDomDocument & _doc, QDomElement & _this )
int vstEffectControls::getControlCount( void )
{
return m_effect->m_plugin != NULL &&
m_effect->m_plugin->hasEditor() ? 1 : 0;
}
#include "moc_vst_effect_controls.cxx"

View File

@@ -1,7 +1,7 @@
/*
* vst_effect_controls.h - controls for VST effect plugins
*
* Copyright (c) 2008 Tobias Doerffel <tobydox/at/users.sourceforge.net>
* Copyright (c) 2008-2009 Tobias Doerffel <tobydox/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -46,17 +46,14 @@ public:
virtual void loadSettings( const QDomElement & _this );
inline virtual QString nodeName( void ) const
{
return( "vsteffectcontrols" );
return "vsteffectcontrols";
}
virtual int getControlCount( void )
{
return( 1 );
}
virtual int getControlCount( void );
virtual effectControlDialog * createView( void )
{
return( new vstEffectControlDialog( this ) );
return new vstEffectControlDialog( this );
}