| 
							- #include "../src/KSSynth.hpp"
 - #include "standalone_helpers.hpp"
 - 
 - #include <iostream>
 - 
 - struct KSGen : StepHandler
 - {
 -   KSSynth s;
 -   KSGen() : s( -0.9, 0.9, 44100 ) { }
 - 
 -   virtual int dostep( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
 -                       double streamTime, RtAudioStreamStatus status ) override
 -   {
 -     unsigned int i, j;
 -     double *buffer = (double *) outputBuffer;
 - 
 -     for ( i=0; i<nBufferFrames; i++ ) {
 -       *buffer++ = s.step();
 -     }
 -     if( ! s.active )
 -       return 1;
 -     return 0;
 -     
 -   }
 - };
 - 
 - int main( int argc, char **argv )
 - {
 -   KSGen gen;
 -   
 -   std::cout << "packets " << gen.s.numInitPackets() << "\n";
 - 
 -   gen.s.filtAtten = 3.0;
 -   gen.s.filtParamA = 0.3;
 -   gen.s.packet = KSSynth::RANDOM;
 -   float freq = 440;
 -   for( int i=0; i<=12; ++i )
 -     {
 -       float mul = pow( 2.0, i / 12.0f );
 -       gen.s.trigger( freq * mul );
 -       
 -       gen.playAudioUntilStepsDone();
 -     }
 - }
 
 
  |