SooperLooper + luppp == ???

Programming applications for making music on Linux.

Moderators: MattKingUSA, khz

Post Reply
User avatar
Digital Larry
Established Member
Posts: 150
Joined: Thu Jan 09, 2014 5:25 am

SooperLooper + luppp == ???

Post by Digital Larry »

I've been messing with SooperLooper and really think it is great, especially in something like a fixed 3 or 4 track configuration. Its UI is a little wonky and crowded though and includes things I would rarely use. Then I used luppp and I thought, hmmm this UI is nice, I just wish the looping worked more like SooperLooper. Well as you all must certainly know, SL uses a client/server architecture so the idea of replacing the UI is built in.

I have managed to configure and build both SooperLooper and luppp... just follow the error messages.

So this thread will document my journey to try to adapt the luppp UI to the SL looping engine. I may stop tomorrow. So be it. Strap yourself in, it's gonna be a bumpy ride.
User avatar
Linuxmusician01
Established Member
Posts: 1523
Joined: Mon Feb 23, 2015 2:38 pm
Location: Holland
Has thanked: 756 times
Been thanked: 134 times

Re: SooperLooper + luppp == ???

Post by Linuxmusician01 »

Interesting project. Luppp's interface is nice but changing (or even checking) its settings is impossible. Maybe you'll succeed in making Luppp/Superlooper so that you can set it to be the Jack transport slave instead of the master.
User avatar
Digital Larry
Established Member
Posts: 150
Joined: Thu Jan 09, 2014 5:25 am

Re: SooperLooper + luppp == ???

Post by Digital Larry »

If I do embark on this it would probably proceed as follows:
a) Look at SL and luppp UIs. What I'm proposing is SL in luppp's clothing.
b) Since SL server communicates with the UI using OSC, I'd have to make the UI able to send OSC if it doesn't already.
c) Rip out the "mixer" parts of the luppp UI since I have no intention of using them
d) try to get one clip thing working as a SL thing with MIDI
e) .... who knows????
User avatar
Digital Larry
Established Member
Posts: 150
Joined: Thu Jan 09, 2014 5:25 am

Re: SooperLooper + luppp == ???

Post by Digital Larry »

Ok, next step, digging in a little. luppp is based on avtk for the GUI part. http://openavproductions.com/avtk/

This same graphical took kit was used in the creation of the "non" applications as well. http://non.tuxfamily.org/wiki/Non%20Sequencer

What I notice is that the support for dialog boxes is pretty bad, but that may not matter. What I'm really looking for short term is a UI for SooperLooper that reduces the clutter so I can more easily tell what is going on when I am trying to use it. I don't think I need to feel compelled to put every feature in there. If I want to set up MIDI command mapping, I can simply use the regular SooperLooper GUI slgui to make those settings.

I think the "sweeping arc" widget in avtk is way easier to see and interpret than the progress bar currently in SL.

I think I'm unlikely to start with the luppp UI code. I think I will just start with the avtk examples and build it up simply from there. My first thought is that I can have 4 tracks and 10 scenes which means I will launch 40 tracks in SL and switch between them using the MIDI footswitch mostly. Only 4 can be active at any time. I'll focus on the JACK sync model because that's what I'm using.

I already did some experiments with my SoftStep controller and SL. I can set two foot switches to be "Next Track" and "Previous Track" but in my testing so far the buttons are obviously bouncing because I advance twice unless I'm really slow and deliberate about (i.e. this is not practical in the real world). Someone has undoubtedly invented a MIDI filter to prevent that, I just need to find it... :lol:

If I use track selection then I get to assign 6 buttons for individual actions on the "Current Track". Compared to what I was doing before, where I had dedicated record and mute switches for each of 3 tracks, it's more difficult because you have to look at the screen to know where you are before you try to do something. It's greater flexibility at the expense of immediacy and ease of use. Fortunately it is all programmable.

More notes: if you compile sooperlooper, you also get a program called "slconsole". This shows you exactly the command interface that is available to the sooperlooper engine. So step 1 will be to try to map these onto the buttons in a way that is useful.

Code: Select all

SooperLooper OSC test client
  r - record    o - overdub  x - multiply
  i - insert    p - replace  v - reverse    s - scratch
  m - mute      u - undo     d - redo
  l - load loop     a - save loop
  q - shutdown sooperlooper and quit
  b - just quit

  1 - set dry level (0..1)       2 - set wet level (0..1)
  3 - set feedback level (0..1)  4 - set rate (-4..4)
  5 - set quantize (0 or 1)      6 - set round (0 or 1)
  7 - set rec thresh (0..1)

State:        Off
Pos:     0.0   CycleLen:     0.0   LoopLen:     0.0
User avatar
Digital Larry
Established Member
Posts: 150
Joined: Thu Jan 09, 2014 5:25 am

Re: SooperLooper + luppp == ???

Post by Digital Larry »

As a place to start with the UI, I'm going to try to just get the following working on one track:
a) Sweeping arc thing indicating playback progress.
b) Red donut when recording
c) Clip buttons duplicate SooperLooper "record" button.
d) The action of the buttons and the appearance of the buttons will depend on the current state of the button.
e) Need to figure out how to mute or clear a clip.

Right now, the way SooperLooper works with the MIDI mapping is that the record/play/overdub mapping is kinda weird because if you want to clear a clip, you wait until it's playing, then you hold the button down so it goes into Overdub mode, and if you keep holding the button about a second, when you release the clip will be "off", as in cleared.

I'll have to double check but the closest I got with a different looper was Quantiloop on the iPad.

I think I'd like to have a minimum setup of 2 buttons:
a) record/play/overdub (single tap sequence)
b) mute/unmute (single tap) clear (hold)

I'll try it out without changing the way SL works for starters. :D Give me about 3 months.
Post Reply