18#ifndef CARLA_PLUGIN_HPP_INCLUDED
19#define CARLA_PLUGIN_HPP_INCLUDED
28struct LADSPA_RDF_Descriptor;
32CARLA_BACKEND_START_NAMESPACE
51class CarlaEngineBridge;
307 virtual
bool getLabel(
char* strBuf) const
noexcept;
313 virtual
bool getMaker(
char* strBuf) const
noexcept;
319 virtual
bool getCopyright(
char* strBuf) const
noexcept;
327 virtual
bool getRealName(
char* strBuf) const
noexcept;
333 virtual
bool getParameterName(uint32_t parameterId,
char* strBuf) const
noexcept;
339 virtual
bool getParameterSymbol(uint32_t parameterId,
char* strBuf) const
noexcept;
346 virtual
bool getParameterText(uint32_t parameterId,
char* strBuf)
noexcept;
352 virtual
bool getParameterUnit(uint32_t parameterId,
char* strBuf) const
noexcept;
358 virtual
bool getParameterComment(uint32_t parameterId,
char* strBuf) const
noexcept;
365 virtual
bool getParameterGroupName(uint32_t parameterId,
char* strBuf) const
noexcept;
371 virtual
bool getParameterScalePointLabel(uint32_t parameterId, uint32_t
scalePointId,
char* strBuf) const
noexcept;
384 bool getProgramName(uint32_t index,
char* strBuf) const
noexcept;
392 bool getMidiProgramName(uint32_t index,
char* strBuf) const
noexcept;
481 virtual
void setOption(uint option,
bool yesNo,
bool sendCallback);
499#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
507 void setDryWet(
float value,
bool sendOsc,
bool sendCallback)
noexcept;
516 void setVolume(
float value,
bool sendOsc,
bool sendCallback)
noexcept;
549 void setPanning(
float value,
bool sendOsc,
bool sendCallback)
noexcept;
567 virtual void setCtrlChannel(int8_t channel,
bool sendOsc,
bool sendCallback)
noexcept;
583 virtual void setParameterValue(uint32_t parameterId,
float value,
bool sendGui,
bool sendOsc,
bool sendCallback)
noexcept;
588 virtual void setParameterValueRT(uint32_t parameterId,
float value, uint32_t frameOffset,
bool sendCallbackLater)
noexcept;
614 bool sendOsc,
bool sendCallback,
bool reconfigureNow)
noexcept;
620 bool sendOsc,
bool sendCallback)
noexcept;
633 virtual void setCustomData(
const char* type,
const char* key,
const char* value,
bool sendGui);
655 virtual void setProgram(int32_t index,
bool sendGui,
bool sendOsc,
bool sendCallback,
bool doingInit =
false)
noexcept;
668 virtual
void setMidiProgram(int32_t index,
bool sendGui,
bool sendOsc,
bool sendCallback,
bool doingInit = false)
noexcept;
714 virtual
void process(const
float* const* audioIn,
float** audioOut,
715 const
float* const* cvIn,
float** cvOut, uint32_t frames) = 0;
787 bool sendGui,
bool sendOsc,
bool sendCallback);
789#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
848 virtual void uiNoteOn(uint8_t channel, uint8_t note, uint8_t velo)
noexcept;
854 virtual void uiNoteOff(uint8_t channel, uint8_t note)
noexcept;
899#ifndef BUILD_BRIDGE_ALTERNATIVE_ARCH
947 return BINARY_NATIVE;
962 const char*
const filename;
963 const char*
const name;
964 const char*
const label;
965 const int64_t uniqueId;
972 const char* binaryArchName,
const char* bridgeBinary);
974 static CarlaPluginPtr newLADSPA(
const Initializer& init,
const LADSPA_RDF_Descriptor* rdfDescriptor);
995 struct ProtectedData;
1041 CARLA_PREVENT_HEAP_ALLOCATION
1060 CARLA_PREVENT_HEAP_ALLOCATION
1073CARLA_BACKEND_END_NAMESPACE
CARLA_BACKEND_START_NAMESPACE typedef std::shared_ptr< CarlaPlugin > CarlaPluginPtr
Definition CarlaPluginPtr.hpp:267
struct _NativePluginDescriptor NativePluginDescriptor
Definition CarlaPlugin.hpp:27
Definition CarlaEngine.hpp:442
Definition CarlaEngine.hpp:489
Definition CarlaEngine.hpp:645
Definition CarlaEngine.hpp:702
Definition CarlaEngine.hpp:551
Definition CarlaEngine.hpp:814
ScopedDisabler(CarlaPlugin *plugin) noexcept
~ScopedDisabler() noexcept
~ScopedSingleProcessLocker() noexcept
ScopedSingleProcessLocker(CarlaPlugin *plugin, bool block) noexcept
virtual void deactivate() noexcept
virtual void * embedCustomUI(void *ptr)
CarlaEngineAudioPort * getAudioInPort(uint32_t index) const noexcept
float getInternalParameterValue(int32_t parameterId) const noexcept
uint32_t getProgramCount() const noexcept
virtual const void * getNativeDescriptor() const noexcept
virtual void cloneLV2Files(const CarlaPlugin &other)
char *strBuf const noexcept
Definition CarlaPlugin.hpp:333
void setVolume(float value, bool sendOsc, bool sendCallback) noexcept
virtual PluginCategory getCategory() const noexcept
bool exportAsLV2(const char *lv2path)
CarlaEngineAudioPort * getAudioOutPort(uint32_t index) const noexcept
uint32_t getAudioOutCount() const noexcept
virtual void process(const float *const *audioIn, float **audioOut, const float *const *cvIn, float **cvOut, uint32_t frames)=0
virtual void showCustomUI(bool yesNo)
void setDryWetRT(float value, bool sendCallbackLater) noexcept
int32_t getCurrentMidiProgram() const noexcept
virtual uint32_t getMidiInCount() const noexcept
virtual uint32_t getLatencyInFrames() const noexcept
virtual void setParameterMappedRange(uint32_t parameterId, float minimum, float maximum, bool sendOsc, bool sendCallback) noexcept
void setEnabled(bool yesNo) noexcept
virtual void setParameterValue(uint32_t parameterId, float value, bool sendGui, bool sendOsc, bool sendCallback) noexcept
void getParameterCountInfo(uint32_t &ins, uint32_t &outs) const noexcept
void setActive(bool active, bool sendOsc, bool sendCallback) noexcept
virtual void bufferSizeChanged(uint32_t newBufferSize)
virtual void setParameterValueRT(uint32_t parameterId, float value, uint32_t frameOffset, bool sendCallbackLater) noexcept
virtual void setMidiProgramRT(uint32_t index, bool sendCallbackLater) noexcept
ProtectedData *const pData
Definition CarlaPlugin.hpp:996
void setBalanceLeftRT(float value, bool sendCallbackLater) noexcept
const CustomData & getCustomData(uint32_t index) const noexcept
void setMidiProgramById(uint32_t bank, uint32_t program, bool sendGui, bool sendOsc, bool sendCallback) noexcept
virtual float getParameterValue(uint32_t parameterId) const noexcept
virtual void setId(uint newId) noexcept
CarlaPlugin(CarlaEngine *engine, uint id)
CarlaEngineClient * getEngineClient() const noexcept
virtual void uiMidiProgramChange(uint32_t index) noexcept
void setBalanceRight(float value, bool sendOsc, bool sendCallback) noexcept
virtual void offlineModeChanged(bool isOffline)
uint32_t getCVOutCount() const noexcept
virtual void clearBuffers() noexcept
void setVolumeRT(float value, bool sendCallbackLater) noexcept
virtual void setMidiProgram(int32_t index, bool sendGui, bool sendOsc, bool sendCallback, bool doingInit=false) noexcept
bool saveStateToFile(const char *filename)
void setBalanceRightRT(float value, bool sendCallbackLater) noexcept
virtual void initBuffers() const noexcept
const char * getName() const noexcept
virtual void uiProgramChange(uint32_t index) noexcept
uint32_t getAudioInCount() const noexcept
CarlaEngineEventPort * getDefaultEventOutPort() const noexcept
friend class CarlaEngineBridge
Definition CarlaPlugin.hpp:1065
void checkForMidiLearn(EngineEvent &event) noexcept
virtual void setParameterMidiChannel(uint32_t parameterId, uint8_t channel, bool sendOsc, bool sendCallback) noexcept
uint getId() const noexcept
CarlaEngine * getEngine() const noexcept
void setPatchbayNodeId(uint32_t nodeId) noexcept
uint32_t getParameterCount() const noexcept
virtual void uiNoteOff(uint8_t channel, uint8_t note) noexcept
void setPanningRT(float value, bool sendCallbackLater) noexcept
virtual void setCustomData(const char *type, const char *key, const char *value, bool sendGui)
uint32_t getCVInCount() const noexcept
CarlaEngineCVPort * getCVInPort(uint32_t index) const noexcept
const ParameterData & getParameterData(uint32_t parameterId) const noexcept
void sendMidiSingleNote(uint8_t channel, uint8_t note, uint8_t velo, bool sendGui, bool sendOsc, bool sendCallback)
virtual void prepareForSave(bool temporary)
bool tryLock(bool forcedOffline) noexcept
virtual void randomizeParameters() noexcept
virtual void setProgram(int32_t index, bool sendGui, bool sendOsc, bool sendCallback, bool doingInit=false) noexcept
bool loadStateFromFile(const char *filename)
virtual uintptr_t getUiBridgeProcessId() const noexcept
virtual void * getNativeHandle() const noexcept
virtual void setName(const char *newName)
const char * getFilename() const noexcept
bool isParameterOutput(uint32_t parameterId) const noexcept
uint getOptionsEnabled() const noexcept
void setParameterValueByRealIndex(int32_t rindex, float value, bool sendGui, bool sendOsc, bool sendCallback) noexcept
CarlaEngineCVPort * getCVOutPort(uint32_t index) const noexcept
virtual void restoreLV2State(bool temporary) noexcept
virtual uint getOptionsAvailable() const noexcept
const MidiProgramData & getMidiProgramData(uint32_t index) const noexcept
virtual int64_t getUniqueId() const noexcept
const ParameterRanges & getParameterRanges(uint32_t parameterId) const noexcept
const char * getIconName() const noexcept
virtual void setOption(uint option, bool yesNo, bool sendCallback)
uint32_t scalePointId
Definition CarlaPlugin.hpp:371
virtual void uiParameterChange(uint32_t index, float value) noexcept
virtual BinaryType getBinaryType() const noexcept
Definition CarlaPlugin.hpp:945
void setPanning(float value, bool sendOsc, bool sendCallback) noexcept
virtual void waitForBridgeSaveSignal() noexcept
friend class CarlaEngine
Definition CarlaPlugin.hpp:1064
CarlaEngineEventPort * getDefaultEventInPort() const noexcept
virtual void setProgramRT(uint32_t index, bool sendCallbackLater) noexcept
uint32_t getMidiProgramCount() const noexcept
virtual const void * getExtraStuff() const noexcept
Definition CarlaPlugin.hpp:953
void setBalanceLeft(float value, bool sendOsc, bool sendCallback) noexcept
virtual void setParameterMappedControlIndex(uint32_t parameterId, int16_t index, bool sendOsc, bool sendCallback, bool reconfigureNow) noexcept
virtual uint getAudioPortHints(bool isOutput, uint32_t portIndex) const noexcept
void loadStateSave(const CarlaStateSave &stateSave)
virtual uint32_t getParameterScalePointCount(uint32_t parameterId) const noexcept
virtual void setCtrlChannel(int8_t channel, bool sendOsc, bool sendCallback) noexcept
const CarlaStateSave & getStateSave(bool callPrepareForSave=true)
void setDryWet(float value, bool sendOsc, bool sendCallback) noexcept
virtual std::size_t getChunkData(void **dataPtr) noexcept
virtual void setCustomUITitle(const char *title) noexcept
virtual uint32_t getMidiOutCount() const noexcept
virtual float getParameterScalePointValue(uint32_t parameterId, uint32_t scalePointId) const noexcept
uint getHints() const noexcept
virtual void resetParameters() noexcept
virtual PluginType getType() const noexcept=0
void postponeRtAllNotesOff()
__attribute__((warn_unused_result)) virtual bool getLabel(char *strBuf) const noexcept
virtual void sampleRateChanged(double newSampleRate)
virtual void handleOscMessage(const char *method, int argc, const void *argv, const char *types, void *msg)
virtual void uiNoteOn(uint8_t channel, uint8_t note, uint8_t velo) noexcept
uint32_t getCustomDataCount() const noexcept
virtual void setChunkData(const void *data, std::size_t dataSize)
virtual void prepareForDeletion() noexcept
int32_t getCurrentProgram() const noexcept
bool isEnabled() const noexcept
uint32_t getPatchbayNodeId() const noexcept
virtual void reloadPrograms(bool doInit)
virtual void activate() noexcept
PluginType
Definition CarlaBackend.h:608
BinaryType
Definition CarlaBackend.h:544
PluginCategory
Definition CarlaBackend.h:689
CarlaEngine * newJuce(AudioApi api)
CarlaEngine * newBridge(const char *audioPoolBaseName, const char *rtClientBaseName, const char *nonRtClientBaseName, const char *nonRtServerBaseName)
Definition CarlaPluginPtr.hpp:33
Definition CarlaBackend.h:1918
Definition CarlaEngine.hpp:216
Definition CarlaBackend.h:1897
Definition CarlaBackend.h:1708
Definition CarlaBackend.h:1763