MSuperLooper: momentary widgets to show state of loops

Parameter 18 is the track selection. Within the On WidgetValueChanged callback for the track’s loop widgets, add another SetParameter(MSL…
like what was done to the select the loop.

@ztones I’ve extended the script to highlight the selected track, and also to ensure that you can never have all loop widgets on a track switched off. This means that when you click on an already active loop, it will keep the widget lit, but will switch to that track.


You’ll need to add a handle to all the track number widgets (e.g. T1NUM) and the panel/shape widgets that surround each track/row (e.g. T1ROW). The MSL part of the script is attached.

MSL Script 1.1.gpscript (7.4 KB)


Is it Christmas in June? LOL Wow! This is awesome! YES! I was just thinking about the highlighting of the active track and woke up to it completed. Ok bro, I’m thinking of a million dollars…just sayin’…
GP is amazing! You have just created what so many on the Melda forum are begging for, a control with visual feedback. This right here!

Since this is becoming a piece of art at this point :wink: :laughing: can we up to ante? Is it possible to create a meter that shows the length and the progress of the loop(s)? This is a “bells and whistle” category I admit. It is fully working, useable and operational as it is, because you can listen to the loop and know where you are. A non essential but cool addition. :wink:

Thank you so much for you work! It really makes the looper totally user friendly without opening the plugin!

1 Like

Feel free to tell them :grin:


As long as you’re putting on a scripting clinic here…

MSuperLooper is actually 16 tracks. It defaults to showing four, but under settings you can expand to 16.

I messed around a while ago with trying to use SuperLooper as a backing tracks player but never got it where I wanted it to be. I don’t remember exactly where I got frustrated, but something around getting audio files into tracks properly and I ended up staying with using an external app like Live or Virtual DJ.


I certainly will!


Yes I know, but really don’t think I’ll ever need more than 4 for live looping. If I do, the widgets and script can be easily modified. Thank you though!

I definitely think it will be the wrong tool for the job. We established that it saves the files within its plugin state. I just tested with 2 MP3’s (10MB) - this ended up as a 325MB gig file!

For that you would really need MSL to have an automation parameter for this (which it doesn’t).
Otherwise you’d have to try and separately replicate this in the script based on the timing of when you hit record and came out of record. At that point I’d think it’s just easier to open the plugin UI! :wink:

1 Like

Yeah, I tested that out myself last night. I downloaded the beta version (15.0) and while the file import feature works consistently now, apparently it reformats everything to uncompressed audio at your current sample rate and stores it with the plugin state. So, yeah, it makes the gig files really huge really fast.

Is there an option to store that outside?
Storing Audio as State is never a good idea.

When used as a live looper (recording what you’re playing), during looping, I’m not sure where the temporary audio is saved, but the size of the gig file does not change. So when used as most people will likely use it, as a looper for live performance, its a non issue. If however, you save the gig file without purging your loops (reset all), gig file size is increased.

I can see using this as a backup player would be a totally different situation and importing audio would cause it to become huge. I found this in the settings options, not sure if unchecking this this would help?
I can’t test it now…

1 Like

@ztones this is just a mockup (although done by GP Script). I’m not sure yet I can pull this off :slight_smile: but it will be fun to try. My idea with the numbers on the loop buttons is to only display them if there is a loop recorded (and it displays the loop length / bar count).

At this stage I think you will be forced to be in Sync with the GP playhead in order for this to work.

MSL Mockup


@rank13 I LOVE that you love a challenge! :slight_smile:

This is great! Love the visualization as well as the placement. :clap: :clap: :clap: Very clever to use that space! I’m a little confused why the 2 bar is reaching the end of the loop at the same time as 1 bar, but I’m assuming its not finished yet?

How did you get those custom play, reverse icons/symbols? When I paste :arrow_forward: into the caption it won’t display. Is it scripting again? They’re much better!

Hmm, are you using those widget functions?

1 Like

Some ascii characters will work in GP. The ones I used are :arrow_forward: and :leftwards_arrow_with_hook:
EDIT: the forum changes them.

@ztones Is the above “GLOBAL RACKSPACE.rackspace” updated with all of this new cool stuff?

No its not. I don’t have the latest changes @rank13 made with the loop length progress showing.

@rank13 is that a working feature at this point or still a work in progress? It is super cool!

1 Like

In progress. I’ll have some more time this weekend to look at it.


Awesome! Thank you!