LMMS
Loading...
Searching...
No Matches
calf_plugins::filter_audio_module Class Reference

#include <modules_filter.h>

Inheritance diagram for calf_plugins::filter_audio_module:
calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filter_metadata > calf_plugins::audio_module< filter_metadata > dsp::biquad_filter_module calf_plugins::frequency_response_line_graph calf_plugins::filter_metadata calf_plugins::audio_module_iface dsp::filter_module_iface calf_plugins::line_graph_iface calf_plugins::plugin_metadata< filter_metadata > calf_plugins::plugin_metadata_iface

Public Member Functions

 filter_audio_module ()
void params_changed ()
 Called when params are changed (before processing).
Public Member Functions inherited from calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filter_metadata >
 filter_module_with_inertia ()
void calculate_filter ()
void on_timer ()
void activate ()
 LADSPA-esque activate function, except it is called after ports are connected, not before.
void set_sample_rate (uint32_t sr)
 Set sample rate for the plugin.
void deactivate ()
 LADSPA-esque deactivate function.
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, call process_slice.
float freq_gain (int index, double freq) const
Public Member Functions inherited from calf_plugins::audio_module< filter_metadata >
 audio_module ()
void note_on (int channel, int note, int velocity)
 Handle MIDI Note On.
void note_off (int channel, int note, int velocity)
 Handle MIDI Note Off.
void program_change (int channel, int program)
 Handle MIDI Program Change.
void control_change (int channel, int controller, int value)
 Handle MIDI Control Change.
void pitch_bend (int channel, int value)
void channel_pressure (int channel, int value)
void execute (int cmd_no)
 Execute menu command with given number.
virtual char * configure (const char *key, const char *value)
 DSSI configure call.
void send_configures (send_configure_iface *sci)
 Send all understood configure vars (none by default).
int send_status_updates (send_updates_iface *sui, int last_serial)
 Send all supported status vars (none by default).
void params_reset ()
 Reset parameter values for epp:trigger type parameters (ones activated by oneshot push button instead of check box).
void post_instantiate (uint32_t)
 Called after instantiating (after all the feature pointers are set - including interfaces like progress_report_iface).
uint32_t message_run (const void *valid_ports, void *output_ports)
virtual void get_port_arrays (float **&ins_ptrs, float **&outs_ptrs, float **&params_ptrs)
 Return the array of input port pointers.
virtual const plugin_metadata_ifaceget_metadata_iface () const
 Return metadata object.
virtual void set_progress_report_iface (progress_report_iface *iface)
 Set the progress report interface to communicate progress to.
void zero_by_mask (uint32_t mask, uint32_t offset, uint32_t nsamples)
 utility function: zero port values if mask is 0
uint32_t process_slice (uint32_t offset, uint32_t end)
 utility function: call process, and if it returned zeros in output masks, zero out the relevant output port buffers
virtual const line_graph_ifaceget_line_graph_iface () const
virtual const phase_graph_ifaceget_phase_graph_iface () const
Public Member Functions inherited from calf_plugins::audio_module_iface
virtual ~audio_module_iface ()
Public Member Functions inherited from dsp::biquad_filter_module
 biquad_filter_module ()
void calculate_filter (float freq, float q, int mode, float gain=1.0)
 Calculate filter coefficients based on parameters - cutoff/center frequency, q, filter type, output gain.
void filter_activate ()
 Reset filter state.
void sanitize ()
 Remove denormals.
int process_channel (uint16_t channel_no, const float *in, float *out, uint32_t numsamples, int inmask, float lvl_in=1., float lvl_out=1.)
 Process a single channel (float buffer) of data.
float freq_gain (int subindex, float freq, float srate) const
 Determine gain (|H(z)|) for a given frequency.
Public Member Functions inherited from dsp::filter_module_iface
virtual ~filter_module_iface ()
Public Member Functions inherited from calf_plugins::frequency_response_line_graph
virtual bool get_gridline (int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
virtual bool get_graph (int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const
virtual bool get_layers (int index, int generation, unsigned int &layers) const
virtual std::string get_crosshair_label (int x, int y, int sx, int sy, float q, int dB, int name, int note, int cents) const
Public Member Functions inherited from calf_plugins::line_graph_iface
virtual bool get_moving (int index, int subindex, int &direction, float *data, int x, int y, int &offset, uint32_t &color) const
virtual bool get_dot (int index, int subindex, int phase, float &x, float &y, int &size, cairo_iface *context) const
virtual ~line_graph_iface ()
 Standard destructor to make compiler happy.

Private Attributes

float old_cutoff
float old_resonance
float old_mode

Additional Inherited Members

Public Types inherited from calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filter_metadata >
typedef filter_module_with_inertia inertia_filter_module
 These are pointers to the ins, outs, params arrays in the main class.
Public Types inherited from calf_plugins::audio_module< filter_metadata >
typedef filter_metadata metadata_type
Public Types inherited from dsp::biquad_filter_module
enum  {
  mode_12db_lp = 0 , mode_24db_lp = 1 , mode_36db_lp = 2 , mode_12db_hp = 3 ,
  mode_24db_hp = 4 , mode_36db_hp = 5 , mode_6db_bp = 6 , mode_12db_bp = 7 ,
  mode_18db_bp = 8 , mode_6db_br = 9 , mode_12db_br = 10 , mode_18db_br = 11 ,
  mode_allpass = 12 , mode_count
}
Public Attributes inherited from calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filter_metadata >
dsp::inertia< dsp::exponential_rampinertia_cutoff
dsp::inertia< dsp::exponential_rampinertia_resonance
dsp::inertia< dsp::exponential_rampinertia_gain
dsp::once_per_n timer
bool is_active
volatile int last_generation
volatile int last_calculated_generation
dsp::bypass bypass
vumeters meters
Public Attributes inherited from calf_plugins::audio_module< filter_metadata >
float * ins [(filter_metadata::in_count !=0) ? filter_metadata::in_count :1]
float * outs [(filter_metadata::out_count !=0) ? filter_metadata::out_count :1]
float * params [filter_metadata::param_count]
bool questionable_data_reported_in
bool questionable_data_reported_out
progress_report_ifaceprogress_report
Public Attributes inherited from dsp::biquad_filter_module
uint32_t srate
Public Attributes inherited from calf_plugins::frequency_response_line_graph
bool redraw_graph

Constructor & Destructor Documentation

◆ filter_audio_module()

calf_plugins::filter_audio_module::filter_audio_module ( )
inline

Member Function Documentation

◆ params_changed()

void calf_plugins::filter_audio_module::params_changed ( )
inlinevirtual

Called when params are changed (before processing).

Reimplemented from calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filter_metadata >.

Member Data Documentation

◆ old_cutoff

float calf_plugins::filter_audio_module::old_cutoff
mutableprivate

◆ old_mode

float calf_plugins::filter_audio_module::old_mode
private

◆ old_resonance

float calf_plugins::filter_audio_module::old_resonance
private

The documentation for this class was generated from the following file: