Toob Amp effects 1.1.59

This commit is contained in:
Robin E. R. Davies
2025-03-21 13:17:47 -04:00
parent 3a89a7b24e
commit e79de92ae1
22 changed files with 168 additions and 70 deletions
+85 -31
View File
@@ -92,7 +92,7 @@ myprefix:output_group
doap:license <https://opensource.org/license/mit/> ;
doap:maintainer <http://two-play.com/rerdavies#me> ;
lv2:minorVersion 1 ;
lv2:microVersion 58 ;
lv2:microVersion 59 ;
ui:ui <http://two-play.com/plugins/toob-looper-four-ui>;
@@ -140,9 +140,13 @@ a numeric value, and also affect the rate and pattern of the flashing LEDs when
Record Options control the behavior of the looper.
When Count In is enabled, The looper will Count In before starting the main loop. The Record LED will flash when counting in, and go solid
The Rec Start control determines when recording start. If set to Immediate, the looper will start recording as soon as you tap the Record button.
When set to Count In, after tapping the Record button, the main loop will count in before it starts recording. The Record LED will flash when counting in, and go solid
once recording starts. The pattern of blinking lights depends on the TimeSig setting, so for example, if the Time Signature is set to 4/4, the
blinking LED will signal a count-in pattern of "1 - 2 - 1 2 3 4".
blinking LED will signal a count-in pattern of "1 - 2 - 1 2 3 4". Secondary loops start overdubbing immediately, unless the Rec Sync button
is enabled. When set to Trigger, after pressing the Record button, the looper will not start recording until it detects a signal
on audio input. The Trig Lvl control sets how loud the signal must be in order to start recording.
When Bars is set to Free (the minimum value), the length of the main loop will be set by a second tap of the
Control button after recording of the main loop starts. If Bars is set to a numeric value, the length of the main loop will be determined by the number
@@ -175,23 +179,34 @@ The following state table controls how the hidden controls operate. Each loop ha
### State Table for Looop Operations
The following table describes state transitions for each loop. Note that loops 2 to 4 are not available until the main loop has been recorded.
The following table describes state transitions for each loop. Note that loops 2 to 4 are not available until the main loop has been recorded. The
The Control Tap and Long Press actions are generated by hidden `Midi CTL` controls.
```
+-----------+--------------+----------------------------------+
| State | Action | Effect |
|-----------|--------------|----------------------------------|
| Empty | Record / | Start counting in if COUNT IN is |
| | Control Tap | enabled; otherwise start |
| | | recording immediately. |
| Empty | Record / | Start recording immeediately if |
| | Control Tap | the Rec Start control is set to |
| | | Immediately. If set to Count In, |
| | | go to Count-In state. If set to |
| | | Trigger, go to Trigger state. |
|-----------|--------------|----------------------------------|
| Trigger | Stop / | Return to empty state |
| | Long-press / | |
| | Control Tap | |
| | | |
| | Input signal | Start recording |
| | detected | |
|-----------|--------------|----------------------------------|
| Count-In | Stop / | Return to empty state |
| | Long-press | |
| | Long-press / | |
| | Control Tap | |
| | | |
| | Complete | Start recording |
|-----------|--------------|----------------------------------|
| Recording | Play | Set the loop length (main loop |
| | | only_) and go to play state . |
| Recording | Play / | Set the loop length (main loop |
| | Control Tap | only_) and go to play state . |
| | | |
| | Record | Set the loop length (main loop |
| | | only_) and go to Overdub state . |
@@ -199,15 +214,12 @@ The following table describes state transitions for each loop. Note that loops 2
| | Stop/ | Discard the current loop and |
| | Long-Press | return to Empty state |
| | | |
| | Control Tap | Set the loop length (main loop |
| | | only_) and go to play or Overdub |
| | | state depending on ON REC END. |
| | | |
| | End of loop | go to play or overdub state |
| | | depending on ON REC END |
| | | (main loop only) |
|-----------|--------------|----------------------------------|
| Playing | Record / Tap | If DUB SYNC is on, go to |
| | | Cue Ovdb state; otherwise |
| Playing | Record / | If DUB SYNC is on, go to |
| | Control Tap | Cue Ovdb state; otherwise |
| | | start overdubbing immediately. |
| | | |
| | Play | Mute the loop, and go to Mute |
@@ -741,7 +753,7 @@ The following table describes state transitions for each loop. Note that loops 2
########## Options
[
lv2:name "Count In" ;
lv2:name "Rec Start" ;
a lv2:InputPort ,
lv2:ControlPort ;
@@ -750,17 +762,58 @@ The following table describes state transitions for each loop. Note that loops 2
lv2:symbol "rec_count_in" ;
lv2:default 1.0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
lv2:portProperty lv2:toggled;
rdfs:comment "Whether to count in when starting the main loop.";
lv2:maximum 2.0;
rdfs:comment "When to start recording.";
lv2:portProperty lv2:enumeration;
lv2:scalePoint [
rdfs:label "Immediate" ;
rdf:value 0.0
] , [
rdfs:label "Count in" ;
rdf:value 1.0
], [
rdfs:label "Trigger" ;
rdf:value 2.0
] ;
pg:group myprefix:options_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 33;
lv2:symbol "trigger_level" ;
lv2:name "Trig Lvl";
rdf:comment "Threshold level to trigger recording.";
pg:group myprefix:options_group ;
lv2:default -25.0 ;
lv2:minimum -60.0;
lv2:maximum 00.0;
units:unit units:db
],
[
a lv2:OutputPort ,
lv2:ControlPort ;
lv2:index 34;
lv2:symbol "trigger_led" ;
lv2:name "";
lv2:portProperty lv2:toggled ;
lv2:default 0.0 ;
lv2:minimum 0.0;
lv2:maximum 1.0;
pg:group myprefix:options_group ;
],
[
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 33 ;
lv2:index 35 ;
lv2:symbol "bars" ;
lv2:name "Bars";
lv2:default 0.0 ;
@@ -775,13 +828,14 @@ The following table describes state transitions for each loop. Note that loops 2
rdf:value 0.0
]
],
[
lv2:name "Rec Sync" ;
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 34;
lv2:index 36;
lv2:symbol "rec_sync_option" ;
lv2:default 0.0 ;
lv2:minimum 0.0;
@@ -795,7 +849,7 @@ The following table describes state transitions for each loop. Note that loops 2
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 35;
lv2:index 37;
lv2:symbol "loop_end_option" ;
lv2:name "On Rec End";
lv2:default 1.0 ;
@@ -819,10 +873,10 @@ The following table describes state transitions for each loop. Note that loops 2
a lv2:InputPort ,
lv2:ControlPort ;
lv2:index 36;
lv2:index 38;
lv2:symbol "level" ;
lv2:name "Level";
lv2:name "Level";
rdfs:comment "Trim output level";
pg:group myprefix:output_group ;
lv2:default 0.0 ;
@@ -840,7 +894,7 @@ The following table describes state transitions for each loop. Note that loops 2
[
a lv2:AudioPort ,
lv2:InputPort ;
lv2:index 37 ;
lv2:index 39 ;
lv2:symbol "in" ;
lv2:name "In";
pg:group myprefix:stereoInGroup ;
@@ -850,7 +904,7 @@ The following table describes state transitions for each loop. Note that loops 2
[
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 38 ;
lv2:index 40 ;
lv2:symbol "out" ;
lv2:name "Out" ;
pg:group myprefix:stereoOutGroup ;
@@ -860,7 +914,7 @@ The following table describes state transitions for each loop. Note that loops 2
[
a atom:AtomPort ,
lv2:InputPort ;
lv2:index 39 ;
lv2:index 41 ;
atom:bufferType atom:Sequence ;
atom:supports patch:Message;
@@ -870,7 +924,7 @@ The following table describes state transitions for each loop. Note that loops 2
[
a atom:AtomPort ,
lv2:OutputPort ;
lv2:index 40 ;
lv2:index 42 ;
atom:bufferType atom:Sequence ;
atom:supports patch:Message;
lv2:symbol "controlOut" ;
@@ -879,7 +933,7 @@ The following table describes state transitions for each loop. Note that loops 2
[
a lv2:AudioPort ,
lv2:InputPort ;
lv2:index 41;
lv2:index 43;
lv2:symbol "inR" ;
lv2:name "InR" ;
pg:group myprefix:stereoInGroup ;
@@ -889,7 +943,7 @@ The following table describes state transitions for each loop. Note that loops 2
[
a lv2:AudioPort ,
lv2:OutputPort ;
lv2:index 42 ;
lv2:index 44 ;
lv2:symbol "outR" ;
lv2:name "OutR" ;
pg:group myprefix:stereoOutGroup ;