Files
stk/projects/examples/sineosc.cpp
Gary Scavone 6e0d1955a8 Version 4.1.1
2013-09-29 23:05:09 +02:00

46 lines
863 B
C++

// sineosc.cpp STK tutorial program
#include "WaveLoop.h"
#include "WvOut.h"
int main()
{
// Set the global sample rate before creating class instances.
Stk::setSampleRate( 44100.0 );
WaveLoop *input = 0;
WvOut *output = 0;
try {
// Define and load the sine wave file
input = new WaveLoop( "rawwaves/sinewave.raw", TRUE );
// Define and open a 16-bit, one-channel WAV formatted output file
output = new WvOut( "hellosine.wav", 1, WvOut::WVOUT_WAV, Stk::STK_SINT16 );
}
catch ( StkError & ) {
goto cleanup;
}
input->setFrequency( 440.0 );
// Run the oscillator for 40000 samples, writing to the output file
int i;
for ( i=0; i<40000; i++ ) {
try {
output->tick( input->tick() );
}
catch ( StkError & ) {
goto cleanup;
}
}
cleanup:
delete input;
delete output;
return 0;
}