SooperLooper: Parameters

# Description of SooperLooper Parameters

SooperLooper main page

I need to get a properly allocated LADSPA plugin unique ID, right now I'm using 3333, who runs the registry?

### Input Parameters

1: Record Threshold [0, 1]
  This defines the audio sample threshold to begin recording after RECORD is triggered. This value is also used as the trigger to stop recording after RECORD is pressed a second time. It can help get cleaner seams under certain conditions.
2: Dry Level [0, 1]
  Controls input thru amplitude.
3: Wet Level [0, 1]
  Controls loop/delay playback amplitude.
4: Feedback [0, 1]
  Controls how much of the loop signal gets passed back to the loop during Overdubbing, Multiplying, or Delay mode. Note that the audible effect of feedback changes made during one of these functions won't be heard until the next loop cycle. Can be used to fade out a loop while overdubbing a new one.
5: Rate (during scratch mode)
  When the scratch rate active is toggled on (by pressing Reverse while in SCRATCH mode), this is the rate of loop playback in SCRATCH mode when not changing the Scratch Pos (scratching). Can be +/- anything.
6: Scratch Position [0,1]
  When in SCRATCH mode, changes in this parameter over time define the rate of playback (position unit is ratio of current loop length).
7: Multi Control
  The main control of the plugin is done through this parameter, the use of which is a little unorthodox. It takes an integer (interpreted) value between 0 and 127, but only pays attention to changes in its value. The value of the ones digit corresponds to the function you wish to trigger from the following table:
  UNDO 0 // UNDO ALL in mute mode
  REDO 1 // DELAY TAP, if REDO_TAP_MODE is true
  REPLACE 2 // QUANTIZE TOGGLE in mute mode
  REVERSE 3 // ROUND TOGGLE in mute mode
  SCRATCH 4 // UNMUTE from Top in mute mode
  RECORD 5
  OVERDUB 6
  MULTIPLY 7
  INSERT 8 // ONE SHOT playback from mute mode
  MUTE 9 // UNMUTE continue in mute mode
  The value of the tens digit (well, 0-12) is used to match the value of the "Multi Tens" parameter set for a given instance of the plugin. This way you can use the same hardware controller to control several independent instances of the plugin. The weird thing about the Multi Control is to get two "presses" of one function in a row, you must set the value for one frame of data, set it to -1 (or anything else out of range) for at least a frame, then set it back to the original value when you want to trigger it again. All of this derives from the fact that I am using a MIDI footcontroller's program changes as the triggering mechanism (described in detail below).
8: Tap Tempo Delay Trigger
  At any time, changes in the parameter are registered as tap tempo triggers (with a settle-time threshold for dirty switches). DELAY mode is entered and the time between the most recent two presses is the new delay time. Pressing other functions or UNDO leaves DELAY mode.
9: Multi Control Tens digit
  See 7:MultiControl above.
10: Quantize Mode (boolean)
  Sets the value of Quantize Mode (non-zero is on). This mode affects how certain looping functions start their operation. See the EDP manual for details. I diverged a little bit from the EDP usage with the Multiply command in a way that made more sense to me: if QuantizeMode is on, new input doesn't start being added to the loop until the next cycle boundary. The rest of the semantics should be the same as the EDP.
11: Round Mode (boolean)
  Sets the value of Round Mode (non-zero is on). This mode affects how certain operations finish. See the EDP manual again.
12: Redo Tap Mode (boolean)
  If this is non-zero, the REDO command is treated as a tap tempo trigger instead (see 8 above).

### Output Parameters

13: State (treat as integer)
  This indicates which internal state the plugin is currently in. It will be one of the following values:
  0 = Off
  1 = Waiting for threshold to START RECORD
  2 = RECORD
  3 = Waiting for threshold to STOP RECORD
  4 = PLAY
  5 = OVERDUB
  6 = MULTIPLY
  7 = INSERT
  8 = REPLACE
  9 = TAP DELAY
  10 = MUTE
  11 = SCRATCH
  12 = ONE SHOT
14: Loop Length (secs)
  The length in seconds of the current loop.
15: Loop Position (secs)
  The position in seconds of the current loop.
16: Cycle Length (secs)
  The cycle length of the current loop. This is the length of the loop after the initial record. If it is later Multiplied, the loop length will always be a multiple of the cycle length. Quantized and Rounded operations always use cycle length boundaries.
17: Loop Memory Free (secs)
  This is amount of available audio time left in the loop memory. Because we support unlimited Undo/Redo, each time you start a new operation you take up more space in the loop memory (so you can undo back to the previous state). Periodically you'll need to Undo or Undo All to get free loop memory back.
18: Loop Memory Total (secs)
  Total amount of loop memory set at compile time on the module. Alter the SAMPLE_MEMORY variable in the Makefile and recompile to increase or decrease the value to suit your requirements. The default is 200 seconds worth (2 seconds more than the EDP max ;) , which at 44.1kHz sample rate of 32 bit floats is about 35 MB. You do NOT want this to swap, so plan accordingly.

### Audio I/O

This is not a stereo plugin, but if you instantiate 2 of them and keep your record threshold at 0.0 you should be good.

19: Audio Input

20: Audio Output

January 2002 -- Jesse Chappell -- jesse@essej.net