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

#include <modules_limit.h>

Inheritance diagram for calf_plugins::multibandlimiter_audio_module:
calf_plugins::audio_module< multibandlimiter_metadata > calf_plugins::frequency_response_line_graph calf_plugins::multibandlimiter_metadata calf_plugins::audio_module_iface calf_plugins::line_graph_iface calf_plugins::plugin_metadata< multibandlimiter_metadata > calf_plugins::plugin_metadata_iface

Public Member Functions

 multibandlimiter_audio_module ()
 ~multibandlimiter_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).
void set_srates ()
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.
void set_sample_rate (uint32_t sr)
 Set sample rate for the plugin.
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
Public Member Functions inherited from calf_plugins::audio_module< multibandlimiter_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 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 float freq_gain (int index, double freq) 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.

Public Attributes

uint32_t srate
bool is_active
Public Attributes inherited from calf_plugins::audio_module< multibandlimiter_metadata >
float * ins [(multibandlimiter_metadata::in_count !=0) ? multibandlimiter_metadata::in_count :1]
float * outs [(multibandlimiter_metadata::out_count !=0) ? multibandlimiter_metadata::out_count :1]
float * params [multibandlimiter_metadata::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

typedef multibandlimiter_audio_module AM

Private Attributes

uint32_t asc_led
uint32_t cnt
int _mode
bool solo [strips]
bool no_solo
dsp::lookahead_limiter strip [strips]
dsp::lookahead_limiter broadband
dsp::resampleN resampler [strips][2]
dsp::crossover crossover
dsp::bypass bypass
float over
unsigned int pos
unsigned int buffer_size
unsigned int overall_buffer_size
float * buffer
int channels
float weight [strips]
float weight_old [strips]
float limit_old
bool asc_old
float attack_old
float oversampling_old
bool _sanitize
vumeters meters

Static Private Attributes

static const int strips = 4

Additional Inherited Members

Public Types inherited from calf_plugins::audio_module< multibandlimiter_metadata >
typedef multibandlimiter_metadata metadata_type

Member Typedef Documentation

◆ AM

Constructor & Destructor Documentation

◆ multibandlimiter_audio_module()

multibandlimiter_audio_module::multibandlimiter_audio_module ( )

◆ ~multibandlimiter_audio_module()

multibandlimiter_audio_module::~multibandlimiter_audio_module ( )

Member Function Documentation

◆ activate()

void multibandlimiter_audio_module::activate ( )
virtual

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

Reimplemented from calf_plugins::audio_module< multibandlimiter_metadata >.

◆ deactivate()

void multibandlimiter_audio_module::deactivate ( )
virtual

LADSPA-esque deactivate function.

Reimplemented from calf_plugins::audio_module< multibandlimiter_metadata >.

◆ get_graph()

bool multibandlimiter_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_layers()

bool multibandlimiter_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()

void multibandlimiter_audio_module::params_changed ( )
virtual

Called when params are changed (before processing).

Reimplemented from calf_plugins::audio_module< multibandlimiter_metadata >.

◆ process()

uint32_t multibandlimiter_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.

◆ set_sample_rate()

void multibandlimiter_audio_module::set_sample_rate ( uint32_t sr)
virtual

Set sample rate for the plugin.

Reimplemented from calf_plugins::audio_module< multibandlimiter_metadata >.

◆ set_srates()

void multibandlimiter_audio_module::set_srates ( )

Member Data Documentation

◆ _mode

int calf_plugins::multibandlimiter_audio_module::_mode
private

◆ _sanitize

bool calf_plugins::multibandlimiter_audio_module::_sanitize
private

◆ asc_led

uint32_t calf_plugins::multibandlimiter_audio_module::asc_led
private

◆ asc_old

bool calf_plugins::multibandlimiter_audio_module::asc_old
private

◆ attack_old

float calf_plugins::multibandlimiter_audio_module::attack_old
private

◆ broadband

dsp::lookahead_limiter calf_plugins::multibandlimiter_audio_module::broadband
private

◆ buffer

float* calf_plugins::multibandlimiter_audio_module::buffer
private

◆ buffer_size

unsigned int calf_plugins::multibandlimiter_audio_module::buffer_size
private

◆ bypass

dsp::bypass calf_plugins::multibandlimiter_audio_module::bypass
private

◆ channels

int calf_plugins::multibandlimiter_audio_module::channels
private

◆ cnt

uint32_t calf_plugins::multibandlimiter_audio_module::cnt
private

◆ crossover

dsp::crossover calf_plugins::multibandlimiter_audio_module::crossover
private

◆ is_active

bool calf_plugins::multibandlimiter_audio_module::is_active

◆ limit_old

float calf_plugins::multibandlimiter_audio_module::limit_old
private

◆ meters

vumeters calf_plugins::multibandlimiter_audio_module::meters
private

◆ no_solo

bool calf_plugins::multibandlimiter_audio_module::no_solo
private

◆ over

float calf_plugins::multibandlimiter_audio_module::over
private

◆ overall_buffer_size

unsigned int calf_plugins::multibandlimiter_audio_module::overall_buffer_size
private

◆ oversampling_old

float calf_plugins::multibandlimiter_audio_module::oversampling_old
private

◆ pos

unsigned int calf_plugins::multibandlimiter_audio_module::pos
private

◆ resampler

dsp::resampleN calf_plugins::multibandlimiter_audio_module::resampler[strips][2]
private

◆ solo

bool calf_plugins::multibandlimiter_audio_module::solo[strips]
private

◆ srate

uint32_t calf_plugins::multibandlimiter_audio_module::srate

◆ strip

dsp::lookahead_limiter calf_plugins::multibandlimiter_audio_module::strip[strips]
private

◆ strips

const int calf_plugins::multibandlimiter_audio_module::strips = 4
staticprivate

◆ weight

float calf_plugins::multibandlimiter_audio_module::weight[strips]
private

◆ weight_old

float calf_plugins::multibandlimiter_audio_module::weight_old[strips]
private

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