//============================================================================== SynthAudioSource (MidiKeyboardState& keyboardState_) : keyboardState (keyboardState_) { // add some voices to our synth, to play the sounds.. for (int i = 4; --i >= 0;) { synth.addVoice (new SineWaveVoice()); // These voices will play our custom sine-wave sounds.. synth.addVoice (new SamplerVoice()); // and these ones play the sampled sounds } // and add some sounds for them to play... setUsingSineWaveSound(); }
void setTickSample (void const* audioData, int dataBytes) { ScopedPointer <MemoryInputStream> mis (new MemoryInputStream (audioData, dataBytes, false)); m_synth.clearVoices (); m_synth.clearSounds (); AudioFormatManager afm; afm.registerBasicFormats (); { ScopedPointer <AudioFormatReader> afr (afm.createReaderFor (mis)); if (afr != nullptr) { mis.release (); BigInteger midiNotes; midiNotes.setRange (0, 127, true); SynthesiserSound::Ptr sound = new SamplerSound ( "Tick", *afr, midiNotes, 60, 0, 0, 60./40.); m_synth.addSound (sound); m_synth.addVoice (new SamplerVoice); } } }
//============================================================================== SynthAudioSource () { // add some voices to our synth, to play the sounds.. for (int i = 4; --i >= 0;) { synth.addVoice (new SamplerVoice()); // and these ones play the sampled sounds } // and add some sounds for them to play... setUsingSampledSound(); }