Mercurial > hg > svcore
comparison plugin/LADSPAPluginInstance.h @ 1040:a1cd5abcb38b cxx11
Introduce and use a samplerate type
author | Chris Cannam |
---|---|
date | Wed, 04 Mar 2015 12:01:04 +0000 |
parents | b14064bd1f97 |
children | 48e9f538e6e9 |
comparison
equal
deleted
inserted
replaced
1039:b14064bd1f97 | 1040:a1cd5abcb38b |
---|---|
49 virtual std::string getDescription() const; | 49 virtual std::string getDescription() const; |
50 virtual std::string getMaker() const; | 50 virtual std::string getMaker() const; |
51 virtual int getPluginVersion() const; | 51 virtual int getPluginVersion() const; |
52 virtual std::string getCopyright() const; | 52 virtual std::string getCopyright() const; |
53 | 53 |
54 virtual void run(const Vamp::RealTime &rt, size_t count = 0); | 54 virtual void run(const RealTime &rt, int count = 0); |
55 | 55 |
56 virtual int getParameterCount() const; | 56 virtual int getParameterCount() const; |
57 virtual void setParameterValue(int parameter, float value); | 57 virtual void setParameterValue(int parameter, float value); |
58 virtual float getParameterValue(int parameter) const; | 58 virtual float getParameterValue(int parameter) const; |
59 virtual float getParameterDefault(int parameter) const; | 59 virtual float getParameterDefault(int parameter) const; |
61 | 61 |
62 virtual ParameterList getParameterDescriptors() const; | 62 virtual ParameterList getParameterDescriptors() const; |
63 virtual float getParameter(std::string) const; | 63 virtual float getParameter(std::string) const; |
64 virtual void setParameter(std::string, float); | 64 virtual void setParameter(std::string, float); |
65 | 65 |
66 virtual size_t getBufferSize() const { return m_blockSize; } | 66 virtual int getBufferSize() const { return m_blockSize; } |
67 virtual size_t getAudioInputCount() const { return m_instanceCount * m_audioPortsIn.size(); } | 67 virtual int getAudioInputCount() const { return int(m_instanceCount * m_audioPortsIn.size()); } |
68 virtual size_t getAudioOutputCount() const { return m_instanceCount * m_audioPortsOut.size(); } | 68 virtual int getAudioOutputCount() const { return int(m_instanceCount * m_audioPortsOut.size()); } |
69 virtual sample_t **getAudioInputBuffers() { return m_inputBuffers; } | 69 virtual sample_t **getAudioInputBuffers() { return m_inputBuffers; } |
70 virtual sample_t **getAudioOutputBuffers() { return m_outputBuffers; } | 70 virtual sample_t **getAudioOutputBuffers() { return m_outputBuffers; } |
71 | 71 |
72 virtual size_t getControlOutputCount() const { return m_controlPortsOut.size(); } | 72 virtual int getControlOutputCount() const { return int(m_controlPortsOut.size()); } |
73 virtual float getControlOutputValue(size_t n) const; | 73 virtual float getControlOutputValue(int n) const; |
74 | 74 |
75 virtual bool isBypassed() const { return m_bypassed; } | 75 virtual bool isBypassed() const { return m_bypassed; } |
76 virtual void setBypassed(bool bypassed) { m_bypassed = bypassed; } | 76 virtual void setBypassed(bool bypassed) { m_bypassed = bypassed; } |
77 | 77 |
78 virtual size_t getLatency(); | 78 virtual sv_frame_t getLatency(); |
79 | 79 |
80 virtual void silence(); | 80 virtual void silence(); |
81 virtual void setIdealChannelCount(size_t channels); // may re-instantiate | 81 virtual void setIdealChannelCount(int channels); // may re-instantiate |
82 | 82 |
83 virtual std::string getType() const { return "LADSPA Real-Time Plugin"; } | 83 virtual std::string getType() const { return "LADSPA Real-Time Plugin"; } |
84 | 84 |
85 protected: | 85 protected: |
86 // To be constructed only by LADSPAPluginFactory | 86 // To be constructed only by LADSPAPluginFactory |
90 // | 90 // |
91 LADSPAPluginInstance(RealTimePluginFactory *factory, | 91 LADSPAPluginInstance(RealTimePluginFactory *factory, |
92 int client, | 92 int client, |
93 QString identifier, | 93 QString identifier, |
94 int position, | 94 int position, |
95 unsigned long sampleRate, | 95 sv_samplerate_t sampleRate, |
96 size_t blockSize, | 96 int blockSize, |
97 int idealChannelCount, | 97 int idealChannelCount, |
98 const LADSPA_Descriptor* descriptor); | 98 const LADSPA_Descriptor* descriptor); |
99 | 99 |
100 void init(int idealChannelCount = 0); | 100 void init(int idealChannelCount = 0); |
101 void instantiate(unsigned long sampleRate); | 101 void instantiate(sv_samplerate_t sampleRate); |
102 void cleanup(); | 102 void cleanup(); |
103 void activate(); | 103 void activate(); |
104 void deactivate(); | 104 void deactivate(); |
105 | 105 |
106 // Connection of data (and behind the scenes control) ports | 106 // Connection of data (and behind the scenes control) ports |
108 void connectPorts(); | 108 void connectPorts(); |
109 | 109 |
110 int m_client; | 110 int m_client; |
111 int m_position; | 111 int m_position; |
112 std::vector<LADSPA_Handle> m_instanceHandles; | 112 std::vector<LADSPA_Handle> m_instanceHandles; |
113 size_t m_instanceCount; | 113 int m_instanceCount; |
114 const LADSPA_Descriptor *m_descriptor; | 114 const LADSPA_Descriptor *m_descriptor; |
115 | 115 |
116 std::vector<std::pair<int, LADSPA_Data*> > m_controlPortsIn; | 116 std::vector<std::pair<int, LADSPA_Data*> > m_controlPortsIn; |
117 std::vector<std::pair<int, LADSPA_Data*> > m_controlPortsOut; | 117 std::vector<std::pair<int, LADSPA_Data*> > m_controlPortsOut; |
118 | 118 |
119 std::vector<int> m_audioPortsIn; | 119 std::vector<int> m_audioPortsIn; |
120 std::vector<int> m_audioPortsOut; | 120 std::vector<int> m_audioPortsOut; |
121 | 121 |
122 size_t m_blockSize; | 122 int m_blockSize; |
123 sample_t **m_inputBuffers; | 123 sample_t **m_inputBuffers; |
124 sample_t **m_outputBuffers; | 124 sample_t **m_outputBuffers; |
125 bool m_ownBuffers; | 125 bool m_ownBuffers; |
126 size_t m_sampleRate; | 126 sv_samplerate_t m_sampleRate; |
127 float *m_latencyPort; | 127 float *m_latencyPort; |
128 bool m_run; | 128 bool m_run; |
129 | 129 |
130 bool m_bypassed; | 130 bool m_bypassed; |
131 }; | 131 }; |