Move waveform generation away from main

This commit is contained in:
Vesa
2014-04-09 13:30:17 +03:00
parent d5fa2568ed
commit 2bfd19cc44
4 changed files with 12 additions and 5 deletions

View File

@@ -174,6 +174,8 @@ public:
static void generateWaves();
static bool s_wavesGenerated;
static WaveMipMap s_waveforms [NumBLWaveforms];
};

View File

@@ -1026,6 +1026,10 @@ MonstroInstrument::MonstroInstrument( InstrumentTrack * _instrument_track ) :
m_sub3lfo2( 0.0f, -1.0f, 1.0f, 0.001f, this, tr( "Sub3-LFO2" ) )
{
// make sure the wavetables exist:
// generate bandlimited wavetables
BandLimitedWave::generateWaves();
// setup waveboxes
setwavemodel( m_osc2Wave )
setwavemodel( m_osc3Wave1 )

View File

@@ -27,10 +27,13 @@
WaveMipMap BandLimitedWave::s_waveforms[4] = { };
bool BandLimitedWave::s_wavesGenerated = false;
void BandLimitedWave::generateWaves()
{
// don't generate if they already exist
if( s_wavesGenerated ) return;
int i;
// saw wave - BLSaw
@@ -144,4 +147,6 @@ void BandLimitedWave::generateWaves()
}
}
s_wavesGenerated = true;
}

View File

@@ -65,7 +65,6 @@
#include "ProjectRenderer.h"
#include "DataFile.h"
#include "song.h"
#include "BandLimitedWave.h"
static inline QString baseName( const QString & _file )
{
@@ -120,9 +119,6 @@ int main( int argc, char * * argv )
new QCoreApplication( argc, argv ) :
new QApplication( argc, argv ) ;
// generate bandlimited wavetables for instruments to use
BandLimitedWave::generateWaves();
Mixer::qualitySettings qs( Mixer::qualitySettings::Mode_HighQuality );
ProjectRenderer::OutputSettings os( 44100, false, 160,
ProjectRenderer::Depth_16Bit );