125 int currentPitchWheelPosition) = 0;
142 virtual void stopNote (
float velocity,
bool allowTailOff) = 0;
262 void clearCurrentNote();
340 void removeVoice (
int index);
360 void removeSound (
int index);
369 void setNoteStealingEnabled (
bool shouldStealNotes);
390 virtual void noteOn (
int midiChannel,
406 virtual void noteOff (
int midiChannel,
425 virtual void allNotesOff (
int midiChannel,
439 virtual void handlePitchWheel (
int midiChannel,
454 virtual void handleController (
int midiChannel,
455 int controllerNumber,
456 int controllerValue);
471 virtual void handleAftertouch (
int midiChannel,
int midiNoteNumber,
int aftertouchValue);
485 virtual void handleChannelPressure (
int midiChannel,
int channelPressureValue);
488 virtual void handleSustainPedal (
int midiChannel,
bool isDown);
491 virtual void handleSostenutoPedal (
int midiChannel,
bool isDown);
494 virtual void handleSoftPedal (
int midiChannel,
bool isDown);
500 virtual void handleProgramChange (
int midiChannel,
509 virtual void setCurrentPlaybackSampleRate (
double sampleRate);
558 void setMinimumRenderingSubdivisionSize (
int numSamples,
bool shouldBeStrict =
false)
noexcept;
576 int startSample,
int numSamples);
578 int startSample,
int numSamples);
591 bool stealIfNoneAvailable)
const;
600 int midiNoteNumber)
const;
631 template <typename floatType>
#define noexcept
Definition DistrhoDefines.h:72
Definition juce_AudioSampleBuffer.h:34
Definition juce_BigInteger.h:39
Definition juce_CriticalSection.h:43
Definition juce_MidiBuffer.h:145
Definition juce_MidiMessage.h:35
Definition juce_OwnedArray.h:51
Definition juce_ReferenceCountedArray.h:51
ReferenceCountedObject()=default
Definition juce_ReferenceCountedObject.h:247
Synthesiser()
Definition juce_Synthesiser.cpp:76
virtual SynthesiserVoice * findFreeVoice(SynthesiserSound *soundToPlay, int midiChannel, int midiNoteNumber, bool stealIfNoneAvailable) const
Definition juce_Synthesiser.cpp:487
BigInteger sustainPedalsDown
Definition juce_Synthesiser.h:629
void processNextBlock(AudioBuffer< floatType > &, const MidiBuffer &, int startSample, int numSamples)
Definition juce_Synthesiser.cpp:157
double sampleRate
Definition juce_Synthesiser.h:624
int minimumSubBlockSize
Definition juce_Synthesiser.h:626
void startVoice(SynthesiserVoice *voice, SynthesiserSound *sound, int midiChannel, int midiNoteNumber, float velocity)
Definition juce_Synthesiser.cpp:306
virtual SynthesiserVoice * findVoiceToSteal(SynthesiserSound *soundToPlay, int midiChannel, int midiNoteNumber) const
Definition juce_Synthesiser.cpp:503
void stopVoice(SynthesiserVoice *, float velocity, bool allowTailOff)
Definition juce_Synthesiser.cpp:330
int getNumSounds() const noexcept
Definition juce_Synthesiser.h:347
bool shouldStealNotes
Definition juce_Synthesiser.h:628
double getSampleRate() const noexcept
Definition juce_Synthesiser.h:536
virtual void renderVoices(AudioBuffer< float > &outputAudio, int startSample, int numSamples)
Definition juce_Synthesiser.cpp:231
virtual void handleMidiEvent(const MidiMessage &)
Definition juce_Synthesiser.cpp:243
int getNumVoices() const noexcept
Definition juce_Synthesiser.h:324
OwnedArray< SynthesiserVoice > voices
Definition juce_Synthesiser.h:565
bool isNoteStealingEnabled() const noexcept
Definition juce_Synthesiser.h:374
uint32 lastNoteOnCounter
Definition juce_Synthesiser.h:625
SynthesiserSound::Ptr getSound(int index) const noexcept
Definition juce_Synthesiser.h:350
CriticalSection lock
Definition juce_Synthesiser.h:563
int lastPitchWheelValues[16]
Definition juce_Synthesiser.h:569
ReferenceCountedArray< SynthesiserSound > sounds
Definition juce_Synthesiser.h:566
void clearVoices()
Definition juce_Synthesiser.cpp:93
bool subBlockSubdivisionIsStrict
Definition juce_Synthesiser.h:627
Definition juce_Synthesiser.h:42
SynthesiserSound()
Definition juce_Synthesiser.cpp:26
ReferenceCountedObjectPtr< SynthesiserSound > Ptr
Definition juce_Synthesiser.h:67
virtual bool appliesToNote(int midiNoteNumber)=0
virtual bool appliesToChannel(int midiChannel)=0
Definition juce_Synthesiser.h:88
bool isSostenutoPedalDown() const noexcept
Definition juce_Synthesiser.h:235
double getSampleRate() const noexcept
Definition juce_Synthesiser.h:215
virtual void stopNote(float velocity, bool allowTailOff)=0
AudioBuffer< float > tempBuffer
Definition juce_Synthesiser.h:275
bool sustainPedalDown
Definition juce_Synthesiser.h:273
bool sostenutoPedalDown
Definition juce_Synthesiser.h:273
bool isSustainPedalDown() const noexcept
Definition juce_Synthesiser.h:229
void setSustainPedalDown(bool isNowDown) noexcept
Definition juce_Synthesiser.h:232
int currentlyPlayingNote
Definition juce_Synthesiser.h:270
uint32 noteOnTime
Definition juce_Synthesiser.h:271
SynthesiserVoice()
Definition juce_Synthesiser.cpp:30
virtual void channelPressureChanged(int newChannelPressureValue)
Definition juce_Synthesiser.cpp:56
void setSostenutoPedalDown(bool isNowDown) noexcept
Definition juce_Synthesiser.h:238
virtual void renderNextBlock(AudioBuffer< float > &outputBuffer, int startSample, int numSamples)=0
virtual bool isPlayingChannel(int midiChannel) const
Definition juce_Synthesiser.cpp:33
double currentSampleRate
Definition juce_Synthesiser.h:269
SynthesiserSound::Ptr currentlyPlayingSound
Definition juce_Synthesiser.h:272
bool isKeyDown() const noexcept
Definition juce_Synthesiser.h:221
void setKeyDown(bool isNowDown) noexcept
Definition juce_Synthesiser.h:226
virtual void setCurrentPlaybackSampleRate(double newRate)
Definition juce_Synthesiser.cpp:38
friend class Synthesiser
Definition juce_Synthesiser.h:267
virtual void aftertouchChanged(int newAftertouchValue)
Definition juce_Synthesiser.cpp:55
bool keyIsDown
Definition juce_Synthesiser.h:273
virtual void controllerMoved(int controllerNumber, int newControllerValue)=0
int getCurrentlyPlayingNote() const noexcept
Definition juce_Synthesiser.h:101
virtual void startNote(int midiNoteNumber, float velocity, SynthesiserSound *sound, int currentPitchWheelPosition)=0
int currentPlayingMidiChannel
Definition juce_Synthesiser.h:270
virtual bool canPlaySound(SynthesiserSound *)=0
virtual void pitchWheelMoved(int newPitchWheelValue)=0
bool isPlayingButReleased() const noexcept
Definition juce_Synthesiser.h:241
SynthesiserSound::Ptr getCurrentlyPlayingSound() const noexcept
Definition juce_Synthesiser.h:106
virtual bool isVoiceActive() const
Definition juce_Synthesiser.cpp:43
#define JUCE_LEAK_DETECTOR(OwnerClass)
Definition juce_LeakedObjectDetector.h:138
#define JUCE_API
Definition juce_StandardHeader.h:152
Definition carla_juce.cpp:31
unsigned int uint32
Definition juce_MathsFunctions.h:45
#define true
Definition ordinals.h:82
#define false
Definition ordinals.h:83
#define const
Definition zconf.h:137