Parameter Modulation...without Adding to Undo History

    Sep 04 2012 | 11:19 pm
    Hi all,
    So I've created a bunch of MaxForLive devices that modulate Live parameters in different ways. I use either live.remote~ or m4l.api.DeviceParameter to do the modulations. One thing that has been a real problem with both methods is the fact that all adjustments made to live parameters with these objects add adjustments to the undo history in Live. As a result, these devices are unusable to me, even though these devices are game changers for my sound design. It's not worth giving up my entire undo history in Live to do some really far out modulations, because I end up repeating tasks far too many times, and my progress in compositions is thus heavily stunted. Does anybody have a solution for this problem? I'm sure others must be having it.
    Many thanks, Mike

    • Sep 05 2012 | 8:20 am
      hi mike.
      [M4L.api.DeviceParameter] uses [live.object] exclusively. this means that every change will be written to the undo queue. you need to use [M4L.api.DeviceParameterRemote], which controls using the [live.remote~] object, which does not write to undo history. best way is to roll your own.
      live.object == for single parameters, undo queue live.remote~ == use for lfo's / crazy mangling - no undo history reported.
    • Sep 05 2012 | 11:04 am
      Thank you! That was what I needed.
    • Sep 05 2012 | 11:09 am
      For future users...
      If you are still getting the same problem, do the following:
      - use the device - after the device has changed the value of some parameter, click "edit" in the Live window, (next to "file") and make sure some other parameter isn't getting save to the live history - if it is, you'll see something like "Undo Change live.button" - next, find that object in your max patch, right click and open the inspector - find "Parameter Visibility" and set to "Hidden"
    • Sep 05 2012 | 3:10 pm
      Thanks! This is really helpful.
    • Jan 10 2014 | 4:51 pm
      Question on this - what if you have a live.numbox that you are automating to control something like DMX - you want the automation lanes in live, but don't want a million undos to appear in live everytime a parameter is automated - any way to avoid that? thanks!
    • Jan 10 2014 | 8:21 pm
      As suggested, live.remote~ should do the trick.
    • Jan 11 2014 | 3:07 am
      @stephane - thanks for the reply - but i am not automating a live parameter - i am sending the automated value to a dmx object.
    • Feb 14 2014 | 4:50 am
      Something like this will do the magic for you and you will see all automated parameters in live but without undo history. The only problem here is if you want to map it to another max device. I still try to figure this out... :/
    • Oct 02 2014 | 5:01 pm
      But what if you need to SEE the data that fills the automation lanes? Is there just no way to avoid filling the undo history? I tried live.remote~ and giannis's suggestion of using the pattr system, but both leave the lanes empty.
    • Oct 02 2014 | 5:54 pm
      From what I can recall I fixed this issue using M4L.api.DeviceParameterRemote. Read its documentation.
      It is the ONLY way of controlling automation in M4L without it getting written to undo and hangs everything :)
    • Oct 02 2014 | 6:31 pm
      Correct - live.remote doesn't store undo history, live.object does - there's been a number of requests out for some time to allow updates via live.object to not store undo history (via some kind of option) but so far this is not possible..
    • Jul 16 2015 | 12:11 am
      i have the same issue is it possible to set visibility to hidden and midi map this object ? its not possible for me now.
    • Jul 16 2015 | 12:29 am
      Yes, it does work, just replace the sliders with live.slider and arm automation in live. simple as that :)
    • Jul 16 2015 | 3:05 pm
      thanks for the answer, but i use a live.button and i want to control this with a midi controller via ableton midi map without writing things in the undo history.
    • Jul 16 2015 | 3:15 pm
      This does work perfectly for me...
    • Jul 25 2015 | 2:47 am
      hmm dont work for me. when i press that button i see "live.button" oder edit -> undo in ableton. when i change it in inspector to "hidden" it works. but i cant map it...
    • May 23 2020 | 2:24 am
      Ressurecting a thread here.
      "Something like this will do the magic for you and you will see all automated parameters in live but without undo history. The only problem here is if you want to map it to another max device."
      I Can't figure out how and where to patch the pattr object for it to not stack undos in the undo history.