Class fx_looper

Inheritance Relationships

Base Type

Class Documentation

class fx_looper : public fx_effect

Effect: Looper - capture and playback loops.

Here’s a nice tutorial on how looper pedals work in general https://en.wikipedia.org/wiki/Live_looping

Public Functions

fx_looper(float looper_dry_mix, float looper_loop_mix, float looper_max_length_seconds, bool looper_enable_loop_preprocessing)

Constructor/initializer for amplitude modulator.

fx_looper looper1(1.0,        // Dry mix set to full 
                  1.0,        // Wet mix set to full
                  10,         // Max loop length set to 10 seconds (can be way more)
                  false);     // Do not use fx send/receive when recording loop

Parameters
  • [in] looper_dry_mix: The looper dry mix

  • [in] looper_loop_mix: The looper loop mix

  • [in] looper_max_length_seconds: The looper maximum length seconds

  • [in] looper_enable_loop_preprocessing: The looper enable loop preprocessing

void enable()

Enable the this_effect (it is enabled by default)

void bypass()

Bypass the this_effect (will just pass clean audio through)

void start_loop_recording()
void stop_loop_recording()
void stop_loop_playback()
void set_playback_rate(float playback_rate)
void set_loop_mix(float new_loop_mix)

Sets the loop mix.

Parameters
  • [in] new_loop_mix: The new loop mix value (0.0 -> 1.0)

void set_dry_mix(float new_dry_mix)

Sets the dry mix.

Parameters
  • [in] new_dry_mix: The new dry mix value (0.0 -> 1.0)

void print_params(void)

Prints the parameters for the delay effect.

Public Members

fx_audio_node *input

Audio routing node: primary audio input

fx_audio_node *output

Audio routing node: primary audio output

fx_audio_node *preproc_send

Audio routing node: pre-loop effects send (process audio before it ends up in the loop)

fx_audio_node *preproc_receive

Audio routing node: pre-loop effects receive (process audio before it ends up in the loop)

fx_control_node *start

Control routing node: Trigger to start loop recording

fx_control_node *stop

Control routing node: Trigger to stop loop recording

fx_control_node *playback_rate

Control routing node: Loop playback rate (1.0 is recorded rate, > 1.0 is faster / higher pitch, < 1.0 is slower, <0 is reverse)

fx_control_node *dry_mix

Control routing node: clean/dry mix

fx_control_node *loop_mix

Control routing node: clean/dry mix

fx_control_node *loop_length_seconds

Control routing node: [output] loop length - can be tied to things like delay length to create delay lines that are synced to the loop length

fx_control_node *loop_length_seconds_set

Control routing node: [input] loop length - used to set loop length before a loop is recorded (to sync with other loops)