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

#include <modules_filter.h>

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

Public Member Functions

 filterclavier_audio_module ()
void params_changed ()
 Called when params are changed (before processing).
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.
virtual void note_on (int channel, int note, int vel)
 MIDI control.
virtual void note_off (int channel, int note, int vel)
 Handle MIDI Note Off.
Public Member Functions inherited from calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filterclavier_metadata >
 filter_module_with_inertia ()
void calculate_filter ()
void on_timer ()
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< filterclavier_metadata >
 audio_module ()
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 Member Functions

void adjust_gain_according_to_filter_mode (int velocity)

Private Attributes

const float min_gain
const float max_gain
int last_note
int last_velocity

Additional Inherited Members

Public Types inherited from calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filterclavier_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< filterclavier_metadata >
typedef filterclavier_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, filterclavier_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< filterclavier_metadata >
float * ins [(filterclavier_metadata::in_count !=0) ? filterclavier_metadata::in_count :1]
float * outs [(filterclavier_metadata::out_count !=0) ? filterclavier_metadata::out_count :1]
float * params [filterclavier_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

◆ filterclavier_audio_module()

filterclavier_audio_module::filterclavier_audio_module ( )

Member Function Documentation

◆ activate()

void filterclavier_audio_module::activate ( )
virtual

LADSPA-esque activate function, except it is called after ports are connected, not before.

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

◆ adjust_gain_according_to_filter_mode()

void filterclavier_audio_module::adjust_gain_according_to_filter_mode ( int velocity)
private

◆ deactivate()

void filterclavier_audio_module::deactivate ( )
virtual

◆ note_off()

void filterclavier_audio_module::note_off ( int channel,
int note,
int velocity )
virtual

Handle MIDI Note Off.

Reimplemented from calf_plugins::audio_module< filterclavier_metadata >.

◆ note_on()

void filterclavier_audio_module::note_on ( int channel,
int note,
int vel )
virtual

MIDI control.

Reimplemented from calf_plugins::audio_module< filterclavier_metadata >.

◆ params_changed()

void filterclavier_audio_module::params_changed ( )
virtual

Called when params are changed (before processing).

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

◆ set_sample_rate()

void filterclavier_audio_module::set_sample_rate ( uint32_t sr)
virtual

Member Data Documentation

◆ last_note

int calf_plugins::filterclavier_audio_module::last_note
private

◆ last_velocity

int calf_plugins::filterclavier_audio_module::last_velocity
private

◆ max_gain

const float calf_plugins::filterclavier_audio_module::max_gain
private

◆ min_gain

const float calf_plugins::filterclavier_audio_module::min_gain
private

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