LMMS
Loading...
Searching...
No Matches
calf_plugins::audio_module< Metadata > Class Template Reference

Empty implementations for plugin functions. More...

#include <giface.h>

Inheritance diagram for calf_plugins::audio_module< Metadata >:
calf_plugins::audio_module_iface calf_plugins::equalizerNband_audio_module< equalizer5band_metadata, false > calf_plugins::equalizerNband_audio_module< equalizer8band_metadata, true > calf_plugins::equalizerNband_audio_module< equalizer12band_metadata, true > calf_plugins::xover_audio_module< xover2_metadata > calf_plugins::xover_audio_module< xover3_metadata > calf_plugins::xover_audio_module< xover4_metadata > calf_plugins::filter_module_with_inertia< FilterClass, Metadata >

Public Types

typedef Metadata metadata_type

Public Member Functions

 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 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 deactivate ()
 LADSPA-esque deactivate function.
void set_sample_rate (uint32_t sr)
 Set sample rate for the plugin.
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 uint32_t process (uint32_t offset, uint32_t numsamples, uint32_t inputs_mask, uint32_t outputs_mask)=0
 The audio processing loop; assumes numsamples <= MAX_SAMPLE_RUN, for larger buffers, call process_slice.
virtual ~audio_module_iface ()

Public Attributes

float * ins [(Metadata::in_count !=0) ? Metadata::in_count :1]
float * outs [(Metadata::out_count !=0) ? Metadata::out_count :1]
float * params [Metadata::param_count]
bool questionable_data_reported_in
bool questionable_data_reported_out
progress_report_ifaceprogress_report

Detailed Description

template<class Metadata>
class calf_plugins::audio_module< Metadata >

Empty implementations for plugin functions.

Member Typedef Documentation

◆ metadata_type

template<class Metadata>
typedef Metadata calf_plugins::audio_module< Metadata >::metadata_type

Constructor & Destructor Documentation

◆ audio_module()

template<class Metadata>
calf_plugins::audio_module< Metadata >::audio_module ( )
inline

Member Function Documentation

◆ activate()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::activate ( )
inlinevirtual

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

Implements calf_plugins::audio_module_iface.

Reimplemented in calf_plugins::bassenhancer_audio_module, calf_plugins::comp_delay_audio_module, calf_plugins::compressor_audio_module, calf_plugins::crusher_audio_module, calf_plugins::deesser_audio_module, calf_plugins::emphasis_audio_module, calf_plugins::envelopefilter_audio_module, calf_plugins::equalizer30band_audio_module, calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >, calf_plugins::equalizerNband_audio_module< equalizer12band_metadata, true >, calf_plugins::equalizerNband_audio_module< equalizer5band_metadata, false >, calf_plugins::equalizerNband_audio_module< equalizer8band_metadata, true >, calf_plugins::exciter_audio_module, calf_plugins::filter_module_with_inertia< FilterClass, Metadata >, calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filter_metadata >, calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filterclavier_metadata >, calf_plugins::filterclavier_audio_module, calf_plugins::flanger_audio_module, calf_plugins::gate_audio_module, calf_plugins::haas_enhancer_audio_module, calf_plugins::limiter_audio_module, calf_plugins::mono_audio_module, calf_plugins::monocompressor_audio_module, calf_plugins::monosynth_audio_module, calf_plugins::multibandcompressor_audio_module, calf_plugins::multibandenhancer_audio_module, calf_plugins::multibandgate_audio_module, calf_plugins::multibandlimiter_audio_module, calf_plugins::multichorus_audio_module, calf_plugins::multispread_audio_module, calf_plugins::organ_audio_module, calf_plugins::phaser_audio_module, calf_plugins::psyclipper_audio_module, calf_plugins::pulsator_audio_module, calf_plugins::reverb_audio_module, calf_plugins::reverse_delay_audio_module, calf_plugins::ringmodulator_audio_module, calf_plugins::rotary_speaker_audio_module, calf_plugins::saturator_audio_module, calf_plugins::sidechaincompressor_audio_module, calf_plugins::sidechaingate_audio_module, calf_plugins::sidechainlimiter_audio_module, calf_plugins::stereo_audio_module, calf_plugins::tapesimulator_audio_module, calf_plugins::transientdesigner_audio_module, calf_plugins::vintage_delay_audio_module, calf_plugins::vocoder_audio_module, calf_plugins::xover_audio_module< XoverBaseClass >, calf_plugins::xover_audio_module< xover2_metadata >, calf_plugins::xover_audio_module< xover3_metadata >, and calf_plugins::xover_audio_module< xover4_metadata >.

