Merge branch 'stable-1.1'

Conflicts:
	src/core/NotePlayHandle.cpp
This commit is contained in:
Vesa
2014-07-17 02:06:01 +03:00
47 changed files with 611 additions and 280 deletions

View File

@@ -25,9 +25,6 @@
#include <QtXml/QDomElement>
#include <cstdio>
#include <cfloat>
#include "Effect.h"
#include "engine.h"
#include "EffectChain.h"
@@ -136,7 +133,7 @@ void Effect::checkGate( double _out_sum )
{
// Check whether we need to continue processing input. Restart the
// counter if the threshold has been exceeded.
if( _out_sum <= gate() + FLT_MIN )
if( _out_sum - gate() <= typeInfo<float>::minEps() )
{
incrementBufferCount();
if( bufferCount() > timeout() )
@@ -176,7 +173,7 @@ void Effect::reinitSRC()
libsrcInterpolation(),
DEFAULT_CHANNELS, &error ) ) == NULL )
{
fprintf( stderr, "Error: src_new() failed in effect.cpp!\n" );
qFatal( "Error: src_new() failed in effect.cpp!\n" );
}
}
}
@@ -202,7 +199,7 @@ void Effect::resample( int _i, const sampleFrame * _src_buf,
int error;
if( ( error = src_process( m_srcState[_i], &m_srcData[_i] ) ) )
{
fprintf( stderr, "Effect::resample(): error while resampling: %s\n",
qFatal( "Effect::resample(): error while resampling: %s\n",
src_strerror( error ) );
}
}

View File

@@ -153,9 +153,8 @@ void FxChannel::doProcessing( sampleFrame * _buf )
MixHelpers::addMultipliedByBuffer( _buf, ch_buf, v, sendBuf, fpp );
}
}
// if sender channel hasInput, then we hasInput too
if( sender->m_hasInput ) m_hasInput = true;
if( sender->m_hasInput ) { m_hasInput = true; }
}
}
@@ -166,10 +165,9 @@ void FxChannel::doProcessing( sampleFrame * _buf )
// only start fxchain when we have input...
m_fxChain.startRunning();
}
if( m_hasInput || m_stillRunning )
{
m_stillRunning = m_fxChain.processAudioBuffer( _buf, fpp, m_hasInput );
}
m_stillRunning = m_fxChain.processAudioBuffer( _buf, fpp, m_hasInput );
m_peakLeft = qMax( m_peakLeft, engine::mixer()->peakValueLeft( _buf, fpp ) * v );
m_peakRight = qMax( m_peakRight, engine::mixer()->peakValueRight( _buf, fpp ) * v );
}

View File

@@ -420,6 +420,7 @@ void pattern::loadSettings( const QDomElement & _this )
void pattern::clear()
{
addJournalCheckPoint();
clearNotes();
ensureBeatNotes();
}