Describes one of the sounds that a Synthesiser can play. More...
#include <juce_Synthesiser.h>
Public Types | |
using | Ptr = ReferenceCountedObjectPtr< SynthesiserSound > |
The class is reference-counted, so this is a handy pointer class for it. More... | |
Public Member Functions | |
~SynthesiserSound () override | |
Destructor. More... | |
virtual bool | appliesToChannel (int midiChannel)=0 |
Returns true if the sound should be triggered by midi events on a given channel. More... | |
virtual bool | appliesToNote (int midiNoteNumber)=0 |
Returns true if this sound should be played when a given midi note is pressed. 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... | |
void | incReferenceCount () noexcept |
Increments the object's reference count. More... | |
Protected Member Functions | |
SynthesiserSound () | |
void | resetReferenceCount () noexcept |
Resets the reference count to zero without deleting the object. More... | |
Private Attributes | |
Atomic< int > | refCount { 0 } |
Describes one of the sounds that a Synthesiser can play.
A synthesiser can contain one or more sounds, and a sound can choose which midi notes and channels can trigger it.
The SynthesiserSound is a passive class that just describes what the sound is - the actual audio rendering for a sound is done by a SynthesiserVoice. This allows more than one SynthesiserVoice to play the same sound at the same time.
@tags{Audio}
The class is reference-counted, so this is a handy pointer class for it.
|
protected |
|
override |
Destructor.
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.
Implemented in juce::SamplerSound.
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.
Implemented in juce::SamplerSound.
|
inlinenoexceptinherited |
Decreases the object's reference count.
If the count gets to zero, the object will be deleted.
References jassert.
|
inlinenoexceptinherited |
Decreases the object's reference count.
If the count gets to zero, the object will not be deleted, but this method will return true, allowing the caller to take care of deletion.
References jassert.
|
inlinenoexceptinherited |
Returns the object's current reference count.
|
inlinenoexceptinherited |
Increments the object's reference count.
This is done automatically by the smart pointer, but is public just in case it's needed for nefarious purposes.
Referenced by juce::ReferenceCountedObjectPtr< juce::ReferenceCountedObject >::operator=().
|
inlineprotectednoexceptinherited |
Resets the reference count to zero without deleting the object.
You should probably never need to use this!