Force M4L Ableton live to recall the preset 1 after loading a preset file
I have created a M4L patch where you can save parameters into a file.
I have a sort of little table of with 12 slots (1 .. 2 … 12 ) -> preset module
If I save my preset on the hard disk, it works fine.
If I load the preset file previously saved, the preset are read, no problem :-)
The issue is that once the M4L patche has read the file, the user MUST RECLICK on the presets PAD (number 1) to make appear the preset!
** How can I force M4L to RECALL the preset 1 (slot1) when M4L Ableton Live has finished to read the preset file from the hard disk?
Haven’t had that problem specifically, but I do sometimes struggle with saving the preset files in M4L. It’s probably worth asking if your .maxpresets files are in your Max search path? Also, what if you give the preset object a message of "loadmess 1". Or try putting a delay of 250ms between the the loadbang/loadmess and the preset object. Maybe there is a problem with the order of operations.
You could try [live.thisdevice]. It sends a bang if the device is completely initialized.
use pattrstorage. period.
----------begin_max5_patcher---------- 1054.3ocyXtsaaBCF.95jmBKtNC4CX.uq1dNlppbBtothXhLNscaZu6yGHDZ WBiPCndQNXCX+++8ez76kKhVW8pnNB7UvO.KV76kKV3mxMwhlwKh1wecSIu1 eaQJwKUqeJZU3RFwqF+z+pDnEaA60hZgw9WdgTsE7.WVJJNdyOToL0xeIbO. BGCalVcXmTUJL90GeZxpCl2O6dtYyi1E9dsXiIH0HZhck.jD2BZGQhoXHDlr BfgwPvcMOorvKlVQ+KnjtBjhuyKPQeWK4kGuRXuM+buHrKQQqre.24t5eVtz 80pOFv1qkJy0PFzYICrexPfLFK2hmbRfRwj9HCoGxb6T8FekWzRifukKUSpC BIGESSrTvhAThGCr7XVlELoWFEYeF7Q1TVUKVyUauF.AOKfPCDPHezTJMNkZ ihvWFPoi.PdU4VBnZQI.NKoWfH+OowjTKWPWlKzwxkasyi1tMBvtetoppLjV tN9o5J0bfKbp+GTBMNIoe+nOEIiCrxU0ZVnClNvfLxmA3TVwK1Ipq874C5Pg t1jSMHqIuDhkFyropXYWlY3wvra.udlqa2sCvDWSHHB8eq6yMFcsoRy2JlEx kwb+jQiyn8T4ebPq4R07mEE2aWG6leuS+jqswS0MnqgcKrkyjBkoiHZaEIw9 gPcUdxvGWOm5nsxfQnuWn3qKEcpqY2s.75rNYoogUBgw9j03f8LXPuVy5lpc 6Dm5Mq0xUo1DxQrB3BI9OFOeDhxvMxJUGQ05VzVrkP78rBa9pEmm0t+fd6ZO FhgWcifLXaYqlBYHn0qHu+jOHzssavKw0WdjaDOKziEnzScuDJ6L8.MkbZOI gNlRi8Q78wS37vyp8NDcJv8Zxt7AfxaZiLkLvJbr4gI7hB.e+dck8XWVuMv2 ZSRADlMfGEZw3b+P4VCuqEGWxUBb9c+X9z6X646RcEF66zc3OU9eCHdNAQlG flm2RulSJiP4w4Y81oOhNu7DHe.v0aAlJvO51Ewcizykl0pzrYhygVRXCtWN T57f3C0BPwgc6spwH8ZwnSmLLzd+jSSLhcJlOrm1d8xXVof0CRyFFR8OaToT 89WOnWRby+VNWWcPu4XqgMuf.vIInPTajJO15bOYu4ddTVTHTc05cxh8URko QDHLayKs0cy8mH+8ScZGk0tVG8ZN7r9JCUSxFflf9.ZRJKlFpYRaFMAJAcHJ Qx0oEMhLgD5orynIRAP2Vq.JGFmerw3PwaDgEibuaPxYmxYcfuwVMEpZx.rU zQYpvLbG42OZBjezPT.2KadLNaYsZP9wWtc1znF3aeb+QGGZZW2H2nIP9ICP 9GWDOt4cKzYzT3FM.4ebNQXDpSJW+n+q7GJHZODg8np0MBgWzssX7Tk1MLck enTEF5kgHs3Y4w6Oeoa09yx+B8ziTQB -----------end_max5_patcher-----------
(from memory, untested)
If you put pattrstorage in parameter mode, you won’t have to go through the trouble of saving a separate file…it will be stored with the preset in your live set. That doesn’t prevent you from adding read/write buttons to the GUI to manually save the same data to your own location for safe keeping, but I find it generally easier to not have the hassle of doing something that’s already built into the object via live parameters.
I am going to check now what you are mentiong (all of you)
I will make after a feedback to keep you inform :-)
I don’t know how i missed this, but I found in pattrstorage the famous "parameter mode" … and so I put it to "Enable"… and now it works fine, no need to save and "relaod" the presets :-)
I will try later the patch included in this thread as some info are nice for my patch ;-)
Thanks for the live.thisdevice tip, Broc. And the patterstorage example, Pid. It makes me laugh how "clunkily" I will build something, before realizing there is a more elegant way.
I have heard that patterstorage is much better than the preset object. My issue is I build patches with multiple independant presets in them. For example, one preset would be for a synth, and the other for a sequecer. Preset object seems simpler when I want to make sure the right value is being controlled by the right preset.. Should I consider doing the same with pattrstorage?
You can do the same thing with pattrstorage, it’s a little more involved. I curse pattrstorage on a regular basis, but it’s an indispensable tool. Unfortunately, mixing it up with parameters in m4l (and in as of Max6, many more objects have a parameter mode) can be less than straightforward. Still, I couldn’t code without it anymore, and it solves more problems than it creates for me. There is just a lot of functionality to take in. I’d recommend doing some experimentation to see what works best for you, but I’d definitely recommend trying it out. Then put it down before you become violent…and try again tomorrow.
are you aware of this [js] preset manager for [pattrstorage] ? I’m not sure who made it originally, but if you’re really attached to the UI of [preset] then this will a lot to ease your transition!
put the pattr_ui.js file in your max search path and open this patch.
----------begin_max5_patcher---------- 489.3ociTErbaCBD8rzWgFN65Ariji5sdH26zzaYxnAKQRVOxfF.451L9euv hPR1Shiur3kc0i26sfeOMgrUcTXHYeO6orjj2SSRvs7ajLjmP1yOV2xMXaDo 3Ops6HKBkNv0R9dAVoeyp0TJcUYQrpUbzhk53Vq1XUZ9qhXwWTR6329CMvai Uj86AYqvhGHaXSnAazc1eikG6zga8af70Jsn1FTAK+tkzEtk09khRLwEyddB cUu8R38rw.+CYCi49nv1gNs+sSDPmPFwwvOHZpb7wczUd8Aa6sAuLYz6RH0s fPZmSPpmQ9PtOTPGolWOZmiXE5JgjusEOTZr3f+MCpUd.vv8C3k8L17ozzX7 T5habxtyzCiFqVYUdYONg94ud3wG98iSMHLNcwsfRNmQqndC+NLVVDL+7yc+ qNaKuxnMmtL2I06+Lrmyo4v+wS7q30War+BzNYJ385pdX4NCYliiMSZA4kOs PQ42+7wfQ0qqiGU7Fd1jvZDFKHG00SiV0rddCZZDx4hXOzzo.ocfCrh0d6is Y38ACWNKaCZsEz3umH.X7VDNlne3UqaUYk2fvtP8eoxBD18eOyjx4Yr7P1fE 3y9RsEFh7ttCBsYffnrbuZ1oz9zhEXJHCoH8HZwAH1+lTOZmR+eW1Gj4 -----------end_max5_patcher-----------
Amounra, thanks for the advice/encouragement, in regards to pattrstorage. I’ll remember your words, "try again tomorrow", next time I become frustrated with Max. Sometimes it’s best to just take a walk.
Mbryo, thanks for hippin’ me to the pattr_ui. I just tried it (I had to rename the js patch). Should be pretty helpful. Looks like it was made by Charlie DeTar. http://tirl.org/software/pattr_ui/
Note that you can also use the preset object to control pattrstorage. Look at the interface tab in the pattrstorage’s help file to see an example.