21 #ifndef _DSSIPLUGININSTANCE_H_ 22 #define _DSSIPLUGININSTANCE_H_ 24 #define DSSI_API_LEVEL 2 51 virtual std::string
getName()
const;
53 virtual std::string
getMaker()
const;
57 virtual void run(
const Vamp::RealTime &,
size_t count = 0);
69 virtual std::string
configure(std::string key, std::string value);
70 virtual void sendEvent(
const Vamp::RealTime &eventTime,
85 virtual std::string
getProgram(
int bank,
int program)
const;
86 virtual unsigned long getProgram(std::string name)
const;
101 virtual std::string
getType()
const {
return "DSSI Real-Time Plugin"; }
113 unsigned long sampleRate,
115 int idealChannelCount,
116 const DSSI_Descriptor* descriptor);
136 unsigned char channels);
138 snd_seq_event_t *events,
139 unsigned long eventCount);
141 void (*runFunction)(LADSPA_Handle));
207 void (*runFunction)(LADSPA_Handle)) :
220 static std::map<LADSPA_Handle, std::set<NonRTPluginThread *> >
m_threads;
223 #endif // _DSSIPLUGININSTANCE_H_ sample_t ** m_inputBuffers
DSSIPluginInstance(RealTimePluginFactory *factory, int client, QString identifier, int position, unsigned long sampleRate, size_t blockSize, int idealChannelCount, const DSSI_Descriptor *descriptor)
std::vector< LADSPA_Data > m_backupControlPortsIn
virtual void sendEvent(const Vamp::RealTime &eventTime, const void *event)
static int requestMidiSend(LADSPA_Handle instance, unsigned char ports, unsigned char channels)
virtual size_t getControlOutputCount() const
virtual sample_t ** getAudioInputBuffers()
static std::map< LADSPA_Handle, std::set< NonRTPluginThread * > > m_threads
void instantiate(unsigned long sampleRate)
sample_t ** m_outputBuffers
static void midiSend(LADSPA_Handle instance, snd_seq_event_t *events, unsigned long eventCount)
std::map< int, int > m_controllerMap
std::vector< std::pair< unsigned long, LADSPA_Data * > > m_controlPortsIn
void runGrouped(const Vamp::RealTime &)
virtual bool isOK() const
virtual bool isInGroup() const
bool handleController(snd_seq_event_t *ev)
A very simple class that facilitates running things like plugins without locking, by collecting unwan...
virtual int getParameterDisplayHint(unsigned int parameter) const
NonRTPluginThread(LADSPA_Handle handle, void(*runFunction)(LADSPA_Handle))
static snd_seq_event_t ** m_groupLocalEventBuffers
virtual void run(const Vamp::RealTime &, size_t count=0)
Run for one block, starting at the given time.
virtual std::string getIdentifier() const
virtual std::string getDescription() const
RingBuffer< snd_seq_event_t > m_eventBuffer
void selectProgramAux(std::string program, bool backupPortValues)
virtual size_t getLatency()
virtual std::string getMaker() const
void checkProgramCache() const
std::vector< ProgramDescriptor > m_cachedPrograms
virtual void setIdealChannelCount(size_t channels)
virtual void clearEvents()
virtual float getControlOutputValue(size_t n) const
std::vector< int > m_audioPortsOut
virtual std::string getType() const
bool m_haveLastEventSendTime
const DSSI_Descriptor * m_descriptor
virtual bool isBypassed() const
virtual size_t getAudioInputCount() const
std::vector< std::pair< unsigned long, LADSPA_Data * > > m_controlPortsOut
virtual size_t getBufferSize() const
virtual int getPluginVersion() const
static Scavenger< ScavengerArrayWrapper< snd_seq_event_t * > > m_bufferScavenger
virtual void setParameter(std::string, float)
virtual ProgramList getPrograms() const
virtual ~DSSIPluginInstance()
size_t m_outputBufferCount
Vamp::RealTime m_lastRunTime
void setPortValueFromController(unsigned int portNumber, int controlValue)
virtual std::string getName() const
size_t m_idealChannelCount
virtual void selectProgram(std::string program)
virtual size_t getAudioOutputCount() const
virtual void setParameterValue(unsigned int parameter, float value)
static int requestNonRTThread(LADSPA_Handle instance, void(*runFunction)(LADSPA_Handle))
virtual sample_t ** getAudioOutputBuffers()
static RealTimePluginFactory * instance(QString pluginType)
virtual void setBypassed(bool bypassed)
virtual ParameterList getParameterDescriptors() const
virtual float getParameterDefault(unsigned int parameter) const
virtual std::string getCopyright() const
virtual std::string getProgram(int bank, int program) const
virtual unsigned int getParameterCount() const
virtual std::string configure(std::string key, std::string value)
static size_t m_groupLocalEventBufferCount
static GroupMap m_groupMap
virtual float getParameterValue(unsigned int parameter) const
Vamp::RealTime m_lastEventSendTime
virtual std::string getCurrentProgram() const
virtual void detachFromGroup()
std::vector< int > m_audioPortsIn
std::map< QString, PluginSet > GroupMap
virtual void discardEvents()
void initialiseGroupMembership()
virtual float getParameter(std::string) const
std::set< DSSIPluginInstance * > PluginSet
LADSPA_Handle m_instanceHandle
virtual QString getPluginIdentifier() const
void(* m_runFunction)(LADSPA_Handle)