LMMS
Loading...
Searching...
No Matches
modules_comp.h
Go to the documentation of this file.
1/* Calf DSP plugin pack
2 * Compression related plugins
3 *
4 * Copyright (C) 2001-2010 Krzysztof Foltman, Markus Schmidt, Thor Harald Johansen and others
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General
17 * Public License along with this program; if not, write to the
18 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 * Boston, MA 02111-1307, USA.
20 */
21#ifndef CALF_MODULES_COMP_H
22#define CALF_MODULES_COMP_H
23
24#include <assert.h>
25#include <limits.h>
26#include "biquad.h"
27#include "inertia.h"
28#include "audio_fx.h"
29#include "giface.h"
30#include "loudness.h"
31#include "metadata.h"
32#include "plugin_tools.h"
33#include "bypass.h"
34
35namespace calf_plugins {
36
37/**********************************************************************
38 * GAIN REDUCTION by Thor Harald Johanssen
39**********************************************************************/
41{
42private:
47 mutable bool redraw_graph;
50 inline float output_level(float slope) const;
51 inline float output_gain(float linSlope, bool rms) const;
52public:
54 void set_params(float att, float rel, float thr, float rat, float kn, float mak, float det, float stl, float byp, float mu);
55 void update_curve();
56 void process(float &left, float &right, const float *det_left = NULL, const float *det_right = NULL);
57 void activate();
58 void deactivate();
59 int id;
61 float get_output_level();
62 float get_comp_level();
63 bool _get_graph(int subindex, float *data, int points, cairo_iface *context, int *mode) const;
64 bool _get_dot(int subindex, float &x, float &y, int &size, cairo_iface *context) const;
65 bool _get_gridline(int subindex, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
66 bool _get_layers(int index, int generation, unsigned int &layers) const;
67};
68
69/**********************************************************************
70 * GAIN REDUCTION 2 by Damien Zammit
71**********************************************************************/
72
74{
75private:
79 mutable bool redraw_graph;
83 inline float output_level(float inputt) const;
84 inline float output_gain(float inputt) const;
85public:
87 void set_params(float att, float rel, float thr, float rat, float kn, float mak, float byp, float mu);
88 void update_curve();
89 void process(float &left);
90 void activate();
91 void deactivate();
92 int id;
94 float get_output_level();
95 float get_comp_level();
96 bool _get_graph(int subindex, float *data, int points, cairo_iface *context, int *mode) const;
97 bool _get_dot(int subindex, float &x, float &y, int &size, cairo_iface *context) const;
98 bool _get_gridline(int subindex, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
99 bool _get_layers(int index, int generation, unsigned int &layers) const;
100};
101
102/**********************************************************************
103 * EXPANDER by Damien Zammit
104**********************************************************************/
105
107private:
112 mutable bool redraw_graph;
113 inline float output_level(float slope) const;
114 inline float output_gain(float linSlope, bool rms) const;
115public:
119 void set_params(float att, float rel, float thr, float rat, float kn, float mak, float det, float stl, float byp, float mu, float ran);
120 void update_curve();
121 void process(float &left, float &right, const float *det_left = NULL, const float *det_right = NULL);
122 void activate();
123 void deactivate();
124 int id;
125 void set_sample_rate(uint32_t sr);
126 float get_output_level();
127 float get_expander_level();
128 bool _get_graph(int subindex, float *data, int points, cairo_iface *context, int *mode) const;
129 bool _get_dot(int subindex, float &x, float &y, int &size, cairo_iface *context) const;
130 bool _get_gridline(int subindex, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
131 bool _get_layers(int index, int generation, unsigned int &layers) const;
132};
133
134/**********************************************************************
135 * COMPRESSOR by Thor Harald Johanssen
136**********************************************************************/
137
138class compressor_audio_module: public audio_module<compressor_metadata>, public line_graph_iface {
139private:
144public:
149 void activate();
150 void deactivate();
151 void params_changed();
152 void set_sample_rate(uint32_t sr);
153 uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask);
154 bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const;
155 bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const;
156 bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
157 bool get_layers(int index, int generation, unsigned int &layers) const;
158};
159
160/**********************************************************************
161 * SIDECHAIN COMPRESSOR by Markus Schmidt
162**********************************************************************/
163
164class sidechaincompressor_audio_module: public audio_module<sidechaincompressor_metadata>, public frequency_response_line_graph {
165private:
183 mutable bool redraw_graph;
189public:
194 void activate();
195 void deactivate();
196 void params_changed();
197 cfloat h_z(const cfloat &z) const;
198 float freq_gain(int index, double freq) const;
199 void set_sample_rate(uint32_t sr);
200 uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask);
201 bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const;
202 bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const;
203 bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
204 bool get_layers(int index, int generation, unsigned int &layers) const;
205};
206
207/**********************************************************************
208 * MULTIBAND COMPRESSOR by Markus Schmidt
209**********************************************************************/
210
211class multibandcompressor_audio_module: public audio_module<multibandcompressor_metadata>, public frequency_response_line_graph {
212private:
214 static const int strips = 4;
216 float xin[2];
222 mutable int redraw;
224public:
228 void activate();
229 void deactivate();
230 void params_changed();
231 uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask);
232 void set_sample_rate(uint32_t sr);
234 virtual bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const;
235 virtual bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const;
236 virtual bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
237 virtual bool get_layers(int index, int generation, unsigned int &layers) const;
238};
239
240/**********************************************************************
241 * MONO COMPRESSOR by Damien Zammit
242**********************************************************************/
243
244class monocompressor_audio_module: public audio_module<monocompressor_metadata>, public line_graph_iface {
245private:
250public:
255 void activate();
256 void deactivate();
257 void params_changed();
258 void set_sample_rate(uint32_t sr);
259 uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask);
260 bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const;
261 bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const;
262 bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
263 bool get_layers(int index, int generation, unsigned int &layers) const;
264};
265
266/**********************************************************************
267 * DEESSER by Markus Schmidt
268**********************************************************************/
269
270class deesser_audio_module: public audio_module<deesser_metadata>, public frequency_response_line_graph {
271private:
279 float detected;
284public:
288 void activate();
289 void deactivate();
290 void params_changed();
291 float freq_gain(int index, double freq) const
292 {
293 return hpL.freq_gain(freq, srate) * pL.freq_gain(freq, srate);
294 }
295 void set_sample_rate(uint32_t sr);
296 uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask);
297};
298
299/**********************************************************************
300 * GATE AUDIO MODULE Damien Zammit
301**********************************************************************/
302
303class gate_audio_module: public audio_module<gate_metadata>, public line_graph_iface {
304private:
309public:
314 void activate();
315 void deactivate();
316 void params_changed();
317 void set_sample_rate(uint32_t sr);
318 uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask);
319 bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const;
320 bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const;
321 bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
322 bool get_layers(int index, int generation, unsigned int &layers) const;
323};
324
325/**********************************************************************
326 * SIDECHAIN GATE by Markus Schmidt
327**********************************************************************/
328
329class sidechaingate_audio_module: public audio_module<sidechaingate_metadata>, public frequency_response_line_graph {
330private:
348 mutable bool redraw_graph;
354public:
359 void activate();
360 void deactivate();
361 void params_changed();
362 cfloat h_z(const cfloat &z) const;
363 float freq_gain(int index, double freq) const;
364 void set_sample_rate(uint32_t sr);
365 uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask);
366 bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const;
367 bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const;
368 bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
369 bool get_layers(int index, int generation, unsigned int &layers) const;
370};
371
372
373/**********************************************************************
374 * MULTIBAND GATE by Markus Schmidt
375**********************************************************************/
376
377class multibandgate_audio_module: public audio_module<multibandgate_metadata>, public frequency_response_line_graph {
378private:
380 static const int strips = 4;
382 float xin[2];
388 mutable int redraw;
390public:
394 void activate();
395 void deactivate();
396 void params_changed();
397 uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask);
398 void set_sample_rate(uint32_t sr);
399 const expander_audio_module *get_strip_by_param_index(int index) const;
400 virtual bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const;
401 virtual bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const;
402 virtual bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
403 bool get_layers(int index, int generation, unsigned int &layers) const;
404};
405
406/**********************************************************************
407 * TRANSIENT DESIGNER by Christian Holschuh and Markus Schmidt
408**********************************************************************/
409
411 public audio_module<transientdesigner_metadata>, public frequency_response_line_graph
412{
414 static const int channels = 2;
416 bool active;
417 mutable bool redraw;
424 mutable int pixels;
425 mutable float *pbuffer;
426 mutable int pbuffer_pos;
427 mutable int pbuffer_size;
428 mutable int pbuffer_sample;
429 mutable int pbuffer_draw;
430 mutable bool pbuffer_available;
436public:
439 void params_changed();
440 void activate();
441 void set_sample_rate(uint32_t sr);
442 void deactivate();
443 uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask);
444 bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const;
445 bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const;
446 bool get_layers(int index, int generation, unsigned int &layers) const;
447};
448
449};
450
451#endif
#define NULL
Definition CarlaBridgeFormat.cpp:30
bool get_layers(int index, int generation, unsigned int &layers) const
Definition modules_comp.cpp:857
void set_sample_rate(uint32_t sr)
Set sample rate for the plugin.
Definition modules_comp.cpp:771
vumeters meters
Definition modules_comp.h:143
bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
Definition modules_comp.cpp:852
gain_reduction_audio_module compressor
Definition modules_comp.h:141
std::complex< double > cfloat
Definition modules_comp.h:145
bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const
Definition modules_comp.cpp:842
dsp::bypass bypass
Definition modules_comp.h:142
void deactivate()
LADSPA-esque deactivate function.
Definition modules_comp.cpp:760
uint32_t srate
Definition modules_comp.h:146
bool is_active
Definition modules_comp.h:147
void activate()
LADSPA-esque activate function, except it is called after ports are connected, not before.
Definition modules_comp.cpp:753
bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const
Definition modules_comp.cpp:847
void params_changed()
Called when params are changed (before processing).
Definition modules_comp.cpp:766
compressor_audio_module()
Definition modules_comp.cpp:747
compressor_audio_module AM
Definition modules_comp.h:140
uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask)
The audio processing loop; assumes numsamples <= MAX_SAMPLE_RUN, for larger buffers,...
Definition modules_comp.cpp:780
uint32_t srate
Definition modules_comp.h:285
float f2_level_old1
Definition modules_comp.h:277
float f2_freq_old1
Definition modules_comp.h:277
vumeters meters
Definition modules_comp.h:283
void set_sample_rate(uint32_t sr)
Set sample rate for the plugin.
Definition modules_comp.cpp:1670
float f1_freq_old
Definition modules_comp.h:276
float f2_freq_old
Definition modules_comp.h:276
gain_reduction_audio_module compressor
Definition modules_comp.h:280
float f1_level_old
Definition modules_comp.h:276
CalfDeessModes
Definition modules_comp.h:272
@ WIDE
Definition modules_comp.h:273
@ SPLIT
Definition modules_comp.h:274
dsp::biquad_d2 lpL
Definition modules_comp.h:281
dsp::biquad_d2 pL
Definition modules_comp.h:281
float f1_level_old1
Definition modules_comp.h:277
bool is_active
Definition modules_comp.h:286
float freq_gain(int index, double freq) const
Definition modules_comp.h:291
float f2_q_old1
Definition modules_comp.h:277
dsp::bypass bypass
Definition modules_comp.h:282
deesser_audio_module()
Definition modules_comp.cpp:1600
void activate()
LADSPA-esque activate function, except it is called after ports are connected, not before.
Definition modules_comp.cpp:1618
float f2_level_old
Definition modules_comp.h:276
dsp::biquad_d2 pR
Definition modules_comp.h:281
uint32_t detected_led
Definition modules_comp.h:278
dsp::biquad_d2 hpL
Definition modules_comp.h:281
dsp::biquad_d2 lpR
Definition modules_comp.h:281
uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask)
The audio processing loop; assumes numsamples <= MAX_SAMPLE_RUN, for larger buffers,...
Definition modules_comp.cpp:1679
void params_changed()
Called when params are changed (before processing).
Definition modules_comp.cpp:1633
void deactivate()
LADSPA-esque deactivate function.
Definition modules_comp.cpp:1627
float f2_q_old
Definition modules_comp.h:276
float detected
Definition modules_comp.h:279
dsp::biquad_d2 hpR
Definition modules_comp.h:281
float f1_freq_old1
Definition modules_comp.h:277
Definition modules_comp.h:106
float ratio
Definition modules_comp.h:110
float linSlope
Definition modules_comp.h:108
expander_audio_module()
Definition modules_comp.cpp:513
float detection
Definition modules_comp.h:110
float old_trigger
Definition modules_comp.h:111
int id
Definition modules_comp.h:124
void update_curve()
Definition modules_comp.cpp:558
float linKneeStop
Definition modules_comp.h:108
float meter_gate
Definition modules_comp.h:110
float mute
Definition modules_comp.h:110
float release_coeff
Definition modules_comp.h:109
float threshold
Definition modules_comp.h:110
float knee
Definition modules_comp.h:110
float range
Definition modules_comp.h:109
float output_gain(float linSlope, bool rms) const
Definition modules_comp.cpp:611
float detected
Definition modules_comp.h:108
void activate()
Definition modules_comp.cpp:541
float thres
Definition modules_comp.h:109
uint32_t srate
Definition modules_comp.h:116
bool is_active
Definition modules_comp.h:117
void set_sample_rate(uint32_t sr)
Definition modules_comp.cpp:632
float bypass
Definition modules_comp.h:110
bool _get_dot(int subindex, float &x, float &y, int &size, cairo_iface *context) const
Definition modules_comp.cpp:705
float attack_coeff
Definition modules_comp.h:109
void process(float &left, float &right, const float *det_left=NULL, const float *det_right=NULL)
Definition modules_comp.cpp:576
float old_makeup
Definition modules_comp.h:111
float attack
Definition modules_comp.h:110
float kneeStop
Definition modules_comp.h:108
float old_stereo_link
Definition modules_comp.h:111
bool redraw_graph
Definition modules_comp.h:112
float makeup
Definition modules_comp.h:110
void deactivate()
Definition modules_comp.cpp:553
float linKneeStart
Definition modules_comp.h:108
float meter_out
Definition modules_comp.h:110
bool _get_graph(int subindex, float *data, int points, cairo_iface *context, int *mode) const
Definition modules_comp.cpp:677
float old_ratio
Definition modules_comp.h:111
float old_mute
Definition modules_comp.h:111
bool _get_gridline(int subindex, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
Definition modules_comp.cpp:717
float old_range
Definition modules_comp.h:111
float stereo_link
Definition modules_comp.h:110
bool _get_layers(int index, int generation, unsigned int &layers) const
Definition modules_comp.cpp:736
float compressedKneeStop
Definition modules_comp.h:109
float old_detection
Definition modules_comp.h:111
float adjKneeStart
Definition modules_comp.h:109
void set_params(float att, float rel, float thr, float rat, float kn, float mak, float det, float stl, float byp, float mu, float ran)
Definition modules_comp.cpp:637
float output_level(float slope) const
Definition modules_comp.cpp:606
float get_expander_level()
Definition modules_comp.cpp:672
float old_knee
Definition modules_comp.h:111
float release
Definition modules_comp.h:110
float get_output_level()
Definition modules_comp.cpp:668
float old_threshold
Definition modules_comp.h:111
float kneeStart
Definition modules_comp.h:108
float old_bypass
Definition modules_comp.h:111
Line graph interface implementation for frequency response graphs.
Definition giface.h:777
Definition modules_comp.h:74
float ratio
Definition modules_comp.h:77
float detected
Definition modules_comp.h:76
float output_gain(float inputt) const
Definition modules_comp.cpp:382
float old_mute
Definition modules_comp.h:78
float old_makeup
Definition modules_comp.h:78
float old_threshold
Definition modules_comp.h:78
void deactivate()
Definition modules_comp.cpp:319
gain_reduction2_audio_module()
Definition modules_comp.cpp:279
float meter_comp
Definition modules_comp.h:77
bool redraw_graph
Definition modules_comp.h:79
bool _get_layers(int index, int generation, unsigned int &layers) const
Definition modules_comp.cpp:502
void update_curve()
Definition modules_comp.cpp:324
bool _get_graph(int subindex, float *data, int points, cairo_iface *context, int *mode) const
Definition modules_comp.cpp:442
int id
Definition modules_comp.h:92
void set_sample_rate(uint32_t sr)
Definition modules_comp.cpp:403
float attack
Definition modules_comp.h:77
float detection
Definition modules_comp.h:77
float makeup
Definition modules_comp.h:77
float old_yl
Definition modules_comp.h:80
float old_detection
Definition modules_comp.h:78
void activate()
Definition modules_comp.cpp:308
float get_comp_level()
Definition modules_comp.cpp:437
void set_params(float att, float rel, float thr, float rat, float kn, float mak, float byp, float mu)
Definition modules_comp.cpp:407
bool _get_gridline(int subindex, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
Definition modules_comp.cpp:483
float output_level(float inputt) const
Definition modules_comp.cpp:378
float old_mre
Definition modules_comp.h:80
float release
Definition modules_comp.h:77
bool _get_dot(int subindex, float &x, float &y, int &size, cairo_iface *context) const
Definition modules_comp.cpp:471
float meter_out
Definition modules_comp.h:77
float old_ratio
Definition modules_comp.h:78
float old_mae
Definition modules_comp.h:80
float linSlope
Definition modules_comp.h:76
float get_output_level()
Definition modules_comp.cpp:433
float old_y1
Definition modules_comp.h:80
float old_knee
Definition modules_comp.h:78
float stereo_link
Definition modules_comp.h:77
bool is_active
Definition modules_comp.h:82
float knee
Definition modules_comp.h:77
float old_bypass
Definition modules_comp.h:78
float bypass
Definition modules_comp.h:77
float threshold
Definition modules_comp.h:77
uint32_t srate
Definition modules_comp.h:81
void process(float &left)
Definition modules_comp.cpp:329
float mute
Definition modules_comp.h:77
Definition modules_comp.h:41
float old_bypass
Definition modules_comp.h:46
float old_makeup
Definition modules_comp.h:46
void activate()
Definition modules_comp.cpp:71
float old_threshold
Definition modules_comp.h:46
float mute
Definition modules_comp.h:45
void set_sample_rate(uint32_t sr)
Definition modules_comp.cpp:165
bool redraw_graph
Definition modules_comp.h:47
float kneeStop
Definition modules_comp.h:43
float detected
Definition modules_comp.h:43
float knee
Definition modules_comp.h:45
float makeup
Definition modules_comp.h:45
float get_output_level()
Definition modules_comp.cpp:198
void deactivate()
Definition modules_comp.cpp:82
void process(float &left, float &right, const float *det_left=NULL, const float *det_right=NULL)
Definition modules_comp.cpp:100
gain_reduction_audio_module()
Definition modules_comp.cpp:46
float ratio
Definition modules_comp.h:45
uint32_t srate
Definition modules_comp.h:48
bool _get_graph(int subindex, float *data, int points, cairo_iface *context, int *mode) const
Definition modules_comp.cpp:207
float meter_comp
Definition modules_comp.h:45
float kneeStart
Definition modules_comp.h:43
float bypass
Definition modules_comp.h:45
float attack
Definition modules_comp.h:45
bool _get_dot(int subindex, float &x, float &y, int &size, cairo_iface *context) const
Definition modules_comp.cpp:236
float detection
Definition modules_comp.h:45
float linSlope
Definition modules_comp.h:43
void update_curve()
Definition modules_comp.cpp:87
float output_gain(float linSlope, bool rms) const
Definition modules_comp.cpp:139
float old_knee
Definition modules_comp.h:46
float meter_out
Definition modules_comp.h:45
float adjKneeStart
Definition modules_comp.h:44
float old_detection
Definition modules_comp.h:46
void set_params(float att, float rel, float thr, float rat, float kn, float mak, float det, float stl, float byp, float mu)
Definition modules_comp.cpp:169
float compressedKneeStop
Definition modules_comp.h:44
float old_ratio
Definition modules_comp.h:46
float output_level(float slope) const
Definition modules_comp.cpp:135
float threshold
Definition modules_comp.h:45
float thres
Definition modules_comp.h:44
float linKneeStart
Definition modules_comp.h:43
float get_comp_level()
Definition modules_comp.cpp:202
bool _get_layers(int index, int generation, unsigned int &layers) const
Definition modules_comp.cpp:269
int id
Definition modules_comp.h:59
bool _get_gridline(int subindex, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
Definition modules_comp.cpp:248
float old_mute
Definition modules_comp.h:46
float release
Definition modules_comp.h:45
bool is_active
Definition modules_comp.h:49
float stereo_link
Definition modules_comp.h:45
bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const
Definition modules_comp.cpp:1870
bool is_active
Definition modules_comp.h:312
bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
Definition modules_comp.cpp:1875
vumeters meters
Definition modules_comp.h:308
void params_changed()
Called when params are changed (before processing).
Definition modules_comp.cpp:1800
gate_audio_module AM
Definition modules_comp.h:305
bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const
Definition modules_comp.cpp:1865
void activate()
LADSPA-esque activate function, except it is called after ports are connected, not before.
Definition modules_comp.cpp:1787
gate_audio_module()
Definition modules_comp.cpp:1781
std::complex< double > cfloat
Definition modules_comp.h:310
uint32_t srate
Definition modules_comp.h:311
dsp::bypass bypass
Definition modules_comp.h:307
bool get_layers(int index, int generation, unsigned int &layers) const
Definition modules_comp.cpp:1880
void set_sample_rate(uint32_t sr)
Set sample rate for the plugin.
Definition modules_comp.cpp:1805
uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask)
The audio processing loop; assumes numsamples <= MAX_SAMPLE_RUN, for larger buffers,...
Definition modules_comp.cpp:1814
void deactivate()
LADSPA-esque deactivate function.
Definition modules_comp.cpp:1794
expander_audio_module gate
Definition modules_comp.h:306
vumeters meters
Definition modules_comp.h:248
bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const
Definition modules_comp.cpp:1576
monocompressor_audio_module AM
Definition modules_comp.h:246
void deactivate()
LADSPA-esque deactivate function.
Definition modules_comp.cpp:1498
monocompressor_audio_module()
Definition modules_comp.cpp:1485
bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const
Definition modules_comp.cpp:1581
void set_sample_rate(uint32_t sr)
Set sample rate for the plugin.
Definition modules_comp.cpp:1509
std::complex< double > cfloat
Definition modules_comp.h:251
bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
Definition modules_comp.cpp:1586
void activate()
LADSPA-esque activate function, except it is called after ports are connected, not before.
Definition modules_comp.cpp:1491
bool is_active
Definition modules_comp.h:253
bool get_layers(int index, int generation, unsigned int &layers) const
Definition modules_comp.cpp:1591
uint32_t srate
Definition modules_comp.h:252
dsp::bypass bypass
Definition modules_comp.h:249
uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask)
The audio processing loop; assumes numsamples <= MAX_SAMPLE_RUN, for larger buffers,...
Definition modules_comp.cpp:1518
void params_changed()
Called when params are changed (before processing).
Definition modules_comp.cpp:1504
gain_reduction2_audio_module monocompressor
Definition modules_comp.h:247
const gain_reduction_audio_module * get_strip_by_param_index(int index) const
Definition modules_comp.cpp:1402
void deactivate()
LADSPA-esque deactivate function.
Definition modules_comp.cpp:1261
gain_reduction_audio_module strip[strips]
Definition modules_comp.h:218
int redraw
Definition modules_comp.h:222
uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask)
The audio processing loop; assumes numsamples <= MAX_SAMPLE_RUN, for larger buffers,...
Definition modules_comp.cpp:1330
void params_changed()
Called when params are changed (before processing).
Definition modules_comp.cpp:1270
virtual bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const
Definition modules_comp.cpp:1447
int page
Definition modules_comp.h:221
virtual bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const
Definition modules_comp.cpp:1418
multibandcompressor_audio_module()
Definition modules_comp.cpp:1238
int mode
Definition modules_comp.h:221
virtual bool get_layers(int index, int generation, unsigned int &layers) const
Definition modules_comp.cpp:1464
bool no_solo
Definition modules_comp.h:217
virtual bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
Definition modules_comp.cpp:1455
static const int strips
Definition modules_comp.h:214
multibandcompressor_audio_module AM
Definition modules_comp.h:213
uint32_t srate
Definition modules_comp.h:225
dsp::bypass bypass
Definition modules_comp.h:220
bool is_active
Definition modules_comp.h:226
int bypass_
Definition modules_comp.h:221
vumeters meters
Definition modules_comp.h:223
bool solo[strips]
Definition modules_comp.h:215
void set_sample_rate(uint32_t sr)
Set sample rate for the plugin.
Definition modules_comp.cpp:1312
dsp::crossover crossover
Definition modules_comp.h:219
float xin[2]
Definition modules_comp.h:216
void activate()
LADSPA-esque activate function, except it is called after ports are connected, not before.
Definition modules_comp.cpp:1249
const expander_audio_module * get_strip_by_param_index(int index) const
Definition modules_comp.cpp:2414
virtual bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const
Definition modules_comp.cpp:2430
virtual bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const
Definition modules_comp.cpp:2458
int page
Definition modules_comp.h:387
void params_changed()
Called when params are changed (before processing).
Definition modules_comp.cpp:2284
virtual bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
Definition modules_comp.cpp:2466
bool solo[strips]
Definition modules_comp.h:381
multibandgate_audio_module()
Definition modules_comp.cpp:2252
multibandgate_audio_module AM
Definition modules_comp.h:379
uint32_t srate
Definition modules_comp.h:391
bool get_layers(int index, int generation, unsigned int &layers) const
Definition modules_comp.cpp:2475
bool is_active
Definition modules_comp.h:392
void set_sample_rate(uint32_t sr)
Set sample rate for the plugin.
Definition modules_comp.cpp:2325
void activate()
LADSPA-esque activate function, except it is called after ports are connected, not before.
Definition modules_comp.cpp:2263
dsp::bypass bypass
Definition modules_comp.h:386
int redraw
Definition modules_comp.h:388
int mode
Definition modules_comp.h:387
bool no_solo
Definition modules_comp.h:383
int bypass_
Definition modules_comp.h:387
dsp::crossover crossover
Definition modules_comp.h:385
expander_audio_module gate[strips]
Definition modules_comp.h:384
void deactivate()
LADSPA-esque deactivate function.
Definition modules_comp.cpp:2275
float xin[2]
Definition modules_comp.h:382
uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask)
The audio processing loop; assumes numsamples <= MAX_SAMPLE_RUN, for larger buffers,...
Definition modules_comp.cpp:2343
vumeters meters
Definition modules_comp.h:389
static const int strips
Definition modules_comp.h:380
float f2_freq_old1
Definition modules_comp.h:180
void params_changed()
Called when params are changed (before processing).
Definition modules_comp.cpp:929
uint32_t srate
Definition modules_comp.h:191
sidechaincompressor_audio_module AM
Definition modules_comp.h:166
void set_sample_rate(uint32_t sr)
Set sample rate for the plugin.
Definition modules_comp.cpp:1050
uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask)
The audio processing loop; assumes numsamples <= MAX_SAMPLE_RUN, for larger buffers,...
Definition modules_comp.cpp:1059
float f1_active
Definition modules_comp.h:184
CalfScModes sc_mode
Definition modules_comp.h:181
sidechaincompressor_audio_module()
Definition modules_comp.cpp:866
void activate()
LADSPA-esque activate function, except it is called after ports are connected, not before.
Definition modules_comp.cpp:882
float f1_level_old
Definition modules_comp.h:179
bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
Definition modules_comp.cpp:1212
vumeters meters
Definition modules_comp.h:188
float f2_active
Definition modules_comp.h:184
gain_reduction_audio_module compressor
Definition modules_comp.h:185
float f2_level_old
Definition modules_comp.h:179
std::complex< double > cfloat
Definition modules_comp.h:190
dsp::biquad_d2 f1L
Definition modules_comp.h:186
void deactivate()
LADSPA-esque deactivate function.
Definition modules_comp.cpp:889
bool get_layers(int index, int generation, unsigned int &layers) const
Definition modules_comp.cpp:1224
float f1_level_old1
Definition modules_comp.h:180
CalfScModes sc_mode_old1
Definition modules_comp.h:182
float f1_freq_old1
Definition modules_comp.h:180
bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const
Definition modules_comp.cpp:1190
bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const
Definition modules_comp.cpp:1202
dsp::biquad_d2 f1R
Definition modules_comp.h:186
dsp::biquad_d2 f2L
Definition modules_comp.h:186
CalfScModes
Definition modules_comp.h:167
@ DEESSER_SPLIT
Definition modules_comp.h:170
@ BANDPASS_2
Definition modules_comp.h:177
@ DEESSER_WIDE
Definition modules_comp.h:169
@ BANDPASS_1
Definition modules_comp.h:176
@ DERUMBLER_WIDE
Definition modules_comp.h:171
@ WEIGHTED_1
Definition modules_comp.h:173
@ DERUMBLER_SPLIT
Definition modules_comp.h:172
@ WEIGHTED_3
Definition modules_comp.h:175
@ WEIGHTED_2
Definition modules_comp.h:174
@ WIDEBAND
Definition modules_comp.h:168
bool redraw_graph
Definition modules_comp.h:183
dsp::bypass bypass
Definition modules_comp.h:187
float f1_freq_old
Definition modules_comp.h:179
bool is_active
Definition modules_comp.h:192
dsp::biquad_d2 f2R
Definition modules_comp.h:186
float f2_level_old1
Definition modules_comp.h:180
float f2_freq_old
Definition modules_comp.h:179
cfloat h_z(const cfloat &z) const
Definition modules_comp.cpp:895
float freq_gain(int index, double freq) const
Definition modules_comp.cpp:920
CalfScModes
Definition modules_comp.h:332
@ WEIGHTED_3
Definition modules_comp.h:340
@ WEIGHTED_1
Definition modules_comp.h:338
@ LOWGATE_SPLIT
Definition modules_comp.h:337
@ LOWGATE_WIDE
Definition modules_comp.h:336
@ HIGHGATE_WIDE
Definition modules_comp.h:334
@ WEIGHTED_2
Definition modules_comp.h:339
@ BANDPASS_2
Definition modules_comp.h:342
@ HIGHGATE_SPLIT
Definition modules_comp.h:335
@ BANDPASS_1
Definition modules_comp.h:341
@ WIDEBAND
Definition modules_comp.h:333
CalfScModes sc_mode_old
Definition modules_comp.h:347
void set_sample_rate(uint32_t sr)
Set sample rate for the plugin.
Definition modules_comp.cpp:2067
sidechaingate_audio_module()
Definition modules_comp.cpp:1889
void params_changed()
Called when params are changed (before processing).
Definition modules_comp.cpp:1946
sidechaingate_audio_module AM
Definition modules_comp.h:331
void activate()
LADSPA-esque activate function, except it is called after ports are connected, not before.
Definition modules_comp.cpp:1899
float f1_level_old1
Definition modules_comp.h:345
bool get_layers(int index, int generation, unsigned int &layers) const
Definition modules_comp.cpp:2237
float freq_gain(int index, double freq) const
Definition modules_comp.cpp:1937
float f2_level_old1
Definition modules_comp.h:345
vumeters meters
Definition modules_comp.h:353
float f1_freq_old1
Definition modules_comp.h:345
bool get_dot(int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const
Definition modules_comp.cpp:2216
float f2_freq_old
Definition modules_comp.h:344
dsp::biquad_d2 f1L
Definition modules_comp.h:351
CalfScModes sc_mode_old1
Definition modules_comp.h:347
float f2_level_old
Definition modules_comp.h:344
dsp::bypass bypass
Definition modules_comp.h:352
CalfScModes sc_mode
Definition modules_comp.h:346
expander_audio_module gate
Definition modules_comp.h:350
uint32_t srate
Definition modules_comp.h:356
float f1_freq_old
Definition modules_comp.h:344
dsp::biquad_d2 f2R
Definition modules_comp.h:351
std::complex< double > cfloat
Definition modules_comp.h:355
bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
Definition modules_comp.cpp:2226
bool redraw_graph
Definition modules_comp.h:348
dsp::biquad_d2 f2L
Definition modules_comp.h:351
float f2_active
Definition modules_comp.h:349
float f1_active
Definition modules_comp.h:349
void deactivate()
LADSPA-esque deactivate function.
Definition modules_comp.cpp:1906
bool is_active
Definition modules_comp.h:357
uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask)
The audio processing loop; assumes numsamples <= MAX_SAMPLE_RUN, for larger buffers,...
Definition modules_comp.cpp:2076
cfloat h_z(const cfloat &z) const
Definition modules_comp.cpp:1912
float f2_freq_old1
Definition modules_comp.h:345
float f1_level_old
Definition modules_comp.h:344
bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const
Definition modules_comp.cpp:2204
dsp::biquad_d2 f1R
Definition modules_comp.h:351
dsp::biquad_d2 hp[3]
Definition modules_comp.h:421
bool get_layers(int index, int generation, unsigned int &layers) const
Definition modules_comp.cpp:2799
bool pbuffer_available
Definition modules_comp.h:430
bool active
Definition modules_comp.h:416
bool get_graph(int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const
Definition modules_comp.cpp:2698
transientdesigner_audio_module()
Definition modules_comp.cpp:2497
float hp_f_old
Definition modules_comp.h:422
bool redraw
Definition modules_comp.h:417
float lp_f_old
Definition modules_comp.h:422
uint32_t process(uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask)
The audio processing loop; assumes numsamples <= MAX_SAMPLE_RUN, for larger buffers,...
Definition modules_comp.cpp:2561
dsp::bypass bypass
Definition modules_comp.h:420
static const int channels
Definition modules_comp.h:414
void activate()
LADSPA-esque activate function, except it is called after ports are connected, not before.
Definition modules_comp.cpp:2518
int pbuffer_size
Definition modules_comp.h:427
void deactivate()
LADSPA-esque deactivate function.
Definition modules_comp.cpp:2522
float display_max
Definition modules_comp.h:434
float hp_m_old
Definition modules_comp.h:422
vumeters meters
Definition modules_comp.h:435
int display_old
Definition modules_comp.h:423
void set_sample_rate(uint32_t sr)
Set sample rate for the plugin.
Definition modules_comp.cpp:2689
uint32_t attcount
Definition modules_comp.h:432
uint32_t srate
Definition modules_comp.h:415
float meter_outL
Definition modules_comp.h:418
float * pbuffer
Definition modules_comp.h:425
int pbuffer_pos
Definition modules_comp.h:426
transientdesigner_audio_module AM
Definition modules_comp.h:413
int attack_pos
Definition modules_comp.h:433
float meter_outR
Definition modules_comp.h:418
int pixels
Definition modules_comp.h:424
void params_changed()
Called when params are changed (before processing).
Definition modules_comp.cpp:2526
dsp::biquad_d2 lp[3]
Definition modules_comp.h:421
float meter_inR
Definition modules_comp.h:418
bool attacked
Definition modules_comp.h:431
int pbuffer_draw
Definition modules_comp.h:429
~transientdesigner_audio_module()
Definition modules_comp.cpp:2514
float lp_m_old
Definition modules_comp.h:422
float meter_inL
Definition modules_comp.h:418
dsp::transients transients
Definition modules_comp.h:419
int pbuffer_sample
Definition modules_comp.h:428
bool get_gridline(int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
Definition modules_comp.cpp:2780
Definition plugin_tools.h:32
Definition bypass.h:9
Definition audio_fx.h:634
Definition audio_fx.h:609
unsigned z
Definition inflate.c:1589
int y
Definition inflate.c:1588
unsigned x[BMAX+1]
Definition inflate.c:1586
struct @113205115357366127300225113341150224053346037032::@137033172036070230260373056156374243321245367362 left
struct @113205115357366127300225113341150224053346037032::@137033172036070230260373056156374243321245367362 right
JHUFF_TBL long freq[]
Definition jchuff.h:50
JSAMPIMAGE data
Definition jpeglib.h:945
unsigned int uint32_t
Definition mid.cpp:100
Definition benchmark.cpp:53
png_structrp int mode
Definition png.h:1139
Definition giface.h:160
'provides live line graph values' interface
Definition giface.h:198
Definition biquad.h:430
Definition globals.h:33
ulg size
Definition extract.c:2350