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.
    • 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

                          41

                          Online

                          1.7k

                          Users

                          11.7k

                          Topics

                          101.8k

                          Posts