Modding request: Make Loopforlove remember midi-in / out settings

  • I'm looking for some help.
    I really like the app [[http://docs.monome.org/doku.php?id=app:loopforlove|loopforlove]] but it's annoying that you have to enter the midi-in / - out settings everytime using it.

    Is there a way to have it remember the last entered settings?

    Following [[http://post.monome.org/comments.php?DiscussionID=13899&page=1#Item_8| GTZ advise]] I already tried disconnecting the loadbags but that doesn't do the trick.
    As i have nearly no knowledge of max i would be very thankfull if someone could help me with that.

  • thanks raja.
    i will definitely take a look at that.

    problem is: i've never programmed in max & i have no idea about max in general and objects n stuff.
    only thing i did so far was searching some patches for //udpsend// and
    //udpreceive// in order to change some ports.

    will have to do more research & trial'n'error approaches to understand what i'm doing.

    as far as i understood from a first look at the stuff you linked to & the patch & your writing, i have to edit the "drop down" number boxes in the 2 sub-patches' (multimidiin & multimidiout) inspector & add a description/name for the scripting-name in the inspector.
    then i have to add an 'autopattr' and a 'pattrstorage' object in the main parent-patcher (do they have to be connected to each other? and how to connect them to the scripting name objects i changed in the sub-patches //multimidiin// and //multimidiout// ?) and somehow link it to the number-boxes?

    correct?

    will try it tomorrow when i have some time.
    thanks again!

    btw:
    i also added some pictures of the patch and the 2 relevant sub-patches.
    there are number boxes with the midi in & out devices.
    all i wanna do is set it to midiyoke 1 (channel 1-8) for midi-in and midiyoke 2 (channel 1-8) for midi-out.

    1011 x 420 - 76K
    682 x 552 - 63K
    1043 x 410 - 67K
  • Just to clarify, disconnecting loadbangs from the [midiinfo] wasn't to create persistence, but to resolve a persistence blocker. You probably still need that in addition to the [pattr] stuff.

  • thaks for clarifying. think i got you wrong.

    i'm trying to wrap my head around the tutorial.
    Am i dumb or where can i get the tutorial patcher mentioned in raja's post? can't find it.

  • No time to dig it up just now, but this should help:
    http://www.youtube.com/watch?v=wRCCYjBMTFA

    EDIT:

    Max 6 docs/tutorials:
    http://cycling74.com/docs/max6/dynamic/c74_docs.html#docintro

    Max 5 docs/tutorials:
    http://cycling74.com/docs/max5/vignettes/intro/docintro.html

    Not sure which he's referring to. The 6 ones are organized differently, where I think raja has the 5 selection memorized. I'd check that page.

  • @ GTZ:
    That video is just perfect!

    concerning the tutorials i have to clarify:
    I have found them (&raja linked to them), but not the tutorial patch.
    Following Raja's link, the tutorial states: //Open the tutorial//
    but there's no link to a max patch & i cant find one in the max dir.

    But i think the video just got me started.
    will try to mod loop4love and report back.

  • guys, i love you two!

    added 'pattrstorage' and 'autopattr' in the 2 sub-patches and in the main-patch.
    everything gets stored now. sweet!

    Thanks again.

    @GTZ:
    Did you run the patch? I think it's super useful for midi looping and using it as a midipatchbay.
    Only problem i have: there's no way to delete/override a recorded loop, is there?

  • There's always a way. It just might not be written yet. ;)

  • I haven't actually played with it. I probably should.

    I ended up writing a patch over the weekend inspired by this thread, and then ordering some gear inspired by that patch. There is something very wrong with me...

  • think it's the same with me:
    investing more time in the technical aspects n checking out apps n setting things up than in actual music production.

    back to topic:

    i've just realized that the patch now saves settings ONLY if i open the patch in max (not the runtime), set channels and save the changes.

    shouldn't the 'pattrstorage' & 'autopattr' objects get the patch to remember stuff even when used with max runtime?

    additional info:
    loadbangs still connected to midiinfo.
    if disconnected, the patch doesn't remember shit & defaults the numberboxes at start to '0'.

  • Not sure what autopattr's limits are.

    The loadbang into midiinfo is a good thing, generally. It ensures that your device list is up to date each time you load the app. But it does so by completely rebuilding the contents of that menu whose value you're trying to store and recall. So, let's resolve that conflict differently.

    Rather than restore automatically, try adding a "store 1" message box and a "1" message box, that both link into your pattrstorage. the "store 1", you trigger manually when you like your settings. the "1", you trigger after the loadbang. which can still be automatic; just delayed.

    So, maybe [loadbang]->[pipe 30]->"1"?

    (I'm typing this from memory, so my syntax might be completely off)


    The next step from there would be having pattrstorage load and save its values to an external text file (in the same directory as your app). If all else fails, we know the Max Runtime supports that.



    I'm also wary of storing every object indiscriminately. You run the risk of changing things that shouldn't change, but in a simple enough app, you can get away with it.

    (the thing I built this weekend had that problem. I was setting a bunch of sliders to control CCs, saving those as presets, and then morphing between presets. But, each time I changed presets, it would enable the checkboxes that controlled all my safety mechanisms, because those were checked to allow me to save presets. Also, it would reset my morph speed for the next transition, which was not what I wanted. so I had to restructure that. and I kind of have to restructure it again...)