Hi all,
we’ve talked about this previously on the Ditto thread, but I think the new ALO looper is ready for folks to play with now and it deserves its own thread. I’ve submitted a pull request to add it into unstable, hopefully that will happen soon.
In the meantime I’ll summarise here how it works:
support for up to 6 loops
the time/length of the loops is set by a ‘bars’ parameter, default is two bars, so eight beats
each loop needs to be activated/deactivated by a footswitch/button
once activated, a loop only starts recording when input audio signal is detected
loop recording ends when the loop time is reached
if the button is still active, the loop will continue playing
when button is deactivated, the loop will stop… at its next end point
limitations:
no gui presently, just the tin can (TODO)
when global bpm stops, active buttons stay on (TODO, but not sure if this is possible to fix)
no overdubbing on a loop (won’t fix: I’m aiming for simplicity of operation)
all loops are the same length (won’t fix: use extra instances to set different lengths for each)
only plays/records if global bpm is running (won’t fix)
audio threshold is hard-coded (not sure whether this is worth a parameter, feedback required)
Some feedback would be that at least a 3 beats per measure setting would be nice. At least half the stuff I do is in 3/4 ( yes maybe I’m odd there but 3/4 is pretty common )
a) first would be to switch from the ‘bars’ parameter to a ‘beats’ parameter (so for a four bar sequence in 3/4 time, set beats to 12, etc.) and default it to 8 (two bars of 4/4 time)
b) next up would be to add a beats-per-bar parameter, defaulted to 4.
c) nicest would be to consume get the beats-per-bar from the host, but I don’t know if it actually reports that.
In the LV2 Time Specification there is also beatsPerBar. mod-host serves this information to the plugin. This should work similar to getting the BPM in your “update_position” function.
Cheers
Jakob
ALO now has support for triggering record/play/mute of loops via MIDI note on/off messages - so now it’s functionally complete for my use-case, hooked up to a Keith McMillen 12 Step.
Not sure whether it’s worth the hassle of creating a UI…
I have just published ALO to the beta repository. Thanks @devcurmudgeon for your work .
It is a good idea to write a little description on how it works exactly, because probably not everyone will be checking out the forum post to find out.
@domlo - no, that’s a surprise to me. it may not vary the length once a loop has been recorded. i’ll check the code.
in other news, the latest update also does not pass the input signal through to the output (so output is only the loops), but i think ultimately there needs to be a toggle switch for option of including the input.
I thought that at first, too. Then i deleted the plugin from the pedalboard, loaded it up again and set the bars before recording the first loop. Still might be in the cache somewhere though…
I’ll try today with different pedalboards and restarts.
If i haven’t said it (enough), your work is awesome! The looper is easy to use (also through its restrictions) and the time sync is just so convenient. It’s like looping with ableton, great job!
also the double tap function for deleting is a nice touch and good to see, that it’s possible. Maybe also interesting for other plugins (maybe for the stuck/freeze pedals)