◆ channel_pressure()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::channel_pressure ( int channel,
int value )
inlinevirtual

Handle MIDI Channel Pressure

Parameters
valuechannel pressure (0 to 127)

Implements calf_plugins::audio_module_iface.

Reimplemented in calf_plugins::monosynth_audio_module, and calf_plugins::wavetable_audio_module.

◆ configure()

template<class Metadata>
virtual char * calf_plugins::audio_module< Metadata >::configure ( const char * key,
const char * value )
inlinevirtual

◆ control_change()

◆ deactivate()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::deactivate ( )
inlinevirtual

LADSPA-esque deactivate function.

Implements calf_plugins::audio_module_iface.

Reimplemented in calf_plugins::bassenhancer_audio_module, calf_plugins::comp_delay_audio_module, calf_plugins::compressor_audio_module, calf_plugins::crusher_audio_module, calf_plugins::deesser_audio_module, calf_plugins::emphasis_audio_module, calf_plugins::envelopefilter_audio_module, calf_plugins::equalizer30band_audio_module, calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >, calf_plugins::equalizerNband_audio_module< equalizer12band_metadata, true >, calf_plugins::equalizerNband_audio_module< equalizer5band_metadata, false >, calf_plugins::equalizerNband_audio_module< equalizer8band_metadata, true >, calf_plugins::exciter_audio_module, calf_plugins::filter_module_with_inertia< FilterClass, Metadata >, calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filter_metadata >, calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filterclavier_metadata >, calf_plugins::filterclavier_audio_module, calf_plugins::flanger_audio_module, calf_plugins::gate_audio_module, calf_plugins::haas_enhancer_audio_module, calf_plugins::limiter_audio_module, calf_plugins::mono_audio_module, calf_plugins::monocompressor_audio_module, calf_plugins::monosynth_audio_module, calf_plugins::multibandcompressor_audio_module, calf_plugins::multibandenhancer_audio_module, calf_plugins::multibandgate_audio_module, calf_plugins::multibandlimiter_audio_module, calf_plugins::multichorus_audio_module, calf_plugins::multispread_audio_module, calf_plugins::organ_audio_module, calf_plugins::phaser_audio_module, calf_plugins::psyclipper_audio_module, calf_plugins::pulsator_audio_module, calf_plugins::reverb_audio_module, calf_plugins::reverse_delay_audio_module, calf_plugins::ringmodulator_audio_module, calf_plugins::rotary_speaker_audio_module, calf_plugins::saturator_audio_module, calf_plugins::sidechaincompressor_audio_module, calf_plugins::sidechaingate_audio_module, calf_plugins::sidechainlimiter_audio_module, calf_plugins::stereo_audio_module, calf_plugins::tapesimulator_audio_module, calf_plugins::transientdesigner_audio_module, calf_plugins::vintage_delay_audio_module, calf_plugins::vocoder_audio_module, calf_plugins::xover_audio_module< XoverBaseClass >, calf_plugins::xover_audio_module< xover2_metadata >, calf_plugins::xover_audio_module< xover3_metadata >, and calf_plugins::xover_audio_module< xover4_metadata >.

◆ execute()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::execute ( int cmd_no)
inlinevirtual

Execute menu command with given number.

Implements calf_plugins::audio_module_iface.

Reimplemented in calf_plugins::organ_audio_module.

◆ get_line_graph_iface()

template<class Metadata>
virtual const line_graph_iface * calf_plugins::audio_module< Metadata >::get_line_graph_iface ( ) const
inlinevirtual

◆ get_metadata_iface()

template<class Metadata>
virtual const plugin_metadata_iface * calf_plugins::audio_module< Metadata >::get_metadata_iface ( ) const
inlinevirtual

Return metadata object.

Implements calf_plugins::audio_module_iface.

◆ get_phase_graph_iface()

template<class Metadata>
virtual const phase_graph_iface * calf_plugins::audio_module< Metadata >::get_phase_graph_iface ( ) const
inlinevirtual

◆ get_port_arrays()

template<class Metadata>
virtual void calf_plugins::audio_module< Metadata >::get_port_arrays ( float **& ins_ptrs,
float **& outs_ptrs,
float **& params_ptrs )
inlinevirtual

Return the array of input port pointers.

Implements calf_plugins::audio_module_iface.

◆ message_run()

template<class Metadata>
uint32_t calf_plugins::audio_module< Metadata >::message_run ( const void * valid_ports,
void * output_ports )
inlinevirtual

