LMMS
Loading...
Searching...
No Matches
CarlaPluginInstance Class Reference
Inheritance diagram for CarlaPluginInstance:
water::AudioProcessor

Public Member Functions

 CarlaPluginInstance (CarlaEngine *const engine, const CarlaPluginPtr plugin)
 ~CarlaPluginInstance () override
void reconfigure () override
void invalidatePlugin () noexcept
const String getName () const override
void processBlockWithCV (AudioSampleBuffer &audio, const AudioSampleBuffer &cvIn, AudioSampleBuffer &cvOut, MidiBuffer &midi) override
const String getInputChannelName (ChannelType t, uint i) const override
const String getOutputChannelName (ChannelType t, uint i) const override
void prepareToPlay (double, int) override
void releaseResources () override
bool acceptsMidi () const override
bool producesMidi () const override
Public Member Functions inherited from water::AudioProcessor
virtual ~AudioProcessor ()
virtual void processBlockWithCV (AudioSampleBuffer &audioBuffer, const AudioSampleBuffer &cvInBuffer, AudioSampleBuffer &cvOutBuffer, MidiBuffer &midiMessages)=0
uint getTotalNumInputChannels (ChannelType t) const noexcept
uint getTotalNumOutputChannels (ChannelType t) const noexcept
double getSampleRate () const noexcept
int getBlockSize () const noexcept
int getLatencySamples () const noexcept
void setLatencySamples (int newLatency)
virtual bool supportsMPE () const
const CarlaRecursiveMutex & getCallbackLock () const noexcept
void suspendProcessing (bool shouldBeSuspended)
bool isSuspended () const noexcept
virtual void reset ()
bool isNonRealtime () const noexcept
virtual void setNonRealtime (bool isNonRealtime) noexcept
void setPlayConfigDetails (uint numAudioIns, uint numAudioOuts, uint numCVIns, uint numCVOuts, uint numMIDIIns, uint numMIDIOuts, double sampleRate, int blockSize)
void setRateAndBufferSizeDetails (double sampleRate, int blockSize) noexcept

Private Attributes

CarlaEngine *const kEngine
CarlaPluginPtr fPlugin

Additional Inherited Members

Public Types inherited from water::AudioProcessor
enum  ChannelType { ChannelTypeAudio , ChannelTypeCV , ChannelTypeMIDI }
Protected Member Functions inherited from water::AudioProcessor
 AudioProcessor ()

Constructor & Destructor Documentation

◆ CarlaPluginInstance()

CarlaPluginInstance::CarlaPluginInstance ( CarlaEngine *const engine,
const CarlaPluginPtr plugin )
inline

◆ ~CarlaPluginInstance()

CarlaPluginInstance::~CarlaPluginInstance ( )
inlineoverride

Member Function Documentation

◆ acceptsMidi()

bool CarlaPluginInstance::acceptsMidi ( ) const
inlineoverridevirtual

Returns true if the processor wants midi messages.

Implements water::AudioProcessor.

◆ getInputChannelName()

const String CarlaPluginInstance::getInputChannelName ( ChannelType t,
uint i ) const
inlineoverridevirtual

Reimplemented from water::AudioProcessor.

◆ getName()

const String CarlaPluginInstance::getName ( ) const
inlineoverridevirtual

Returns the name of this processor.

Implements water::AudioProcessor.

◆ getOutputChannelName()

const String CarlaPluginInstance::getOutputChannelName ( ChannelType t,
uint i ) const
inlineoverridevirtual

Reimplemented from water::AudioProcessor.

◆ invalidatePlugin()

void CarlaPluginInstance::invalidatePlugin ( )
inlinenoexcept

◆ prepareToPlay()

void CarlaPluginInstance::prepareToPlay ( double sampleRate,
int maximumExpectedSamplesPerBlock )
inlineoverridevirtual

Called before playback starts, to let the filter prepare itself.

The sample rate is the target sample rate, and will remain constant until playback stops.

You can call getTotalNumInputChannels and getTotalNumOutputChannels or query the busLayout member variable to find out the number of channels your processBlock callback must process.

The maximumExpectedSamplesPerBlock value is a strong hint about the maximum number of samples that will be provided in each block. You may want to use this value to resize internal buffers. You should program defensively in case a buggy host exceeds this value. The actual block sizes that the host uses may be different each time the callback happens: completely variable block sizes can be expected from some hosts.

See also
busLayout, getTotalNumInputChannels, getTotalNumOutputChannels

Implements water::AudioProcessor.

◆ processBlockWithCV()

void CarlaPluginInstance::processBlockWithCV ( AudioSampleBuffer & audio,
const AudioSampleBuffer & cvIn,
AudioSampleBuffer & cvOut,
MidiBuffer & midi )
inlineoverride

◆ producesMidi()

bool CarlaPluginInstance::producesMidi ( ) const
inlineoverridevirtual

Returns true if the processor produces midi messages.

Implements water::AudioProcessor.

◆ reconfigure()

void CarlaPluginInstance::reconfigure ( )
inlineoverridevirtual

A plugin can override this to be told when it should reconfigure itself.

The default implementation does nothing, but a host may call this to tell the plugin that it should call setPlayConfigDetails again.

Reimplemented from water::AudioProcessor.

◆ releaseResources()

void CarlaPluginInstance::releaseResources ( )
inlineoverridevirtual

Called after playback has stopped, to let the filter free up any resources it no longer needs.

Implements water::AudioProcessor.

Member Data Documentation

◆ fPlugin

CarlaPluginPtr CarlaPluginInstance::fPlugin
private

◆ kEngine

CarlaEngine* const CarlaPluginInstance::kEngine
private

The documentation for this class was generated from the following file: