Class Emitter


The combination of the AeonWave C++ class buffer management code and XML encoded AAXS files, which can define filters and effects, makes it simple to add a complete set of filters and effects to emitters and audio-frames.

To play one of the AeonWave supplied preset effect files for example the following code is sufficient. The buffer function automatically adds the prefix based on APP_DATA_DIR and adds the .aaxs file extension.

   aax::AeonWave aax(AAX_MODE_WRITE_STEREO);

   aax::Buffer& buffer = aax.buffer("effects/nature/crickets");

   aax::Emitter emitter(AAX_STEREO);

   do {
   } while (emitter.state() == AAX_PLAYING);


With the addition of the Param class in AeonWave version 3.3 it is extremely easy to update the status of Filter and Effect parameters. The Param class encapsulates a float value but it can be tied to a specific dsp parameter of another class:

   aax::Param gain = 1.0f;
   emitter.tie(gain, AAX_VOLUME_FILTER, AAX_GAIN);

   float dt = 0.0f;
   do {
       dt += 1.0f;
       if (dt > 3.0f) gain = 0.5f; // automatically updates the filter

   } while (dt < 6.0f && emitter.state() == AAX_PLAYING);