Handle 'message context' port message

  • output_ports pointer to bit array of output port "changed" flags, note that 0 = first audio input, not first parameter (use input_count + output_count)

Implements calf_plugins::audio_module_iface.

Reimplemented in calf_plugins::organ_audio_module.

◆ note_off()

◆ note_on()

◆ params_changed()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::params_changed ( )
inlinevirtual

Called when params are changed (before processing).

Implements calf_plugins::audio_module_iface.

Reimplemented in calf_plugins::bassenhancer_audio_module, calf_plugins::comp_delay_audio_module, calf_plugins::compressor_audio_module, calf_plugins::crusher_audio_module, calf_plugins::deesser_audio_module, calf_plugins::emphasis_audio_module, calf_plugins::envelopefilter_audio_module, calf_plugins::equalizer30band_audio_module, calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >, calf_plugins::equalizerNband_audio_module< equalizer12band_metadata, true >, calf_plugins::equalizerNband_audio_module< equalizer5band_metadata, false >, calf_plugins::equalizerNband_audio_module< equalizer8band_metadata, true >, calf_plugins::exciter_audio_module, calf_plugins::filter_audio_module, calf_plugins::filter_module_with_inertia< FilterClass, Metadata >, calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filter_metadata >, calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filterclavier_metadata >, calf_plugins::filterclavier_audio_module, calf_plugins::flanger_audio_module, calf_plugins::gate_audio_module, calf_plugins::haas_enhancer_audio_module, calf_plugins::limiter_audio_module, calf_plugins::mono_audio_module, calf_plugins::monocompressor_audio_module, calf_plugins::monosynth_audio_module, calf_plugins::multibandcompressor_audio_module, calf_plugins::multibandenhancer_audio_module, calf_plugins::multibandgate_audio_module, calf_plugins::multibandlimiter_audio_module, calf_plugins::multichorus_audio_module, calf_plugins::multispread_audio_module, calf_plugins::organ_audio_module, calf_plugins::phaser_audio_module, calf_plugins::psyclipper_audio_module, calf_plugins::pulsator_audio_module, calf_plugins::reverb_audio_module, calf_plugins::reverse_delay_audio_module, calf_plugins::ringmodulator_audio_module, calf_plugins::rotary_speaker_audio_module, calf_plugins::saturator_audio_module, calf_plugins::sidechaincompressor_audio_module, calf_plugins::sidechaingate_audio_module, calf_plugins::sidechainlimiter_audio_module, calf_plugins::stereo_audio_module, calf_plugins::tapesimulator_audio_module, calf_plugins::transientdesigner_audio_module, calf_plugins::vintage_delay_audio_module, calf_plugins::vocoder_audio_module, calf_plugins::widgets_audio_module, calf_plugins::xover_audio_module< XoverBaseClass >, calf_plugins::xover_audio_module< xover2_metadata >, calf_plugins::xover_audio_module< xover3_metadata >, and calf_plugins::xover_audio_module< xover4_metadata >.

◆ params_reset()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::params_reset ( )
inlinevirtual

Reset parameter values for epp:trigger type parameters (ones activated by oneshot push button instead of check box).

Implements calf_plugins::audio_module_iface.

Reimplemented in calf_plugins::flanger_audio_module, calf_plugins::phaser_audio_module, calf_plugins::pulsator_audio_module, and calf_plugins::ringmodulator_audio_module.

◆ pitch_bend()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::pitch_bend ( int channel,
int value )
inlinevirtual

Handle MIDI Pitch Bend

Parameters
valuepitch bend value (-8192 to 8191, defined as in MIDI ie. 8191 = 200 ct by default)

Implements calf_plugins::audio_module_iface.

Reimplemented in calf_plugins::monosynth_audio_module, calf_plugins::organ_audio_module, and calf_plugins::wavetable_audio_module.

◆ post_instantiate()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::post_instantiate ( uint32_t )
inlinevirtual

Called after instantiating (after all the feature pointers are set - including interfaces like progress_report_iface).

Implements calf_plugins::audio_module_iface.

Reimplemented in calf_plugins::monosynth_audio_module, and calf_plugins::organ_audio_module.

◆ process_slice()

template<class Metadata>
uint32_t calf_plugins::audio_module< Metadata >::process_slice ( uint32_t offset,
uint32_t end )
inlinevirtual

utility function: call process, and if it returned zeros in output masks, zero out the relevant output port buffers

Implements calf_plugins::audio_module_iface.

◆ program_change()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::program_change ( int channel,
int program )
inlinevirtual

Handle MIDI Program Change.

Implements calf_plugins::audio_module_iface.

