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