68 int midiNoteForNormalPitch,
69 double attackTimeSecs,
70 double releaseTimeSecs,
71 double maxSampleLengthSeconds);
90 bool appliesToNote (
int midiNoteNumber)
override;
91 bool appliesToChannel (
int midiChannel)
override;
99 double sourceSampleRate;
101 int length = 0, midiRootNote = 0;
133 void startNote (
int midiNoteNumber,
float velocity,
SynthesiserSound*,
int pitchWheel)
override;
134 void stopNote (
float velocity,
bool allowTailOff)
override;
136 void pitchWheelMoved (
int newValue)
override;
137 void controllerMoved (
int controllerNumber,
int newValue)
override;
140 using SynthesiserVoice::renderNextBlock;
144 double pitchRatio = 0;
145 double sourceSamplePosition = 0;
146 float lgain = 0, rgain = 0;
A very simple ADSR envelope class.
A multi-channel buffer containing floating point audio samples.
An arbitrarily large integer class.
A subclass of SynthesiserSound that represents a sampled audio clip.
AudioBuffer< float > * getAudioData() const noexcept
Returns the audio sample data.
void setEnvelopeParameters(ADSR::Parameters parametersToUse)
Changes the parameters of the ADSR envelope which will be applied to the sample.
const String & getName() const noexcept
Returns the sample's name.
A subclass of SynthesiserVoice that can play a SamplerSound.
Describes one of the sounds that a Synthesiser can play.
Represents a voice that a Synthesiser can use to play a SynthesiserSound.
#define JUCE_LEAK_DETECTOR(OwnerClass)
This macro lets you embed a leak-detecting object inside a class.
Holds the parameters being used by an ADSR object.