1 // foursine.cpp STK tutorial program 2 3 #include "SineWave.h" 4 #include "FileWvOut.h" 5 #include <cstdlib> 6 7 using namespace stk; 8 main()9int main() 10 { 11 // Set the global sample rate before creating class instances. 12 Stk::setSampleRate( 44100.0 ); 13 14 int i; 15 FileWvOut output; 16 SineWave inputs[4]; 17 18 // Set the sine wave frequencies. 19 for ( i=0; i<4; i++ ) 20 inputs[i].setFrequency( 220.0 * (i+1) ); 21 22 // Define and open a 16-bit, four-channel AIFF formatted output file 23 try { 24 output.openFile( "foursine.aif", 4, FileWrite::FILE_AIF, Stk::STK_SINT16 ); 25 } 26 catch (StkError &) { 27 exit( 1 ); 28 } 29 30 // Write two seconds of four sines to the output file 31 StkFrames frames( 88200, 4 ); 32 for ( i=0; i<4; i++ ) 33 inputs[i].tick( frames, i ); 34 35 output.tick( frames ); 36 37 // Now write the first sine to all four channels for two seconds 38 for ( i=0; i<88200; i++ ) { 39 output.tick( inputs[0].tick() ); 40 } 41 42 return 0; 43 } 44