LMMS
Loading...
Searching...
No Matches
calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp > Class Template Reference

#include <modules_filter.h>

Inheritance diagram for calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >:
calf_plugins::audio_module< BaseClass > calf_plugins::frequency_response_line_graph calf_plugins::audio_module_iface calf_plugins::line_graph_iface

Public Types

typedef audio_module< BaseClass > AM
typedef std::complex< double > cfloat
Public Types inherited from calf_plugins::audio_module< BaseClass >
typedef BaseClass metadata_type

Public Member Functions

 equalizerNband_audio_module ()
void activate ()
 LADSPA-esque activate function, except it is called after ports are connected, not before.
void deactivate ()
 LADSPA-esque deactivate function.
void params_changed ()
 Called when params are changed (before processing).
bool get_gridline (int index, int subindex, int phase, float &pos, bool &vertical, std::string &legend, cairo_iface *context) const
bool get_graph (int index, int subindex, int phase, float *data, int points, cairo_iface *context, int *mode) const
bool get_layers (int index, int generation, unsigned int &layers) const
float freq_gain (int index, double freq) const
std::string get_crosshair_label (int x, int y, int sx, int sy, float q, int dB, int name, int note, int cents) const
void set_sample_rate (uint32_t sr)
 Set sample rate for the plugin.
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.
Public Member Functions inherited from calf_plugins::audio_module< BaseClass >
 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 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.

Public Attributes

uint32_t srate
bool is_active
volatile int last_generation
volatile int last_calculated_generation
float * ins [(BaseClass::in_count !=0) ? BaseClass::in_count :1]
float * outs [(BaseClass::out_count !=0) ? BaseClass::out_count :1]
float * params [BaseClass::param_count]
Public Attributes inherited from calf_plugins::audio_module< BaseClass >
float * ins [(BaseClass::in_count !=0) ? BaseClass::in_count :1]
float * outs [(BaseClass::out_count !=0) ? BaseClass::out_count :1]
float * params [BaseClass::param_count]
bool questionable_data_reported_in
bool questionable_data_reported_out
progress_report_ifaceprogress_report
Public Attributes inherited from calf_plugins::frequency_response_line_graph
bool redraw_graph

Private Types

enum  { graph_param_count = BaseClass::last_graph_param - BaseClass::first_graph_param + 1 , params_per_band = AM::param_p2_active - AM::param_p1_active }

Private Member Functions

void process_hplp (float &left, float &right)

Private Attributes

analyzer _analyzer
float hp_mode_old
float hp_freq_old
float hp_q_old
float lp_mode_old
float lp_freq_old
float lp_q_old
float ls_level_old
float ls_freq_old
float ls_q_old
float hs_level_old
float hs_freq_old
float hs_q_old
int indiv_old
bool analyzer_old
float p_level_old [PeakBands]
float p_freq_old [PeakBands]
float p_q_old [PeakBands]
float old_params_for_graph [graph_param_count]
vumeters meters
CalfEqMode hp_mode
CalfEqMode lp_mode
dsp::biquad_d2 hp [3][2]
dsp::biquad_d2 lp [3][2]
dsp::biquad_d2 lsL
dsp::biquad_d2 lsR
dsp::biquad_d2 hsL
dsp::biquad_d2 hsR
dsp::biquad_d2 pL [PeakBands]
dsp::biquad_d2 pR [PeakBands]
dsp::bypass bypass
int keep_gliding
int last_peak

Member Typedef Documentation

◆ AM

template<class BaseClass, bool has_lphp>
typedef audio_module<BaseClass> calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::AM

◆ cfloat

template<class BaseClass, bool has_lphp>
typedef std::complex<double> calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::cfloat

Member Enumeration Documentation

◆ anonymous enum

template<class BaseClass, bool has_lphp>
anonymous enum
private
Enumerator
graph_param_count 
params_per_band 

Constructor & Destructor Documentation

◆ equalizerNband_audio_module()

template<class BaseClass, bool has_lphp>
equalizerNband_audio_module::equalizerNband_audio_module ( )

