several fixes regarding effects and their integration into M/V-architecture

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/branches/lmms-mv@646 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2008-01-05 00:16:49 +00:00
parent 00d2d4a5d3
commit 7e67f12f16
19 changed files with 104 additions and 73 deletions

View File

@@ -2,7 +2,7 @@
* ladspa_control_dialog.cpp - dialog for displaying and editing control port
* values for LADSPA plugins
*
* Copyright (c) 2006-2007 Danny McRae <khjklujn/at/users.sourceforge.net>
* Copyright (c) 2006-2008 Danny McRae <khjklujn/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -132,10 +132,9 @@ ladspaControlDialog::ladspaControlDialog( QWidget * _parent,
m_mainLay->addSpacing( 3 );
QHBoxLayout * center = new QHBoxLayout();
m_mainLay->addLayout( center );
m_stereoLink = new ledCheckBox( tr( "Link Channels" ), this,
NULL, NULL );
connect( m_stereoLink, SIGNAL( toggled( bool ) ),
this, SLOT( link( bool ) ) );
m_stereoLink = new ledCheckBox( tr( "Link Channels" ), this );
connect( m_stereoLink, SIGNAL( dataChanged() ),
this, SLOT( updateChannelLinkState() ) );
m_stereoLink->setChecked( TRUE );
center->addWidget( m_stereoLink );
}
@@ -161,7 +160,7 @@ void FASTCALL ladspaControlDialog::saveSettings( QDomDocument & _doc,
{
if( m_processors > 1 )
{
_this.setAttribute( "link", m_stereoLink->isChecked() );
_this.setAttribute( "link", m_stereoLink->model()->value() );
}
multi_proc_t controls = m_effect->getControls();
@@ -182,7 +181,8 @@ void FASTCALL ladspaControlDialog::loadSettings( const QDomElement & _this )
{
if( m_processors > 1 )
{
m_stereoLink->setChecked( _this.attribute( "link" ).toInt() );
m_stereoLink->model()->setValue(
_this.attribute( "link" ).toInt() );
}
multi_proc_t controls = m_effect->getControls();
@@ -221,9 +221,9 @@ void ladspaControlDialog::linkPort( Uint16 _port, bool _state )
void ladspaControlDialog::link( bool _state )
void ladspaControlDialog::updateChannelLinkState( void )
{
if( _state )
if( m_stereoLink->model()->value() )
{
for( Uint16 port = 0;
port < m_controlCount / m_processors;

View File

@@ -2,7 +2,7 @@
* ladspa_control_dialog.h - dialog for displaying and editing control port
* values for LADSPA plugins
*
* Copyright (c) 2006-2007 Danny McRae <khjklujn/at/users.sourceforge.net>
* Copyright (c) 2006-2008 Danny McRae <khjklujn/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -62,7 +62,7 @@ public:
protected slots:
void link( bool _state );
void updateChannelLinkState( void );
void linkPort( Uint16 _port, bool _state );

View File

@@ -1,7 +1,7 @@
/*
* ladspa_effect.cpp - class for processing LADSPA effects
*
* Copyright (c) 2006-2007 Danny McRae <khjklujn/at/users.sourceforge.net>
* Copyright (c) 2006-2008 Danny McRae <khjklujn/at/users.sourceforge.net>
*
* This file is part of Linux MultiMedia Studio - http://lmms.sourceforge.net
*
@@ -326,7 +326,7 @@ ladspaEffect::~ladspaEffect()
bool FASTCALL ladspaEffect::processAudioBuffer( surroundSampleFrame * _buf,
const fpp_t _frames )
{
if( !isOkay() || dontRun() || !isRunning() || isBypassed() )
if( !isOkay() || dontRun() || !isRunning() || !isEnabled() )
{
return( FALSE );
}