JUCE
|
A subclass of SynthesiserSound that represents a sampled audio clip. More...
Public Member Functions | |
SamplerSound (const String &name, AudioFormatReader &source, const BigInteger &midiNotes, int midiNoteForNormalPitch, double attackTimeSecs, double releaseTimeSecs, double maxSampleLengthSeconds) | |
Creates a sampled sound from an audio reader. More... | |
~SamplerSound () | |
Destructor. More... | |
const String & | getName () const noexcept |
Returns the sample's name. More... | |
AudioSampleBuffer * | getAudioData () const noexcept |
Returns the audio sample data. More... | |
bool | appliesToNote (int midiNoteNumber) override |
Returns true if this sound should be played when a given midi note is pressed. More... | |
bool | appliesToChannel (int midiChannel) override |
Returns true if the sound should be triggered by midi events on a given channel. More... | |
![]() | |
virtual | ~SynthesiserSound () |
Destructor. More... | |
![]() | |
void | incReferenceCount () noexcept |
Increments the object's reference count. More... | |
void | decReferenceCount () noexcept |
Decreases the object's reference count. More... | |
bool | decReferenceCountWithoutDeleting () noexcept |
Decreases the object's reference count. More... | |
int | getReferenceCount () const noexcept |
Returns the object's current reference count. More... | |
Additional Inherited Members | |
![]() | |
typedef ReferenceCountedObjectPtr< SynthesiserSound > | Ptr |
The class is reference-counted, so this is a handy pointer class for it. More... | |
![]() | |
SynthesiserSound () | |
![]() | |
ReferenceCountedObject () | |
Creates the reference-counted object (with an initial ref count of zero). More... | |
virtual | ~ReferenceCountedObject () |
Destructor. More... | |
void | resetReferenceCount () noexcept |
Resets the reference count to zero without deleting the object. More... | |
A subclass of SynthesiserSound that represents a sampled audio clip.
This is a pretty basic sampler, and just attempts to load the whole audio stream into memory.
To use it, create a Synthesiser, add some SamplerVoice objects to it, then give it some SampledSound objects to play.
SamplerSound::SamplerSound | ( | const String & | name, |
AudioFormatReader & | source, | ||
const BigInteger & | midiNotes, | ||
int | midiNoteForNormalPitch, | ||
double | attackTimeSecs, | ||
double | releaseTimeSecs, | ||
double | maxSampleLengthSeconds | ||
) |
Creates a sampled sound from an audio reader.
This will attempt to load the audio from the source into memory and store it in this object.
name | a name for the sample |
source | the audio to load. This object can be safely deleted by the caller after this constructor returns |
midiNotes | the set of midi keys that this sound should be played on. This is used by the SynthesiserSound::appliesToNote() method |
midiNoteForNormalPitch | the midi note at which the sample should be played with its natural rate. All other notes will be pitched up or down relative to this one |
attackTimeSecs | the attack (fade-in) time, in seconds |
releaseTimeSecs | the decay (fade-out) time, in seconds |
maxSampleLengthSeconds | a maximum length of audio to read from the audio source, in seconds |
SamplerSound::~SamplerSound | ( | ) |
Destructor.
|
noexcept |
Returns the sample's name.
|
noexcept |
Returns the audio sample data.
This could return nullptr if there was a problem loading the data.
References SynthesiserSound::appliesToChannel(), and SynthesiserSound::appliesToNote().
|
overridevirtual |
Returns true if this sound should be played when a given midi note is pressed.
The Synthesiser will use this information when deciding which sounds to trigger for a given note.
Implements SynthesiserSound.
|
overridevirtual |
Returns true if the sound should be triggered by midi events on a given channel.
The Synthesiser will use this information when deciding which sounds to trigger for a given note.
Implements SynthesiserSound.