Mercurial > hg > svcore
comparison plugin/LADSPAPluginInstance.h @ 1057:5c5d4863b428 tonioni
Merge from cxx11 branch
author | Chris Cannam |
---|---|
date | Mon, 23 Mar 2015 11:26:28 +0000 |
parents | a1cd5abcb38b |
children | 48e9f538e6e9 |
comparison
equal
deleted
inserted
replaced
1056:c4898e57eea5 | 1057:5c5d4863b428 |
---|---|
25 #include <set> | 25 #include <set> |
26 #include <QString> | 26 #include <QString> |
27 | 27 |
28 #include "api/ladspa.h" | 28 #include "api/ladspa.h" |
29 #include "RealTimePluginInstance.h" | 29 #include "RealTimePluginInstance.h" |
30 #include "base/BaseTypes.h" | |
30 | 31 |
31 // LADSPA plugin instance. LADSPA is a variable block size API, but | 32 // LADSPA plugin instance. LADSPA is a variable block size API, but |
32 // for one reason and another it's more convenient to use a fixed | 33 // for one reason and another it's more convenient to use a fixed |
33 // block size in this wrapper. | 34 // block size in this wrapper. |
34 // | 35 // |
48 virtual std::string getDescription() const; | 49 virtual std::string getDescription() const; |
49 virtual std::string getMaker() const; | 50 virtual std::string getMaker() const; |
50 virtual int getPluginVersion() const; | 51 virtual int getPluginVersion() const; |
51 virtual std::string getCopyright() const; | 52 virtual std::string getCopyright() const; |
52 | 53 |
53 virtual void run(const Vamp::RealTime &rt, size_t count = 0); | 54 virtual void run(const RealTime &rt, int count = 0); |
54 | 55 |
55 virtual unsigned int getParameterCount() const; | 56 virtual int getParameterCount() const; |
56 virtual void setParameterValue(unsigned int parameter, float value); | 57 virtual void setParameterValue(int parameter, float value); |
57 virtual float getParameterValue(unsigned int parameter) const; | 58 virtual float getParameterValue(int parameter) const; |
58 virtual float getParameterDefault(unsigned int parameter) const; | 59 virtual float getParameterDefault(int parameter) const; |
59 virtual int getParameterDisplayHint(unsigned int parameter) const; | 60 virtual int getParameterDisplayHint(int parameter) const; |
60 | 61 |
61 virtual ParameterList getParameterDescriptors() const; | 62 virtual ParameterList getParameterDescriptors() const; |
62 virtual float getParameter(std::string) const; | 63 virtual float getParameter(std::string) const; |
63 virtual void setParameter(std::string, float); | 64 virtual void setParameter(std::string, float); |
64 | 65 |
65 virtual size_t getBufferSize() const { return m_blockSize; } | 66 virtual int getBufferSize() const { return m_blockSize; } |
66 virtual size_t getAudioInputCount() const { return m_instanceCount * m_audioPortsIn.size(); } | 67 virtual int getAudioInputCount() const { return int(m_instanceCount * m_audioPortsIn.size()); } |
67 virtual size_t getAudioOutputCount() const { return m_instanceCount * m_audioPortsOut.size(); } | 68 virtual int getAudioOutputCount() const { return int(m_instanceCount * m_audioPortsOut.size()); } |
68 virtual sample_t **getAudioInputBuffers() { return m_inputBuffers; } | 69 virtual sample_t **getAudioInputBuffers() { return m_inputBuffers; } |
69 virtual sample_t **getAudioOutputBuffers() { return m_outputBuffers; } | 70 virtual sample_t **getAudioOutputBuffers() { return m_outputBuffers; } |
70 | 71 |
71 virtual size_t getControlOutputCount() const { return m_controlPortsOut.size(); } | 72 virtual int getControlOutputCount() const { return int(m_controlPortsOut.size()); } |
72 virtual float getControlOutputValue(size_t n) const; | 73 virtual float getControlOutputValue(int n) const; |
73 | 74 |
74 virtual bool isBypassed() const { return m_bypassed; } | 75 virtual bool isBypassed() const { return m_bypassed; } |
75 virtual void setBypassed(bool bypassed) { m_bypassed = bypassed; } | 76 virtual void setBypassed(bool bypassed) { m_bypassed = bypassed; } |
76 | 77 |
77 virtual size_t getLatency(); | 78 virtual sv_frame_t getLatency(); |
78 | 79 |
79 virtual void silence(); | 80 virtual void silence(); |
80 virtual void setIdealChannelCount(size_t channels); // may re-instantiate | 81 virtual void setIdealChannelCount(int channels); // may re-instantiate |
81 | 82 |
82 virtual std::string getType() const { return "LADSPA Real-Time Plugin"; } | 83 virtual std::string getType() const { return "LADSPA Real-Time Plugin"; } |
83 | 84 |
84 protected: | 85 protected: |
85 // To be constructed only by LADSPAPluginFactory | 86 // To be constructed only by LADSPAPluginFactory |
89 // | 90 // |
90 LADSPAPluginInstance(RealTimePluginFactory *factory, | 91 LADSPAPluginInstance(RealTimePluginFactory *factory, |
91 int client, | 92 int client, |
92 QString identifier, | 93 QString identifier, |
93 int position, | 94 int position, |
94 unsigned long sampleRate, | 95 sv_samplerate_t sampleRate, |
95 size_t blockSize, | 96 int blockSize, |
96 int idealChannelCount, | 97 int idealChannelCount, |
97 const LADSPA_Descriptor* descriptor); | 98 const LADSPA_Descriptor* descriptor); |
98 | 99 |
99 void init(int idealChannelCount = 0); | 100 void init(int idealChannelCount = 0); |
100 void instantiate(unsigned long sampleRate); | 101 void instantiate(sv_samplerate_t sampleRate); |
101 void cleanup(); | 102 void cleanup(); |
102 void activate(); | 103 void activate(); |
103 void deactivate(); | 104 void deactivate(); |
104 | 105 |
105 // Connection of data (and behind the scenes control) ports | 106 // Connection of data (and behind the scenes control) ports |
107 void connectPorts(); | 108 void connectPorts(); |
108 | 109 |
109 int m_client; | 110 int m_client; |
110 int m_position; | 111 int m_position; |
111 std::vector<LADSPA_Handle> m_instanceHandles; | 112 std::vector<LADSPA_Handle> m_instanceHandles; |
112 size_t m_instanceCount; | 113 int m_instanceCount; |
113 const LADSPA_Descriptor *m_descriptor; | 114 const LADSPA_Descriptor *m_descriptor; |
114 | 115 |
115 std::vector<std::pair<unsigned long, LADSPA_Data*> > m_controlPortsIn; | 116 std::vector<std::pair<int, LADSPA_Data*> > m_controlPortsIn; |
116 std::vector<std::pair<unsigned long, LADSPA_Data*> > m_controlPortsOut; | 117 std::vector<std::pair<int, LADSPA_Data*> > m_controlPortsOut; |
117 | 118 |
118 std::vector<int> m_audioPortsIn; | 119 std::vector<int> m_audioPortsIn; |
119 std::vector<int> m_audioPortsOut; | 120 std::vector<int> m_audioPortsOut; |
120 | 121 |
121 size_t m_blockSize; | 122 int m_blockSize; |
122 sample_t **m_inputBuffers; | 123 sample_t **m_inputBuffers; |
123 sample_t **m_outputBuffers; | 124 sample_t **m_outputBuffers; |
124 bool m_ownBuffers; | 125 bool m_ownBuffers; |
125 size_t m_sampleRate; | 126 sv_samplerate_t m_sampleRate; |
126 float *m_latencyPort; | 127 float *m_latencyPort; |
127 bool m_run; | 128 bool m_run; |
128 | 129 |
129 bool m_bypassed; | 130 bool m_bypassed; |
130 }; | 131 }; |