Member Function Documentation

◆ activate()

template<class BaseClass, bool has_lphp>
void equalizerNband_audio_module::activate ( )
virtual

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

Reimplemented from calf_plugins::audio_module< BaseClass >.

◆ deactivate()

template<class BaseClass, bool has_lphp>
void equalizerNband_audio_module::deactivate ( )
virtual

LADSPA-esque deactivate function.

Reimplemented from calf_plugins::audio_module< BaseClass >.

◆ freq_gain()

template<class BaseClass, bool has_lphp>
float equalizerNband_audio_module::freq_gain ( int index,
double freq ) const
virtual

◆ get_crosshair_label()

template<class BaseClass, bool has_lphp>
std::string equalizerNband_audio_module::get_crosshair_label ( int x,
int y,
int sx,
int sy,
float q,
int dB,
int name,
int note,
int cents ) const
inlinevirtual

Return a label for the crosshairs they are enabled

Parameters
xPosition of the mouse pointer in x direction
yPosition of the mouse pointer in y direction
sxHorizontal size of the widget in pixels
syVertical size of the widget in pixels

Reimplemented from calf_plugins::frequency_response_line_graph.

◆ get_graph()

template<class BaseClass, bool has_lphp>
bool equalizerNband_audio_module::get_graph ( int index,
int subindex,
int phase,
float * data,
int points,
cairo_iface * context,
int * mode ) const
virtual

Obtain subindex'th graph of parameter 'index'

Parameters
indexparameter/graph number (usually tied to particular plugin control port)
subindexgraph number (there may be multiple overlaid graphs for one parameter, eg. for monosynth 2x12dB filters)
phase0 if in cache phase or 1 if in realtime phase
databuffer for normalized output values
pointsnumber of points to fill
contextcairo context to adjust (for multicolour graphs etc.)
Return values
truegraph data was returned; subindex+1 graph may or may not be available
falsegraph data was not returned; subindex+1 graph does not exist either

Reimplemented from calf_plugins::frequency_response_line_graph.

◆ get_gridline()

template<class BaseClass, bool has_lphp>
bool equalizerNband_audio_module::get_gridline ( int index,
int subindex,
int phase,
float & pos,
bool & vertical,
std::string & legend,
cairo_iface * context ) const
virtual

Obtain subindex'th dot of parameter 'index'

Parameters
indexparameter/dot number (usually tied to particular plugin control port)
subindexdot number (there may be multiple dots graphs for one parameter)
phase0 if in cache phase or 1 if in realtime phase

Reimplemented from calf_plugins::frequency_response_line_graph.

◆ get_layers()

template<class BaseClass, bool has_lphp>
bool equalizerNband_audio_module::get_layers ( int index,
int generation,
unsigned int & layers ) const
virtual

Return which layers need to be redrawn in the next GTK drawing cycle

Parameters
indexParameter/graph identifier (usually tied to particular plugin control port)
generationThe overall amount of drawing cycles since the last full refresh of all surfaces
layersBitmask defining the layers to be redrawn (see layers_flags above)
Return values
truethere's at least one layer to be redrawn; false nothing to draw in this cycle

Reimplemented from calf_plugins::frequency_response_line_graph.

◆ params_changed()

template<class BaseClass, bool has_lphp>
void equalizerNband_audio_module::params_changed ( )
virtual

Called when params are changed (before processing).

Reimplemented from calf_plugins::audio_module< BaseClass >.

◆ process()

template<class BaseClass, bool has_lphp>
uint32_t equalizerNband_audio_module::process ( uint32_t offset,
uint32_t numsamples,
uint32_t inputs_mask,
uint32_t outputs_mask )
virtual

The audio processing loop; assumes numsamples <= MAX_SAMPLE_RUN, for larger buffers, call process_slice.

Implements calf_plugins::audio_module_iface.

◆ process_hplp()

template<class BaseClass, bool has_lphp>
void equalizerNband_audio_module::process_hplp ( float & left,
float & right )
inlineprivate

◆ set_sample_rate()

