void Test::Setup ( int samples_per_block, ToneGeneratorAudioSource &tone, uint32 &active_outputs ) { float amp; tone.prepareToPlay(samples_per_block,sample_rate); tone.setFrequency(output_frequency); amp = pow(10.0f,output_amplitude_db/20.0f); tone.setAmplitude( amp ); }
void Test::fillAudioOutputs(AudioSampleBuffer &buffer, ToneGeneratorAudioSource &tone) { AudioSourceChannelInfo asci; asci.buffer = &buffer; asci.numSamples = buffer.getNumSamples(); asci.startSample = 0; tone.getNextAudioBlock(asci); }
void MainPanel::setAudio (int audioId) { AudioSource* source = 0; switch (audioId) { case 1: // Amen Break { WavAudioFormat waf; AudioFormatReader* afr = waf.createReaderFor ( new MemoryInputStream (binaries::amenbreakloop_wav, binaries::amenbreakloop_wavSize, false), true); source = new ResamplingReader (afr); } break; case 2: // sine wave { ToneGeneratorAudioSource* tgas = new ToneGeneratorAudioSource (); tgas->setFrequency (440); tgas->setAmplitude (1.f); source = tgas; } break; case 3: // White Noise source = new NoiseAudioSource; break; case 4: // Pink Noise source = new NoiseAudioSource (true); break; }; MainApp::getInstance().getAudioOutput().setSource (source); }