17 #ifndef DISTRHO_PLUGIN_HPP_INCLUDED 
   18 #define DISTRHO_PLUGIN_HPP_INCLUDED 
   20 #include "DistrhoDetails.hpp" 
   21 #include "extra/LeakDetector.hpp" 
   22 #include "src/DistrhoPluginChecks.h" 
   67     Plugin(uint32_t parameterCount, uint32_t programCount, uint32_t stateCount);
 
  119 #if DISTRHO_PLUGIN_WANT_TIMEPOS 
  129 #if DISTRHO_PLUGIN_WANT_LATENCY 
  138 #if DISTRHO_PLUGIN_WANT_MIDI_OUTPUT 
  147 #if DISTRHO_PLUGIN_WANT_PARAMETER_VALUE_CHANGE_REQUEST 
  165 #if DISTRHO_PLUGIN_WANT_STATE 
  230    #ifdef DISTRHO_PLUGIN_UNIQUE_ID 
  261 #if DISTRHO_PLUGIN_WANT_PROGRAMS 
  270 #if DISTRHO_PLUGIN_WANT_STATE 
  278     DISTRHO_DEPRECATED_BY(
"initState(uint32_t,State&)")
 
  281     DISTRHO_DEPRECATED_BY(
"initState(uint32_t,State&)")
 
  282     virtual 
bool isStateFile(uint32_t) { 
return false; }
 
  302 #if DISTRHO_PLUGIN_WANT_PROGRAMS 
  311 #if DISTRHO_PLUGIN_WANT_FULL_STATE 
  321 #if DISTRHO_PLUGIN_WANT_STATE 
  326     virtual void setState(
const char* key, 
const char* value);
 
  342 #if DISTRHO_PLUGIN_WANT_MIDI_INPUT 
  347     virtual void run(
const float** inputs, 
float** outputs, uint32_t frames,
 
  348                      const MidiEvent* midiEvents, uint32_t midiEventCount) = 0;
 
  354     virtual void run(
const float** inputs, 
float** outputs, uint32_t frames) = 0;
 
  382     virtual void ioChanged(uint16_t numInputs, uint16_t numOutputs);
 
  388     PrivateData* 
const pData;
 
  389     friend class PluginExporter;
 
  391     DISTRHO_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(
Plugin)
 
Definition: DistrhoPlugin.hpp:61
 
virtual const char * getLabel() const =0
 
bool writeMidiEvent(const MidiEvent &midiEvent) noexcept
 
virtual void run(const float **inputs, float **outputs, uint32_t frames, const MidiEvent *midiEvents, uint32_t midiEventCount)=0
 
uint32_t getBufferSize() const noexcept
 
void setLatency(uint32_t frames) noexcept
 
virtual void sampleRateChanged(double newSampleRate)
 
virtual const char * getDescription() const
Definition: DistrhoPlugin.hpp:198
 
double getSampleRate() const noexcept
 
virtual void loadProgram(uint32_t index)
 
virtual void initProgramName(uint32_t index, String &programName)=0
 
bool canRequestParameterValueChanges() const noexcept
 
const char * getBundlePath() const noexcept
 
virtual const char * getLicense() const =0
 
virtual void initPortGroup(uint32_t groupId, PortGroup &portGroup)
 
virtual void initAudioPort(bool input, uint32_t index, AudioPort &port)
 
virtual void setParameterValue(uint32_t index, float value)
 
bool isSelfTestInstance() const noexcept
 
virtual const char * getMaker() const =0
 
virtual String getState(const char *key) const
 
virtual void bufferSizeChanged(uint32_t newBufferSize)
 
virtual void deactivate()
Definition: DistrhoPlugin.hpp:340
 
virtual void activate()
Definition: DistrhoPlugin.hpp:335
 
bool updateStateValue(const char *key, const char *value) noexcept
 
virtual void initParameter(uint32_t index, Parameter ¶meter)
 
bool isDummyInstance() const noexcept
 
virtual uint32_t getVersion() const =0
 
virtual void ioChanged(uint16_t numInputs, uint16_t numOutputs)
 
Plugin(uint32_t parameterCount, uint32_t programCount, uint32_t stateCount)
 
virtual const char * getHomePage() const
Definition: DistrhoPlugin.hpp:209
 
virtual void initState(uint32_t index, State &state)
 
virtual int64_t getUniqueId() const =0
 
bool requestParameterValueChange(uint32_t index, float value) noexcept
 
const TimePosition & getTimePosition() const noexcept
 
virtual const char * getName() const
Definition: DistrhoPlugin.hpp:186
 
virtual float getParameterValue(uint32_t index) const
 
virtual void setState(const char *key, const char *value)
 
Definition: String.hpp:35
 
static constexpr int64_t d_cconst(const uint8_t a, const uint8_t b, const uint8_t c, const uint8_t d) noexcept
Definition: DistrhoUtils.hpp:72
 
#define END_NAMESPACE_DISTRHO
Definition: DistrhoInfo.hpp:949
 
#define START_NAMESPACE_DISTRHO
Definition: DistrhoInfo.hpp:943
 
#define DISTRHO_PLUGIN_UNIQUE_ID
Definition: DistrhoInfo.hpp:691
 
#define DISTRHO_PLUGIN_NAME
Definition: DistrhoInfo.hpp:488
 
Definition: DistrhoDetails.hpp:275
 
Definition: DistrhoDetails.hpp:891
 
Definition: DistrhoDetails.hpp:588
 
Definition: DistrhoDetails.hpp:797
 
Definition: DistrhoDetails.hpp:823
 
Definition: DistrhoDetails.hpp:925