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 };