25 #ifndef JUCE_AUDIOPROCESSOR_H_INCLUDED
26 #define JUCE_AUDIOPROCESSOR_H_INCLUDED
56 virtual const String getName()
const = 0;
69 virtual void prepareToPlay (
double sampleRate,
70 int estimatedSamplesPerBlock) = 0;
75 virtual void releaseResources() = 0;
220 virtual const String getInputChannelName (
int channelIndex)
const = 0;
227 virtual const String getOutputChannelName (
int channelIndex)
const = 0;
230 virtual bool isInputChannelStereoPair (
int index)
const = 0;
233 virtual bool isOutputChannelStereoPair (
int index)
const = 0;
248 void setLatencySamples (
int newLatency);
251 virtual bool silenceInProducesSilenceOut()
const = 0;
254 virtual double getTailLengthSeconds()
const = 0;
257 virtual bool acceptsMidi()
const = 0;
260 virtual bool producesMidi()
const = 0;
304 void suspendProcessing (
bool shouldBeSuspended);
316 virtual void reset();
334 virtual void setNonRealtime (
bool isNonRealtime)
noexcept;
369 virtual bool hasEditor()
const = 0;
389 virtual int getNumParameters();
396 virtual const String getParameterName (
int parameterIndex);
409 virtual float getParameter (
int parameterIndex);
421 virtual String getParameterName (
int parameterIndex,
int maximumStringLength);
427 virtual const String getParameterText (
int parameterIndex);
439 virtual String getParameterText (
int parameterIndex,
int maximumStringLength);
450 virtual int getParameterNumSteps (
int parameterIndex);
458 static int getDefaultNumParameterSteps()
noexcept;
467 virtual
float getParameterDefaultValue (
int parameterIndex);
475 virtual
String getParameterLabel (
int index)
const;
483 virtual
bool isParameterOrientationInverted (
int index) const;
501 virtual
void setParameter (
int parameterIndex,
float newValue);
516 void setParameterNotifyingHost (
int parameterIndex,
float newValue);
524 virtual
bool isParameterAutomatable (
int parameterIndex) const;
534 virtual
bool isMetaParameter (
int parameterIndex) const;
547 void beginParameterChangeGesture (
int parameterIndex);
559 void endParameterChangeGesture (
int parameterIndex);
566 void updateHostDisplay();
586 virtual
int getNumPrograms() = 0;
589 virtual
int getCurrentProgram() = 0;
592 virtual
void setCurrentProgram (
int index) = 0;
595 virtual const
String getProgramName (
int index) = 0;
598 virtual
void changeProgramName (
int index, const
String& newName) = 0;
613 virtual
void getStateInformation (juce::
MemoryBlock& destData) = 0;
626 virtual
void getCurrentProgramStateInformation (juce::
MemoryBlock& destData);
638 virtual
void setStateInformation (const
void*
data,
int sizeInBytes) = 0;
649 virtual
void setCurrentProgramStateInformation (const
void* data,
int sizeInBytes);
652 virtual
void numChannelsChanged();
670 void setPlayConfigDetails (
int numIns,
int numOuts,
double sampleRate,
int blockSize) noexcept;
677 void setSpeakerArrangement (const
String& inputs, const
String& outputs);
682 wrapperType_Undefined = 0,
688 wrapperType_Standalone
705 static void copyXmlToBinary (
const XmlElement& xml,
713 static XmlElement* getXmlFromBinary (
const void*
data,
int sizeInBytes);
723 void sendParamChangeMessageToListeners (
int parameterIndex,
float newValue);
729 int blockSize, numInputChannels, numOutputChannels, latencySamples;
730 bool suspended, nonRealtime;
732 String inputSpeakerArrangement, outputSpeakerArrangement;
737 #if JUCE_DEBUG && ! JUCE_DISABLE_AUDIOPROCESSOR_BEGIN_END_GESTURE_CHECKING
747 #endif // JUCE_AUDIOPROCESSOR_H_INCLUDED
Definition: juce_AudioSampleBuffer.h:34
WrapperType wrapperType
Definition: juce_AudioProcessor.h:694
CriticalSection callbackLock
Definition: juce_mac_CoreMidi.cpp:258
Definition: juce_BigInteger.h:43
Definition: juce_AudioProcessor.h:687
AudioPlayHead * playHead
Definition: juce_AudioProcessor.h:720
#define noexcept
Definition: juce_CompilerSupport.h:141
double getSampleRate() const noexcept
Definition: juce_AudioProcessor.h:164
Definition: juce_AudioProcessorEditor.h:38
const String & getOutputSpeakerArrangement() const noexcept
Definition: juce_AudioProcessor.h:212
Definition: juce_MemoryBlock.h:38
int getNumInputChannels() const noexcept
Definition: juce_AudioProcessor.h:187
Definition: juce_String.h:43
Definition: juce_AudioProcessor.h:683
#define JUCE_API
Definition: juce_StandardHeader.h:139
JOCTET * buffer
Definition: juce_JPEGLoader.cpp:302
Definition: juce_CriticalSection.h:47
int getNumOutputChannels() const noexcept
Definition: juce_AudioProcessor.h:198
Definition: juce_AudioPlayHead.h:39
Definition: juce_XmlElement.h:142
Definition: juce_AudioProcessor.h:686
WrapperType
Definition: juce_AudioProcessor.h:680
AudioPlayHead * getPlayHead() const noexcept
Definition: juce_AudioProcessor.h:155
bool isSuspended() const noexcept
Definition: juce_AudioProcessor.h:309
int getLatencySamples() const noexcept
Definition: juce_AudioProcessor.h:241
const CriticalSection & getCallbackLock() const noexcept
Definition: juce_AudioProcessor.h:274
Definition: juce_AudioProcessor.h:685
int getBlockSize() const noexcept
Definition: juce_AudioProcessor.h:175
Definition: juce_OwnedArray.h:55
Definition: juce_AudioProcessorListener.h:37
Definition: juce_AudioProcessor.h:43
bool isNonRealtime() const noexcept
Definition: juce_AudioProcessor.h:329
JSAMPIMAGE data
Definition: jpeglib.h:945
Definition: juce_MidiBuffer.h:43
Definition: juce_core.h:39
Definition: juce_AudioProcessor.h:684
const String & getInputSpeakerArrangement() const noexcept
Definition: juce_AudioProcessor.h:205
Definition: juce_AudioProcessorParameter.h:35
AudioProcessorEditor * getActiveEditor() const noexcept
Definition: juce_AudioProcessor.h:375