HISE Logo Forum
    • Categories
    • Register
    • Login

    useUndoManager. How does it work?

    Scheduled Pinned Locked Moved General Questions
    19 Posts 6 Posters 722 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Christoph HartC
      Christoph Hart
      last edited by

      It does coallescate simultaneous events into one action, but using it for an A/B scheme is a nasty hack.

      ustkU 1 Reply Last reply Reply Quote 0
      • ustkU
        ustk @Christoph Hart
        last edited by ustk

        @Christoph-Hart said in useUndoManager. How does it work?:

        It does coallescate simultaneous events into one action, but using it for an A/B scheme is a nasty hack.

        So how would you do that? not for an A/B use, but I'm curious on how to undo/redo several parameters at once using these methods, that's counter-intuitive with general undo/redo behaviour 🤔
        In my (simple) snippet, it does it one by one...
        I can see a hack for A/B using undo/redo but it's nasty (certainly more than one of yours 😀 )

        Can't help pressing F5 in the forum...

        1 Reply Last reply Reply Quote 0
        • Christoph HartC
          Christoph Hart
          last edited by

          What it basically does is to run a timer that is executed every 500ms (or something like that) and coallescate undoable actions that appear in that time frame into one undoable action. Otherwise you would have to press Cmd+Z 20 times if you moved a slider.

          Normally this time is short enough to not coallescate different parameter changes.

          That's all done behind the scenes and is the same way the undo manager in script node and the interface designer works.

          ustkU 1 Reply Last reply Reply Quote 1
          • ustkU
            ustk @Christoph Hart
            last edited by

            @Christoph-Hart Ok so that's useful for many values in one unique component (like sliderpacks), but obviously not for several components at once

            Can't help pressing F5 in the forum...

            1 Reply Last reply Reply Quote 0
            • Christoph HartC
              Christoph Hart
              last edited by

              If you think about it it still is: if you have some sort of macro button that isn't connected to the undo management system, but changes 8 parameters at the same time, you still would expect that they are being undoed with one Cmd+Z keypress.

              There's literally no scenario except for when you're monkeying around on your UI where this becomes an actual problem, but solves countless edge case things - believe me, it was implemented differently and it was buggy as hell.

              ustkU 1 Reply Last reply Reply Quote 0
              • ustkU
                ustk @Christoph Hart
                last edited by

                @Christoph-Hart Yeah I believe you :)
                I was more thinking of the user moving parameters side than macro/behind the scene case

                Can't help pressing F5 in the forum...

                1 Reply Last reply Reply Quote 0
                • ustkU
                  ustk
                  last edited by

                  @Christoph-Hart For an A/B comparison, I was thinking of using preset save/load via script, but we are hitting the validation window problem as soon as you want to overwrite the A or B preset...
                  Maybe an array containing all values combined with component.changed() would do it for an A/B?

                  Can't help pressing F5 in the forum...

                  1 Reply Last reply Reply Quote 0
                  • ulrikU
                    ulrik @Fortune
                    last edited by ulrik

                    @Fortune this snippet works as a compare A and B, but is only for those parameters you assign to the function, I have 2 buttons and 2 knobs in this example and it seems to work, but storing floating tiles values like the velocity etc in an arpeggiator it will be more complicated I guess
                    And this is not comparing a preset from the preset manager and modified settings, but maybe it suits your purpose, I don't know.
                    For comparing you have to press the "SnapShot" button and then start modifying the settings.
                    With the Compare button" you will be able to flip between the A and B

                    HiseSnippet 1324.3ocsX0saaaCElJIJswatXAX.6VNewfMZlibVa2.xxlicRFLZShwbVPABZ6Xjni4hDofDcSLBBPez1dS1ivdC1NThxR1VN9m05KB.4gmy4iemORcXZGHroggh.jwFmMvmhL9byNC3xdM6QXbTqCPFaZZK77IAT79XB2A2.0XfOILj5fLLV8WTKyXi0PQ+9metAwkvsooSgPmKX1zWw7XxzYaW+kLW2iHNzyXdYV8yp2xVvaJbE8AHspoExmXeM4J5ID0xVwDYr9gNLoHnijHogHi0ZHbFzom3Fd75OmExtzkpFTC0ABT7zGIbcTHVMKpYOlqS6jsdHBhR6ThX0Xh3KMOl4vFNeJg7EQFvodjkOLV4gfWsYCOq7fmQF3sVL71zric.yWlZQgsOyrEWRC5RfRPVXEuVzJ+0iLaJfUvkU8HWSOJ.FLzixuvxZK7ysrprawBEK.EhPI98j.baR.P+vpN8x+fZKCw6guHILWQkMA8gfCCJW5k7KqUpxVEKfeveS04cVZmaH409+3Lj42r6z8NKc3GPCox8UrfxkwMzHwPVSc3DePFHAa4CgjETpxHgro9r2zbSauTbIa6sw3yf5JlfCg3EpRnnKV1ipwVHF9ijwuJL5rbHnToJydXFGWRuwJUr.i6x3Tb29baISvwBdB9TvHP3V1NACaA3zsOsRwB2ESertkilAu2d3ZUhm6tTlUmjp1tTRP4J6NtkF4XoqHnLaOqcwrebbsXUWJ+JYOvzSeZkTOtazRoNoWvdCvjiGBXVEqdtBzPZ2d63UOL.2mKPR1GyU9AVKT3Rq5GvfpVJZpraZVJjIWEKbeTAcVZkpgzjJRShq6kvkkkmnVEqMhUGI5IkjXnD4FlrGd.bkK1S3v5xnNCkI4IEzwX1JAUB6DIwlHtYzaMJkt5HQIUhUaDreRcJDKEwZUm3TDh6FH7xJXmCg2GIQTi4RDMCwyxAf7xYXRNmsnRQvCIWfQmrnnCRiJSRnV3uAOpjG+06Y8IfkmiMYib2jEte5mXFdMY9GXFUQqNujQtehPROkWtRg6JrQAHWiapa2bsoClKMHWyp9dBdHGKy66cIMH4PUxBgF.FsCi0muNLri4kLKTvawYxS8o5wObKRHMwBcirtFgvRkQ8h7DcuHcbYNz.DCBx5lpVAPQXW6773wNyziF8kRAW6g5i9KrGKTN1vTqMzNkou14w8BlI2Emi++VqCHRhp8NM2B7sOMPxTkUiCnuG5aNtYuMLOfFdsT3iLd7PUMrclE8eaZ9Nn9frsYeCyQ1Kch2VuGkcUuLcn2pNZ9yzNYxzed0GyLMY4dZ6o2ljISCGX33Y4fEIKSe+rPYYs4PVkln+1OSh9v0iDIy4QgcaVXNRnXgGK7f.QBfoMVIajeTbjKpi7qHWRciB7SxNSVZ+CWjI3.6LZAt9uOQA9mpKo2JUOsT2aZ0pUQKNF1YZb0hfguJg3ia5oitEH3EoS7BK3cdBm9tD4nO9S8hWsA395Qdkk5kT7PlbP1WDu.uHzZtev57B2MMayj18xGuqjCdgai9TiW86qKZdX2tvG3SA6ZlG85k8wzK.T9UQeU2NGSjALPQYdReuNPuu1T.IbN0MTc3dE086wisTiULSGJ2IZv+B+zFqoFanMVKwHxiXGHdmc7GHTuf+wQy.XhG8OxXCyiUiwIe8xvzzppExi4vdmsshJ9V.646yNKgOe2R3yyVBed9R3yKVBe99kvme3A8Q8+zY+9RgW7wDXh1GF84YCiC4DPkEoHQ+GuqzG+B
                    

                    Hise Develop branch
                    MacOs 15.3.1, Xcode 16.2
                    http://musikboden.se

                    ulrikU 1 Reply Last reply Reply Quote 0
                    • ulrikU
                      ulrik @ulrik
                      last edited by

                      @Fortune I forgot to use the .changed() formula :)
                      Here's an updated version

                      HiseSnippet 1588.3ocsY80iSaDD2937URfTApUp8ws4gpDAjymK+ohqW4H2co5DbPZCE0JDP2XuIYKN65ZuginSmDeW52j9d+Nvi8w9Re95r9+NwNwD3LRP1c1Yledle63cV55xMIddbWE0JOYpCQQ8xZ8lxDi1aDlxTNbeE0uTaO9XGrKAceDlYgZibbIdDgR6oNXOOhkhp5E9A4pUqrth+y+du1XaLyjjLkhxS4TSxCoiohjY6t6Cn11cvVjmPGmZ02b2CM4r8317I.xtflthC17U3gjGgkKaMME0MNvhJ3t8DXAwSQc81bqo8FwOlEr9mR8n8sIxAaozCLTvzc31VRDKmUYuQTaqtQQ.OEvJcShGWHHd74ZGQsnwymDWthu.ThFoiGpqsH3sUZ3oWd3olBdqG.uqp0yzk5HRjHw1kzNjIHtCvPJHMrBVqxZe1kgjJrBln0X7qHcbgAwZz3155WGcKc8laWqZspPhvSfdM1E8.V+sdJ1dBAsCJR8gDgjdvYvfF0iWQcotYzzXoZZjmlsErk3y3ULulFKUyT9rV0M2DgtQxSZi0E6BLOH.839+NwT3A17YEGBp2750phV3SwQgUVYYf3CQYvyOe6h0Nc3HnBv8kQgmu87BZGIHsndLrCrCPTX5HZAyjGip9TjZgxSkCGLgYJnfAPC3tHwHhjK34W7BBvdoywYR2x+PY1TFI1DHNSlPkd1ka2vLxsWGfFPbZVq5I0pVIl12Bd4aTWPdindzJ.TcpOxVDcQpWnO1Caa2GJ10HimCd4xEbFKGbFqN3LV.3LVB3jDxk.t3MuAfq+vfZ9Q.DsyNnstGR+Mcfm6bGc865+a4u5zYYnOX+P9nOEzV.5MVN5MJK5kO2M92AEWWB5MV.5yF6kr9m.ExQXjGrKxStMiOvm5GrizCA+kfxFFrMvC9zDQJdLhxP0C2NWOuvPztxEGJjEHnCZj7Z2LXtSRpmD5jVl1DrailaOqj14HA1+1fti91H52MaE3V1D1PwHPz0tVyDMNIaArPm9L5yg5GyZBXVYP2OCBtcyMCVchENMWjD8hTJ..gMOtMokiKExpIvI8aYnaB+mESKRJRlO0XlzU.8HffDUHUxJhYIGSEiPSARKZL2hNfRrhYJ4wFBswxICRG1ymkMmcSQ4ZWOY097Rh.IeQPNQoJOjfGPWsBbATT2kONMmsDbuOR7n1khGsL9ypgf7bpWjSymWUjZlivrgDqFEyAk4i3bAj.lOGF5x1MmO9qi9ZT18HnuZG8ygjRIBIs+nDRNs38iwm9H+siY2uHsdpMSOhKHOl0nY0SpVo5oUQyJZvfbkEZLahathkcR4tHEavlLtOwMZKazBgVJx1yhVw8rjtkJyf3RpExYGxnhG6PXE0IiRXvD5oYiPTAKU32QymF1QSOapEwUgBMtrgl7nPJ93MrIw29W+2+bOkxpqQFce2e572Eqa6IBAmEpq7bBYz0u61Rqqwr5F9puDcqD0x8podUsnuBji9+7g6iEXYyjg4.Hu3PbETYJWcexqgtzCZsrh19DuWI3NJpWNlwCuXKKM8lD+8hcmlto9ioVhQokNhPGNJ08Ab3tJk2SFo7z6b9X5o4o.IdZ2eKsmdwrd5WmyS6+93ozuSu8O9f7z5kfdUP.DFj1RZkgoUPVGLE06H9XvPX2oQ0CRr8mDX6Zg19g39DaeS+oomoXREalvBjdlMr786J64QdyVgGQtUqVq.FJlt8dfguH9xz7O3UuvigUN3bIs3FMKhP91eb4zjHrjoNZI8twrdOCI8816QUhi89EK16wsJV3lQqx680zTh5VCDtgxwmcVX00RBkEGH9PfxYgPY9656JZGwslXiEYuFR4cuFJ.9Nel66SdmdLOpXZ5udctb2jkEtWUqKUXNJe7tVN3E9R04MdCuo2ZZGLX.bfvDvttVme47+ZcU9I9D4gpOBKbo.gR6QSF2CXClD.ILFwVdVL00jryfw5xwxHSOByxe.vYNKT3VxwpgB2JRnxXroK+klAGdPdWxWzeF.SL+qTuh1Qxwn3S6noo2RWYL0h9RSSYn3F.1yWGiUPmuYEz4lqfN2ZEz41qfN2YEz4aWnNx+2Et+DAebv1DXhtG3ezMU0CXXfk4yHU9e.iud9y.
                      

                      Hise Develop branch
                      MacOs 15.3.1, Xcode 16.2
                      http://musikboden.se

                      FortuneF 1 Reply Last reply Reply Quote 1
                      • FortuneF
                        Fortune @ulrik
                        last edited by

                        @ulrik Thank you! I really appreciate that. However it gives error in my system "API couldn't found" I am using the latest Hise build.

                        ulrikU 1 Reply Last reply Reply Quote 0
                        • ulrikU
                          ulrik @Fortune
                          last edited by

                          @Fortune hmm, strange...
                          try this:

                          HiseSnippet 1807.3ocuYssaaaDDkz1LMRNtIAnOzG2nGBjPhkoYykh35Xa4KEFINQsJMnEA4BE4JoMgZoJ4p33ZXf7Gzeg9sTj9ezm6S8OvcVt7xRJRIYYmxGDD2cmcNyLmY1KromqE1220SQszyNZ.VQ8JZsNhx5scOSBUY+cTT+Zssc6OvzCi1BYRsQMPC7v9XlRiiFX56isUTUm+64iVszBJAO+6FMLcLoV3jlTTdtKwB+XReBKo0la9Hhiydl13mQ5KM56r49VtzsccbGBHadMckAlVuyrK9Il7gMmlh5k10lvb8ZwLYXeE0EZ3ZeTqdtGREi+4DeRaGL+kUUZASjn48bcr4Hl2px18HN1Mi7.9JvrzLweLuve7UZGPrIwsm3WtVPGnDIj8GpyMN3spL7zmd3oJAuEDv65Zsr7HCXI8vw1hZ6SYXuNlPHPFVhwpLW0qBAUXDTV89luCumG7RrDUumt9sQ2UWu1ZKUdoxDpkyPab0JaC9dOylf8y9Q2gLBEW+s9UDCZoxP7xmgduoG5Qz1q9bSmgXz5nHszEy3rHWJ7R0JwiHP5TRZLQIMxSxFL5DzY7HFURiIJojNkksE0b.DTYOtsSgRKMlLZNLsZbBmLjPcuxJHzxIOxSWSSOH.Awvm19sXKlOLounX2ekZ2doxnw9TbDXlElGDNOBCZ9kqUrzxtCQQps3dgWt1nczHpibhHSJbHEK5LjZwHvDf535gX8vb9jePcRvQ4KGqRE1DR+HpaazpnBFUtBRnNPhWrdQtTdzjCWOWmpVQX81f8.L1ZKU9Xg6hzoZPKnar9PpMtCLI1PukhSEqCNkpUX3OvpDILXkmDXoiiFwkKT8aa53zFpSWMEnRbVAlqw42bMNWlqwratFiwbMFwbaLjw.HuJGOKelexy14oOi21KEWlSXfs6JVDMxHQquNZ0MP5eXO3492WW+AA+m+u81aRd.Q1a9d.InMhGvX17.E4BLlrKvXZcA7mGD+ewRdSvEXLFWPZRfvI7LXAVjIxGVGvGVG.41InNgnLjOB9AVJsqnlgOrkALu69HBEUIrFVEzndF9LKVPFk0IglYma3J7TmI3giyt3txZhLtiSJKGB65VNXSup0VKaOMxoGn7YUx55qgHeW1Exp6focY8ftt0spkHwwoWGHTouf7Rn7c1o.ZkGHCXEfZWYEwnSlgSD+8DdPKqYHTO5gH8MjWwOUEjfk4CBuLHbSqWudkZOn3QmgSDLbImQxx9oEKYi32D0HOI3CWXjBlbwD43PcQr4rbAYJcDN373Xd8gDvIcDjng56ZS5Pv1Ib6Il+mKaTnkIWrmCoVAYNip4jznFURFcPtFlg31JZPDYwGwbEof1BU.qp641OIOLyZKb1O5l2LGhRw4DxjohByaw4NSlCrbFNvEdxTioJYZjjnKDDjmRiI2I450VaxhY0yj1EamGTOIgRDSG.NvnznPU1n1nT.czHLfardNLfhBnoCh+e33Zbg33FWwkn8IWPokTI17YWJq+ItL7SoUqU93xkJeRYT1t5zI29BmLGrWtcyudAuwIXU5v9swdQ0VhFHbN6zGjWq3CxKeOCVB+hz.co6SIrmN.SK538JgNS3f9ZgnBFJK3X9eY3w7a4PrwdJD3z7WRiuIak.7FdyIu42+y+ZCkoUViTx9GCV+eJVVwN4BkkuWuTxFbkOSsrFYkMzzkkconq0vjhcBDcQs3UjxQ9eZ+cLYl7qHIzIBN1AXOFgGyT2A+dhEVbgIkz1A6+Nl6.E0qDSYAjMI+7GRz2q17H4qp5PhMqmbu8vjt8jtkq82TY50jgjl96AWjZZzXXhl17MxZ5UY0zuLhl14rnIYa5i+54RSZEpoRQ2SYQNP3Eey2i2m1Tb+kppyKOyWNMy6wlsCYdPKI6iqPd.Mik.dzrVxC2jWymekhit+OkN.usE42jn05aNUv6JZIqrTH24LftqpkZalSDXeQQ.aQs3KWnHl1G+gIG+ivUpJbSo1Mxp8Truyr1ipQN4fxhZwGDuvrL6oW6yooDcLVnyKob3omFV1bJgx3cDmGnb5nPYwooFtTdTaInzbPFn.AoLPAZA1Kg6gQ6nvmyY2xwAkz.gg6mfwSCwXRqF7l+zm9TPyoLmvmLEJlSYzad+ZZG3ZOzwjk9iBv+RHgc.avH0suyugcpOgcj7xleV9RASKbutVSBypW93ctbvKrB6ma7F9cWVRa2Ncfchl.1Ez16m+7+QVTDeaitGXx7H.IU6IC62BXGVX.ITfIy2DHPH3hF7tN+ctmoElZG7BmuE14p72UC6b0nNU5aZ449ZKwld3eYmKGzBfIZvG3pj1A72QwayRSSuttRehM40VVbWwx.1yWFiYPluYFj4NyfL2cFj4dyfL2eFj4aGqL7u02VCYt8EoIPCM2MXKmpp6RMAVV.iT4+.5nw24.
                          

                          Hise Develop branch
                          MacOs 15.3.1, Xcode 16.2
                          http://musikboden.se

                          1 Reply Last reply Reply Quote 0
                          • lalalandsynthL
                            lalalandsynth @ustk
                            last edited by

                            @ustk Weirdly this works even if I turn off the useUndoManager ?

                            Also, does not seem to work on a table hooked up to a scriptnode table or rather it works on some points , sometimes ? Unless this system has been changed completely ?

                            HiseSnippet 1987.3ocuY0sbaiaEFzVvwhab5l1z64r2T4ooZDkrjkZlo0Qx16pcWaqtxwM6zYZJDIrDpIIXHgjs1LYldYeL1Gk9HzGgbUutuAsGveDgr0Oz1aK0LZHN.378gCNmCvQpW.2hFFxCPZEOepOEo8Tb+odhQcFQXdntGhzdF9DRnfFXDKp8TeRXH0Foos4WJEnUr.J54e+6aSbHdVzLQHzEblE8aYtLQlzdG7MLGmiI1zyYtJiduC5Zw85vc3iA9rItBxmXcEYH8ThbXafQZacjMSvC5KHBZHRC2laOs+H90dwi+BVHafCU1vD0GTTr3i4N1RFKe+rIzfIL50pxPcFwbr6kZKBQHsB8xrLaFaYdA9DlMal7LKzmG0gQ1LTsQZaLOk2bNJapR4JJTdATRSgREhozyw8sBX9hrdj74yvc8fMrKIvVgBU1HdrnM9Uaf6vgQ3IJ6Rthdb.zX1LJ0nRkWZTuRkce0N5weXdNLOpwki8rDLtmA2armMusvSpk.tSIKtqO2Cz2KMlPbFS2cG8OritA7vtznTrHPPQoji7FBJqrTCkjPHk8wcz+H7ZJoFREcR0XouHAquX2xgR4QH1g33L.7MJcaprJRGPyAoKtTFKmd9XbBPKiwyyicekBEOkKnm4UZW8OnWT+i5F2tqKubg8knJGZvB6VFkErpIVxar6.ZPpgHcffa1pB2LWV3lUrUQYfbutdLwY9zj1206FkXJA+b8DVACUD4k+rDu71iEBtGhANyEwwMLQQTVMiC5dL8pOtoW6dL89NLaZPzzeB9a73CLeLSt5iYx4g1edxjA25A717ahl9mgSatRxWHVE+74vuG37GojcvYBVfZrIBBR6OgarWYg840Z81y95AM5CeEdVSuIUZcds5+gF8G99uL7L30qa0CdsQmiD1AKo8WOnY8N7IUd+Y+01+wwsJeWhtSBQOmHclkb7YpRVJIqiq0n77OSNqSy1Ma8Uc61sYmn1vWW9qkc0Jt88F9pKCd37Pza5dn7cH6dR7CDS4SCDLY3p1gzIvouwGUTDeHM7JA2Go8ylkqB7HVgSdRhJzMyv9eFbvzLh7pCtlYKFkI36OHjLg10qW.Ex7IO8iEdB2E.hDLUdBDJmHmjTWA4OMTE4e6iBYbNRqjg7+36UQ9Oev3P5a.5cBwCtYRv8W2UUzsw6Uz8AOdcWSQ29e3Qn6EjsJSyn2pp4KejZV0d7i9JZ9u8X0rp0.oZMLFtFM+jblD7FUGiL8268G3Rf9vZEgVLA0EhF+EXS8p50z2SutdC880ap2BsZVbexipvDgBS9j+AKXcklw4aICnNQJKECOtM0PDkHRQi+NEM9WBSi8vZ+Kn8HJa3H4lg1KjXSuAd23NZyvlSCM73Biq4AWgT4z14LI7R3yOJx3SAMU9bLz6cMv9oW5nqcTwNQPXb7aMmiTakyTyKiTSWEox0NxVXSmAN2A.r1m.8sDkqtCb5YFxUtga7R2XvXgQnf4DsADlWNTMgCXsF.RQ3G7SC92sXFnLJt8XGhX9ZqjEYlzAbo04psRVzhWHSLUsHzaWvUg7UvUV8fK75o4jtOG2iIrFsX9twB3Kbz8+q4aR4q6fO5xKoVhLxV.e7aWYspEx288WSozp0stULWzSb0.7kDYtvPUBc5X2n.MYsGPtQDBDjk0KRJ3.hRJrU6uiyJtwOf5SBnmy64PlVJj356P+NXY8RiANbqq5y9A5cqHJI4Pa4HJYMh34QcBeHENsUtK52bkE8i9N9XAya3IDQ.SFGJM.7wAVzNIrK0xjzthrszspO0yNpw+AdR5zblAC5zLsyrRuPmREIgmZZIuCqk3snCC8SEcAMHT5aCmyVoL7A8ZGG90xLJrDudXuKRVOtyT+QbOlkTT7HRo9qc4iiNFOh+eEI7bByQFlnswovAGf1OlXAFwo8HxjMOGKqqD7coAksl4COGuxbchhU.6cOR.wkJ.9FaqkJN8GXJ1NAbxMJKHbc5TGYHRXS4HisCQbYq3eJLKo236DwI+mid+xH5A9DkUFysXTtQuPVBjyIACohvjSMbn2jdg+j.iz2PxzK1zaR07QfioMnungq8FbiJYUozZVoI+v9Jkt.eUa+xSNp1jY8Op47i+VkxnXdkw4osfLGmv7tHtrErzGAcB4lYsMg1Ry4Svwhd8XA2EBThV6HkJXtE.OUA.brBfqV4yQKGL3Tzlff45suf5KC+i8HhpbxiFEXOGhyvvcrifMGFl2BiZUUwvbNLjXtRTJDiRnEA1DWmYKogNzYql62nZ8bn4gDWWRd07NPm60Z+562zb0JOx3rMNzkyA2+Ls+B45sR7i4dspXZ1vTArswxNyv6oRxTuR8ZR3xrZKTKqaopG6N3xsy6p8oQq1l60n49qewVDCZFRJHVs+ViEr8O2nWGNaEWWy5VBy6FOWWqCAL1lE7PAXMKgshMUWQmFN0yZ0lpVqNzr+Uzqiywt1P0n8eHGZN22ymYZaLHeDW7S5VgR1snaFIaMUl7N5vrtgWH6ExEjpF3vw1b9UtjnikeP+fO+e4RDtDq.96RNCTt31NRBXR7h92aJhOQ11X1ulVrozkYydmkk7xn+F3hrKdNUe.yo1CXN68.lS8GvbZ7.ly9Of4zbkyQ9mVkbzq7JaffdGEeaAsi7jWoH973+Kn.wSbC
                            

                            https://lalalandaudio.com/

                            https://lalalandsynth.com/

                            https://www.facebook.com/lalalandsynth

                            https://www.facebook.com/lalalandsynth

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            57

                            Online

                            1.7k

                            Users

                            11.7k

                            Topics

                            101.8k

                            Posts