Mercurial > hg > svcore
comparison plugin/DSSIPluginInstance.h @ 51:c2913298cf94
* Make RealTimePluginInstances also provide the PluginInstance interface
author | Chris Cannam |
---|---|
date | Mon, 20 Mar 2006 13:48:58 +0000 |
parents | 39ae3dee27b9 |
children | d397ea0a79f5 |
comparison
equal
deleted
inserted
replaced
50:080ad875395a | 51:c2913298cf94 |
---|---|
40 | 40 |
41 int getClientId() const { return m_client; } | 41 int getClientId() const { return m_client; } |
42 virtual QString getIdentifier() const { return m_identifier; } | 42 virtual QString getIdentifier() const { return m_identifier; } |
43 int getPosition() const { return m_position; } | 43 int getPosition() const { return m_position; } |
44 | 44 |
45 virtual std::string getName() const; | |
46 virtual std::string getDescription() const; | |
47 virtual std::string getMaker() const; | |
48 virtual int getPluginVersion() const; | |
49 virtual std::string getCopyright() const; | |
50 | |
45 virtual void run(const RealTime &); | 51 virtual void run(const RealTime &); |
46 | 52 |
47 virtual unsigned int getParameterCount() const; | 53 virtual unsigned int getParameterCount() const; |
48 virtual void setParameterValue(unsigned int parameter, float value); | 54 virtual void setParameterValue(unsigned int parameter, float value); |
49 virtual float getParameterValue(unsigned int parameter) const; | 55 virtual float getParameterValue(unsigned int parameter) const; |
50 virtual float getParameterDefault(unsigned int parameter) const; | 56 virtual float getParameterDefault(unsigned int parameter) const; |
51 virtual QString configure(QString key, QString value); | 57 |
58 virtual ParameterList getParameterDescriptors() const; | |
59 virtual float getParameter(std::string) const; | |
60 virtual void setParameter(std::string, float); | |
61 | |
62 virtual std::string configure(std::string key, std::string value); | |
52 virtual void sendEvent(const RealTime &eventTime, | 63 virtual void sendEvent(const RealTime &eventTime, |
53 const void *event); | 64 const void *event); |
54 virtual void clearEvents(); | 65 virtual void clearEvents(); |
55 | 66 |
56 virtual size_t getBufferSize() const { return m_blockSize; } | 67 virtual size_t getBufferSize() const { return m_blockSize; } |
57 virtual size_t getAudioInputCount() const { return m_audioPortsIn.size(); } | 68 virtual size_t getAudioInputCount() const { return m_audioPortsIn.size(); } |
58 virtual size_t getAudioOutputCount() const { return m_idealChannelCount; } | 69 virtual size_t getAudioOutputCount() const { return m_idealChannelCount; } |
59 virtual sample_t **getAudioInputBuffers() { return m_inputBuffers; } | 70 virtual sample_t **getAudioInputBuffers() { return m_inputBuffers; } |
60 virtual sample_t **getAudioOutputBuffers() { return m_outputBuffers; } | 71 virtual sample_t **getAudioOutputBuffers() { return m_outputBuffers; } |
61 | 72 |
62 virtual QStringList getPrograms() const; | 73 virtual ProgramList getPrograms() const; |
63 virtual QString getCurrentProgram() const; | 74 virtual std::string getCurrentProgram() const; |
64 virtual QString getProgram(int bank, int program) const; | 75 virtual std::string getProgram(int bank, int program) const; |
65 virtual unsigned long getProgram(QString name) const; | 76 virtual unsigned long getProgram(std::string name) const; |
66 virtual void selectProgram(QString program); | 77 virtual void selectProgram(std::string program); |
67 | 78 |
68 virtual bool isBypassed() const { return m_bypassed; } | 79 virtual bool isBypassed() const { return m_bypassed; } |
69 virtual void setBypassed(bool bypassed) { m_bypassed = bypassed; } | 80 virtual void setBypassed(bool bypassed) { m_bypassed = bypassed; } |
70 | 81 |
71 virtual size_t getLatency(); | 82 virtual size_t getLatency(); |
90 unsigned long sampleRate, | 101 unsigned long sampleRate, |
91 size_t blockSize, | 102 size_t blockSize, |
92 int idealChannelCount, | 103 int idealChannelCount, |
93 const DSSI_Descriptor* descriptor); | 104 const DSSI_Descriptor* descriptor); |
94 | 105 |
95 // Constructor that uses shared buffers | |
96 // | |
97 DSSIPluginInstance(RealTimePluginFactory *factory, | |
98 int client, | |
99 QString identifier, | |
100 int position, | |
101 unsigned long sampleRate, | |
102 size_t blockSize, | |
103 sample_t **inputBuffers, | |
104 sample_t **outputBuffers, | |
105 const DSSI_Descriptor* descriptor); | |
106 | |
107 void init(); | 106 void init(); |
108 void instantiate(unsigned long sampleRate); | 107 void instantiate(unsigned long sampleRate); |
109 void cleanup(); | 108 void cleanup(); |
110 void activate(); | 109 void activate(); |
111 void deactivate(); | 110 void deactivate(); |
112 void connectPorts(); | 111 void connectPorts(); |
113 | 112 |
114 bool handleController(snd_seq_event_t *ev); | 113 bool handleController(snd_seq_event_t *ev); |
115 void setPortValueFromController(unsigned int portNumber, int controlValue); | 114 void setPortValueFromController(unsigned int portNumber, int controlValue); |
116 void selectProgramAux(QString program, bool backupPortValues); | 115 void selectProgramAux(std::string program, bool backupPortValues); |
117 void checkProgramCache() const; | 116 void checkProgramCache() const; |
118 | 117 |
119 void initialiseGroupMembership(); | 118 void initialiseGroupMembership(); |
120 void runGrouped(const RealTime &); | 119 void runGrouped(const RealTime &); |
121 | 120 |
152 ProgramControl m_pending; | 151 ProgramControl m_pending; |
153 | 152 |
154 struct ProgramDescriptor { | 153 struct ProgramDescriptor { |
155 int bank; | 154 int bank; |
156 int program; | 155 int program; |
157 QString name; | 156 std::string name; |
158 }; | 157 }; |
159 mutable std::vector<ProgramDescriptor> m_cachedPrograms; | 158 mutable std::vector<ProgramDescriptor> m_cachedPrograms; |
160 mutable bool m_programCacheValid; | 159 mutable bool m_programCacheValid; |
161 | 160 |
162 RingBuffer<snd_seq_event_t> m_eventBuffer; | 161 RingBuffer<snd_seq_event_t> m_eventBuffer; |
170 size_t m_sampleRate; | 169 size_t m_sampleRate; |
171 float *m_latencyPort; | 170 float *m_latencyPort; |
172 bool m_run; | 171 bool m_run; |
173 | 172 |
174 bool m_bypassed; | 173 bool m_bypassed; |
175 QString m_program; | 174 std::string m_program; |
176 bool m_grouped; | 175 bool m_grouped; |
177 RealTime m_lastRunTime; | 176 RealTime m_lastRunTime; |
178 | 177 |
179 RealTime m_lastEventSendTime; | 178 RealTime m_lastEventSendTime; |
180 bool m_haveLastEventSendTime; | 179 bool m_haveLastEventSendTime; |