mirror of
https://github.com/LMMS/lmms.git
synced 2026-05-24 06:37:52 -04:00
Removal of the "sample-exact controllers" and "anti-aliasing oscillators" qualitysettings.
This commit is contained in:
@@ -24,8 +24,8 @@
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _CONTROLLER_H
|
||||
#define _CONTROLLER_H
|
||||
#ifndef CONTROLLER_H
|
||||
#define CONTROLLER_H
|
||||
|
||||
#include "engine.h"
|
||||
#include "Mixer.h"
|
||||
@@ -65,9 +65,7 @@ public:
|
||||
|
||||
inline bool isSampleExact() const
|
||||
{
|
||||
return m_sampleExact ||
|
||||
engine::mixer()->currentQualitySettings().
|
||||
sampleExactControllers;
|
||||
return m_sampleExact;
|
||||
}
|
||||
|
||||
void setSampleExact( bool _exact )
|
||||
|
||||
@@ -106,8 +106,6 @@ public:
|
||||
|
||||
Interpolation interpolation;
|
||||
Oversampling oversampling;
|
||||
bool sampleExactControllers;
|
||||
bool aliasFreeOscillators;
|
||||
|
||||
qualitySettings( Mode _m )
|
||||
{
|
||||
@@ -116,31 +114,22 @@ public:
|
||||
case Mode_Draft:
|
||||
interpolation = Interpolation_Linear;
|
||||
oversampling = Oversampling_None;
|
||||
sampleExactControllers = false;
|
||||
aliasFreeOscillators = false;
|
||||
break;
|
||||
case Mode_HighQuality:
|
||||
interpolation =
|
||||
Interpolation_SincFastest;
|
||||
oversampling = Oversampling_2x;
|
||||
sampleExactControllers = true;
|
||||
aliasFreeOscillators = false;
|
||||
break;
|
||||
case Mode_FinalMix:
|
||||
interpolation = Interpolation_SincBest;
|
||||
oversampling = Oversampling_8x;
|
||||
sampleExactControllers = true;
|
||||
aliasFreeOscillators = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
qualitySettings( Interpolation _i, Oversampling _o, bool _sec,
|
||||
bool _afo ) :
|
||||
qualitySettings( Interpolation _i, Oversampling _o ) :
|
||||
interpolation( _i ),
|
||||
oversampling( _o ),
|
||||
sampleExactControllers( _sec ),
|
||||
aliasFreeOscillators( _afo )
|
||||
oversampling( _o )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -360,7 +360,8 @@ void WatsynInstrument::playNote( NotePlayHandle * _n,
|
||||
const float tfp_ = static_cast<float>( _n->totalFramesPlayed() );
|
||||
|
||||
// if sample-exact is enabled, use sample-exact calculations...
|
||||
if( engine::mixer()->currentQualitySettings().sampleExactControllers )
|
||||
// disabled pending proper implementation of sample-exactness
|
||||
/* if( engine::mixer()->currentQualitySettings().sampleExactControllers )
|
||||
{
|
||||
for( fpp_t f=0; f < frames; f++ )
|
||||
{
|
||||
@@ -393,10 +394,11 @@ void WatsynInstrument::playNote( NotePlayHandle * _n,
|
||||
( bbuf[f][1] * bmix );
|
||||
}
|
||||
}
|
||||
|
||||
else*/
|
||||
|
||||
// if sample-exact is not enabled, use simpler calculations:
|
||||
// if mix envelope is active, and we haven't gone past the envelope end, use envelope-aware calculation...
|
||||
else if( envAmt != 0.0f && tfp_ < envLen )
|
||||
if( envAmt != 0.0f && tfp_ < envLen )
|
||||
{
|
||||
const float mixvalue_ = m_abmix.value();
|
||||
for( fpp_t f=0; f < frames; f++ )
|
||||
|
||||
@@ -272,13 +272,6 @@
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="sampleExactControllersCB" >
|
||||
<property name="text" >
|
||||
<string>Sample-exact controllers</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="exportLoopCB">
|
||||
<property name="text">
|
||||
@@ -286,13 +279,6 @@
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QCheckBox" name="aliasFreeOscillatorsCB" >
|
||||
<property name="text" >
|
||||
<string>Alias-free oscillators</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<spacer>
|
||||
<property name="orientation" >
|
||||
|
||||
@@ -251,9 +251,7 @@ ProjectRenderer* exportProjectDialog::prepRender()
|
||||
Mixer::qualitySettings qs =
|
||||
Mixer::qualitySettings(
|
||||
static_cast<Mixer::qualitySettings::Interpolation>(interpolationCB->currentIndex()),
|
||||
static_cast<Mixer::qualitySettings::Oversampling>(oversamplingCB->currentIndex()),
|
||||
sampleExactControllersCB->isChecked(),
|
||||
aliasFreeOscillatorsCB->isChecked() );
|
||||
static_cast<Mixer::qualitySettings::Oversampling>(oversamplingCB->currentIndex()) );
|
||||
|
||||
ProjectRenderer::OutputSettings os = ProjectRenderer::OutputSettings(
|
||||
samplerateCB->currentText().section(" ", 0, 0).toUInt(),
|
||||
|
||||
Reference in New Issue
Block a user