template<class BaseClass, bool has_lphp>
void calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::set_sample_rate ( uint32_t sr)
inlinevirtual

Set sample rate for the plugin.

Reimplemented from calf_plugins::audio_module< BaseClass >.

Member Data Documentation

◆ _analyzer

template<class BaseClass, bool has_lphp>
analyzer calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::_analyzer
private

◆ analyzer_old

template<class BaseClass, bool has_lphp>
bool calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::analyzer_old
private

◆ bypass

template<class BaseClass, bool has_lphp>
dsp::bypass calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::bypass
private

◆ hp

template<class BaseClass, bool has_lphp>
dsp::biquad_d2 calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::hp[3][2]
private

◆ hp_freq_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::hp_freq_old
private

◆ hp_mode

template<class BaseClass, bool has_lphp>
CalfEqMode calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::hp_mode
private

◆ hp_mode_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::hp_mode_old
private

◆ hp_q_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::hp_q_old
private

◆ hs_freq_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::hs_freq_old
private

◆ hs_level_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::hs_level_old
private

◆ hs_q_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::hs_q_old
private

◆ hsL

template<class BaseClass, bool has_lphp>
dsp::biquad_d2 calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::hsL
private

◆ hsR

template<class BaseClass, bool has_lphp>
dsp::biquad_d2 calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::hsR
private

◆ indiv_old

template<class BaseClass, bool has_lphp>
int calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::indiv_old
private

◆ ins

template<class BaseClass, bool has_lphp>
float* calf_plugins::audio_module< BaseClass >::ins[(BaseClass::in_count !=0) ? BaseClass::in_count :1]

◆ is_active

template<class BaseClass, bool has_lphp>
bool calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::is_active

◆ keep_gliding

template<class BaseClass, bool has_lphp>
int calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::keep_gliding
private

◆ last_calculated_generation

template<class BaseClass, bool has_lphp>
volatile int calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::last_calculated_generation

◆ last_generation

template<class BaseClass, bool has_lphp>
volatile int calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::last_generation
mutable

◆ last_peak

template<class BaseClass, bool has_lphp>
int calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::last_peak
mutableprivate

◆ lp

template<class BaseClass, bool has_lphp>
dsp::biquad_d2 calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::lp[3][2]
private

◆ lp_freq_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::lp_freq_old
private

◆ lp_mode

template<class BaseClass, bool has_lphp>
CalfEqMode calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::lp_mode
private

◆ lp_mode_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::lp_mode_old
private

◆ lp_q_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::lp_q_old
private

◆ ls_freq_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::ls_freq_old
private

◆ ls_level_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::ls_level_old
private

◆ ls_q_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::ls_q_old
private

◆ lsL

template<class BaseClass, bool has_lphp>
dsp::biquad_d2 calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::lsL
private

◆ lsR

template<class BaseClass, bool has_lphp>
dsp::biquad_d2 calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::lsR
private

◆ meters

template<class BaseClass, bool has_lphp>
vumeters calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::meters
private

◆ old_params_for_graph

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::old_params_for_graph[graph_param_count]
mutableprivate

◆ outs

template<class BaseClass, bool has_lphp>
float* calf_plugins::audio_module< BaseClass >::outs[(BaseClass::out_count !=0) ? BaseClass::out_count :1]

◆ p_freq_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::p_freq_old[PeakBands]
private

◆ p_level_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::p_level_old[PeakBands]
private

◆ p_q_old

template<class BaseClass, bool has_lphp>
float calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::p_q_old[PeakBands]
private

◆ params

template<class BaseClass, bool has_lphp>
float* calf_plugins::audio_module< BaseClass >::params[BaseClass::param_count]

◆ pL

template<class BaseClass, bool has_lphp>
dsp::biquad_d2 calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::pL[PeakBands]
private

◆ pR

template<class BaseClass, bool has_lphp>
dsp::biquad_d2 calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::pR[PeakBands]
private

◆ srate

template<class BaseClass, bool has_lphp>
uint32_t calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >::srate

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