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