Fixed wet/dry knob in stereo matrix

git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@937 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Paul Giblock
2008-04-25 05:35:11 +00:00
parent 3dc51ba506
commit 000ce83d2c
2 changed files with 19 additions and 4 deletions

View File

@@ -13,6 +13,10 @@
- shade volume bars according to volume
- fixed drawing of background while scrolling
* plugins/stereo_matrix/stereo_matrix.cpp:
Made wet/dry knob do something. Acts as a nice panning knob when the
matrix has the channels swapped.
2008-04-20 Tobias Doerffel <tobydox/at/users/dot/sourceforge/dot/net>
* src/gui/widgets/group_box.cpp:

View File

@@ -81,13 +81,24 @@ bool stereoMatrixEffect::processAudioBuffer( sampleFrame * _buf,
for( fpp_t f = 0; f < _frames; ++f )
{
const float d = getDryLevel();
const float w = getWetLevel();
sample_t l = _buf[f][0];
sample_t r = _buf[f][1];
_buf[f][0] = m_smControls.m_llModel.value( f ) * l +
m_smControls.m_rlModel.value( f ) * r;
_buf[f][1] = m_smControls.m_lrModel.value( f ) * l +
m_smControls.m_rrModel.value( f ) * r;
// Init with dry-mix
_buf[f][0] = l * d;
_buf[f][1] = r * d;
// Add it wet
_buf[f][0] += ( m_smControls.m_llModel.value( f ) * l +
m_smControls.m_rlModel.value( f ) * r ) * w;
_buf[f][1] += ( m_smControls.m_lrModel.value( f ) * l +
m_smControls.m_rrModel.value( f ) * r ) * w;
}
return( isRunning() );