* sf2Player: retrieve resampling-interpolation from current mixer quality settings

* mixer: made m_writing-variable in fifoWriter volatile
* projectRenderer: change audio-device to file-device from within GUI-thread in order to make slots being connected to sampleRateChanged()-signal being called 
immediately
* audioDevice: made HQ-mode for audio-devices optional



git-svn-id: https://lmms.svn.sf.net/svnroot/lmms/trunk/lmms@959 0778d3d1-df1d-0410-868b-ea421aaaa00d
This commit is contained in:
Tobias Doerffel
2008-05-11 23:21:33 +00:00
parent e32eed940f
commit 7598cd7a8e
17 changed files with 157 additions and 81 deletions

View File

@@ -423,7 +423,8 @@ void sf2Instrument::updateSampleRate( void )
src_delete( m_srcState );
}
int error;
m_srcState = src_new( SRC_SINC_MEDIUM_QUALITY,
m_srcState = src_new( engine::getMixer()->
currentQualitySettings().libsrcInterpolation(),
DEFAULT_CHANNELS, &error );
if( m_srcState == NULL || error )
{
@@ -452,7 +453,7 @@ void sf2Instrument::playNote( notePlayHandle * _n, bool, sampleFrame * )
return;
}
if ( tfp == 0 )
if( tfp == 0 )
{
_n->m_pluginData = new int( midiNote );
@@ -464,11 +465,6 @@ void sf2Instrument::playNote( notePlayHandle * _n, bool, sampleFrame * )
++m_notesRunning[midiNote];
m_notesRunningMutex.unlock();
}
else if( _n->released() )
{
// Doesn't happen with release frames = 0
}
}