Sequenced Looper Extension (in progress)

I thought I’d share my progress on my holiday project…

I had been thinking about ways to combine Melda’s MSuperLooper with a GP Extension, and what I landed on was a arranged/sequenced looper. It’s directly inspired by ZenAudio’s ALK2 (sadly now defunct).

Although I’d call myself a looping novice, I always enjoyed the creative results from ALK2. It was also a great practice tool for me.

Basic Usage:

  • Double click to add a clip: Record (red) and Play (green)
  • You can choose which of the four track loops to record/play (right-click the clip)
  • When there is no active clip, the track/loop will be muted
  • The clips are quantised to a 1/4 measure and will need MSuperLooper to be Synced with the host.
  • The Metronome track is currently based on a CC message sent to the Local GP Port (to control a widget mapped to metronome enable). I have submitted a request to add metronome functions to the Extension API.
  • The Song Part track is a simple ‘Next’ command. But it was an essential part of my idea for this extension, as it leverages the power of GP song parts/variations.

It’s still very rough, and at the moment is just a casual project. I might not go to the extent of saving/retrieving the per-song arrangements. I’m not yet confident the basic triggering of MSuperLooper is perfect, but will be playing/testing for the remainder of my holidays.

I might also try it with another looper (e.g. Enso), although this would be a much simpler one-loop-per-track approach.

8 Likes

That looks amazing. Fantastic work!

2 Likes

I have an idea:
Would it be possible to create a graphical timeline this way?
For example switch variations etc

5 posts were split to a new topic: Storing/Retrieving Extension Data

This looks interesting! When I get home I’ll give it a whirl.

I’ve been adding in more features.

The boring stuff is getting all the clip dragging to avoid overlapping other clips. I’ve done a basic multi select+drag (Shift+click multiple clips), and that was a large headache to prevent overlapping of clips on multiple tracks. But it seems to be working now.

I’ve also added pinch-zoom (horizontal zoom) for Mac, and Alt+Scrollwheel to zoom on Windows. I have started work on the auto-scrolling of the window to keep up with the playhead - but that needs some more work.

More interestingly, I have a ‘Loop Timeline’ clip, which you can add at multiple positions on the timeline. It will continuously loop at these points, until you activate a widget to exit the loop.

In this screenshot below, the first timeline loop is after you record the first loop, so you can play for however long you like over the first loop. When you’re ready to add another loop, just activate the widget to exit, and then the second loop will begin recording. After that, it will continuously loop (playing both clips/loops) until you exit for the final time. This is a great/simple option if you don’t want to create an entire arrangement.

I think an obvious next addition is a timed fadeout (e.g. volume fade over the duration of a clip). However, it’s probably better to manage this in combination with a widget, so you can leverage the widget scaling to set your ideal fade-out curve.

2 Likes

This looks amazing! I can’t wait to see where this goes ultimately! Very creative!

2 Likes

I’ve made some progress on saving/retrieving the data to an external file.
The demo below is a new ‘Widget Control’ track, where you can choose widgets from the global rackspace (that have handles) and set a few predefined actions: toggle and ramp up/down. You set the duration of the ramp based on the clip length.

6 Likes