◆ send_configures()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::send_configures ( send_configure_iface * sci)
inlinevirtual

Send all understood configure vars (none by default).

Implements calf_plugins::audio_module_iface.

Reimplemented in calf_plugins::monosynth_audio_module, calf_plugins::organ_audio_module, and calf_plugins::wavetable_audio_module.

◆ send_status_updates()

template<class Metadata>
int calf_plugins::audio_module< Metadata >::send_status_updates ( send_updates_iface * sui,
int last_serial )
inlinevirtual

Send all supported status vars (none by default).

Implements calf_plugins::audio_module_iface.

◆ set_progress_report_iface()

template<class Metadata>
virtual void calf_plugins::audio_module< Metadata >::set_progress_report_iface ( progress_report_iface * iface)
inlinevirtual

Set the progress report interface to communicate progress to.

Implements calf_plugins::audio_module_iface.

◆ set_sample_rate()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::set_sample_rate ( uint32_t sr)
inlinevirtual

Set sample rate for the plugin.

Implements calf_plugins::audio_module_iface.

Reimplemented in calf_plugins::bassenhancer_audio_module, calf_plugins::comp_delay_audio_module, calf_plugins::compressor_audio_module, calf_plugins::crusher_audio_module, calf_plugins::deesser_audio_module, calf_plugins::emphasis_audio_module, calf_plugins::envelopefilter_audio_module, calf_plugins::equalizer30band_audio_module, calf_plugins::equalizerNband_audio_module< BaseClass, has_lphp >, calf_plugins::equalizerNband_audio_module< equalizer12band_metadata, true >, calf_plugins::equalizerNband_audio_module< equalizer5band_metadata, false >, calf_plugins::equalizerNband_audio_module< equalizer8band_metadata, true >, calf_plugins::exciter_audio_module, calf_plugins::filter_module_with_inertia< FilterClass, Metadata >, calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filter_metadata >, calf_plugins::filter_module_with_inertia< dsp::biquad_filter_module, filterclavier_metadata >, calf_plugins::filterclavier_audio_module, calf_plugins::flanger_audio_module, calf_plugins::gate_audio_module, calf_plugins::haas_enhancer_audio_module, calf_plugins::limiter_audio_module, calf_plugins::mono_audio_module, calf_plugins::monocompressor_audio_module, calf_plugins::monosynth_audio_module, calf_plugins::multibandcompressor_audio_module, calf_plugins::multibandenhancer_audio_module, calf_plugins::multibandgate_audio_module, calf_plugins::multibandlimiter_audio_module, calf_plugins::multichorus_audio_module, calf_plugins::multispread_audio_module, calf_plugins::organ_audio_module, calf_plugins::phaser_audio_module, calf_plugins::psyclipper_audio_module, calf_plugins::pulsator_audio_module, calf_plugins::reverb_audio_module, calf_plugins::reverse_delay_audio_module, calf_plugins::ringmodulator_audio_module, calf_plugins::rotary_speaker_audio_module, calf_plugins::saturator_audio_module, calf_plugins::sidechaincompressor_audio_module, calf_plugins::sidechaingate_audio_module, calf_plugins::sidechainlimiter_audio_module, calf_plugins::stereo_audio_module, calf_plugins::tapesimulator_audio_module, calf_plugins::transientdesigner_audio_module, calf_plugins::vintage_delay_audio_module, calf_plugins::vocoder_audio_module, calf_plugins::wavetable_audio_module, calf_plugins::widgets_audio_module, calf_plugins::xover_audio_module< XoverBaseClass >, calf_plugins::xover_audio_module< xover2_metadata >, calf_plugins::xover_audio_module< xover3_metadata >, and calf_plugins::xover_audio_module< xover4_metadata >.

◆ zero_by_mask()

template<class Metadata>
void calf_plugins::audio_module< Metadata >::zero_by_mask ( uint32_t mask,
uint32_t offset,
uint32_t nsamples )
inline

utility function: zero port values if mask is 0

Member Data Documentation

◆ ins

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

◆ outs

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

◆ params

template<class Metadata>
float* calf_plugins::audio_module< Metadata >::params[Metadata::param_count]

◆ progress_report

template<class Metadata>
progress_report_iface* calf_plugins::audio_module< Metadata >::progress_report

◆ questionable_data_reported_in

template<class Metadata>
bool calf_plugins::audio_module< Metadata >::questionable_data_reported_in

◆ questionable_data_reported_out

template<class Metadata>
bool calf_plugins::audio_module< Metadata >::questionable_data_reported_out

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