HISE Logo Forum
    • Categories
    • Register
    • Login

    Can I manually trigger a Callback function?

    Scheduled Pinned Locked Moved Scripting
    44 Posts 5 Posters 1.1k 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.
    • MorphoiceM
      Morphoice
      last edited by

      imagine some buttons are not set to saveInPreset because reasons prevent it, how would I still save their values/states in a preset and set their state and trigger their according callback manually after a preset is successfully loaded?

      (buttons are used to load samplemaps)

      https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

      LindonL d.healeyD clevername27C 3 Replies Last reply Reply Quote 0
      • LindonL
        Lindon @Morphoice
        last edited by

        @Morphoice read up on the preset handler.....

        HISE Development for hire.
        www.channelrobot.com

        1 Reply Last reply Reply Quote 0
        • d.healeyD
          d.healey @Morphoice
          last edited by

          @Morphoice Only controls set to saveInPreset will be saved in the preset - unless you roll your own preset system which I think is what Lindon is suggesting.

          Libre Wave - Freedom respecting instruments and effects
          My Patreon - HISE tutorials
          YouTube Channel - Public HISE tutorials

          LindonL 1 Reply Last reply Reply Quote 0
          • LindonL
            Lindon @d.healey
            last edited by Lindon

            @d-healey no actually lindon is suggesting that you save the widget's value in a panel data and then use the preset handler's post callback to update the widget....

            HISE Development for hire.
            www.channelrobot.com

            d.healeyD 1 Reply Last reply Reply Quote 1
            • d.healeyD
              d.healey @Lindon
              last edited by

              @Lindon Panel's value rather than data, no?

              Libre Wave - Freedom respecting instruments and effects
              My Patreon - HISE tutorials
              YouTube Channel - Public HISE tutorials

              LindonL 1 Reply Last reply Reply Quote 0
              • LindonL
                Lindon @d.healey
                last edited by

                @d-healey said in Can I manually trigger a Callback function?:

                @Lindon Panel's value rather than data, no?

                well either really...

                HISE Development for hire.
                www.channelrobot.com

                d.healeyD 1 Reply Last reply Reply Quote 0
                • d.healeyD
                  d.healey @Lindon
                  last edited by

                  @Lindon Is the data saved with the preset?

                  Libre Wave - Freedom respecting instruments and effects
                  My Patreon - HISE tutorials
                  YouTube Channel - Public HISE tutorials

                  LindonL ulrikU 2 Replies Last reply Reply Quote 0
                  • LindonL
                    Lindon @d.healey
                    last edited by

                    @d-healey said in Can I manually trigger a Callback function?:

                    @Lindon Is the data saved with the preset?

                    err, pretty sure it is, but now you make me doubt....

                    HISE Development for hire.
                    www.channelrobot.com

                    MorphoiceM 1 Reply Last reply Reply Quote 0
                    • ulrikU
                      ulrik @d.healey
                      last edited by

                      @d-healey said in Can I manually trigger a Callback function?:

                      @Lindon Is the data saved with the preset?

                      I'm pretty sure it's not saved with the preset

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

                      1 Reply Last reply Reply Quote 0
                      • MorphoiceM
                        Morphoice @Lindon
                        last edited by

                        @Lindon this is something I have no clue about yet, but I'll dive into it today.

                        the docs say "Control Data : persistent data that will be stored and recalled when the script is recompiled (or the preset is loaded)."

                        so basically I need to store my values in the panel data, and upon loading the preset trigger the corresponding buttons (which in turn load the samples)
                        but the question remains how do I manually trigger a button callback and make it execute its function? I can't just call onButtonPress(); can I?

                        https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                        LindonL 2 Replies Last reply Reply Quote 0
                        • LindonL
                          Lindon @Morphoice
                          last edited by

                          @Morphoice button.changed();

                          HISE Development for hire.
                          www.channelrobot.com

                          1 Reply Last reply Reply Quote 0
                          • LindonL
                            Lindon @Morphoice
                            last edited by

                            @Morphoice but why are you doing all this? It seems a bit of overkill.... whats your actual requirement?

                            HISE Development for hire.
                            www.channelrobot.com

                            MorphoiceM 1 Reply Last reply Reply Quote 0
                            • MorphoiceM
                              Morphoice @Lindon
                              last edited by

                              @Lindon I have a panel of switchable eproms on a simple drum machine and I want to store the selections in a preset. they're all buttons and work nicely and I don't want to change them into something else to have two days of tedious work all over again

                              Screenshot 2024-12-05 at 16.11.42.jpg

                              so I'm looking for a simple way to store the settings and upon loading a preset set them all appropriately.

                              https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                              d.healeyD 1 Reply Last reply Reply Quote 0
                              • d.healeyD
                                d.healey @Morphoice
                                last edited by

                                @Morphoice said in Can I manually trigger a Callback function?:

                                so I'm looking for a simple way to store the settings and upon loading a preset set them all appropriately.

                                Why not just set them to saveInPreset then?

                                Libre Wave - Freedom respecting instruments and effects
                                My Patreon - HISE tutorials
                                YouTube Channel - Public HISE tutorials

                                MorphoiceM 1 Reply Last reply Reply Quote 0
                                • MorphoiceM
                                  Morphoice @d.healey
                                  last edited by

                                  @d-healey because then they are triggered multiple times upon loading the plugin
                                  same problem we had with the drum pads triggering.
                                  i have hidden panels underneath the drum pads which contain the sample map name, those are saveInPreset enabled. All I need is a way enable the appropriate button according to their data

                                  https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                                  d.healeyD 1 Reply Last reply Reply Quote 0
                                  • d.healeyD
                                    d.healey @Morphoice
                                    last edited by

                                    @Morphoice said in Can I manually trigger a Callback function?:

                                    because then they are triggered multiple times upon loading the plugin

                                    But all of them will be off except the one that is on, so only one sample map will be loaded, is that right?

                                    Libre Wave - Freedom respecting instruments and effects
                                    My Patreon - HISE tutorials
                                    YouTube Channel - Public HISE tutorials

                                    MorphoiceM 1 Reply Last reply Reply Quote 1
                                    • MorphoiceM
                                      Morphoice @d.healey
                                      last edited by

                                      @d-healey said in Can I manually trigger a Callback function?:

                                      But all of them will be off except the one that is on, so only one sample map will be loaded, is that right?

                                      correct, yes

                                      https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                                      d.healeyD 1 Reply Last reply Reply Quote 0
                                      • d.healeyD
                                        d.healey @Morphoice
                                        last edited by

                                        @Morphoice In that case it doesn't matter that each button's callback is triggered when the preset is restored.

                                        Libre Wave - Freedom respecting instruments and effects
                                        My Patreon - HISE tutorials
                                        YouTube Channel - Public HISE tutorials

                                        MorphoiceM 1 Reply Last reply Reply Quote 0
                                        • MorphoiceM
                                          Morphoice @d.healey
                                          last edited by Morphoice

                                          @d-healey alright. I had drums triggered on an attempt, but that was due to a samplemap load callback which I removed
                                          I have enabled the buttons to saveinPreset and the values do save in the preset although they are not properly restored when I load a preset.... also I have trouble setting the initial value when no preset is loaded

                                          have a look

                                          HiseSnippet 14949.3oc68sEbbbkcXCHUKwY3CQIq0d8qTsmr10fUPCm2.PboHHdQxU.jP.PTqMLWpFyzyLsXOcOa28.PrTbC2Wt10INqb7Go3ONJU4JU9xksKWU1sxGhUpJUJmRkqMkK+Yh0les+P+jpxeIm6it66sm9NSOCF.LCTCIBz88dO26408bOmaeen9HGUiZp0dfsgV61pNIRL0Y2vxrppssoUhoRs8AsUSL0Ej15.CmlK0TQyHwsWNwTmWZcSq1MW1pSqDKdPaEaa0ZIlZpydSTAlJ4Kj.+yme8EUzULpp5mThD2yTqp5ZZszb7SciEdaMc8UUpotsVKlRWZgaW0zXIScyN.xbVobIZqT8gJMTuiBpXmQJwsTralXpupjRwh0pWoxbyWqZox4mutxr0ptaw4KqVqPohpyqVq1rEqsa85Il5EWollio0VNJNp1Il5EVzr1Aa0zbeCRCbOMasc0UQujOwVPKSRdUS8ZHRDkZhkZpoWyiKYC7rWigmcVBO60jVWqllW597tKiyP1GBVF3TmgG8NKG5kmE8xwfdgfRmgAkdABJ8JRaU0RqsieNDY4sMbTspq.xIVTgT1Dm4m8kjtxUjWDX7MrL6XTS9e9pqlC+yLnGKjOekBEIONa9kKUV9MjWriiioAJokJWYtkVBm6bqVoxRUvOtXk4KrTgToVxDZYCmrsTdn5pVvKdXRl7EJA0ekx4l9poVwnglgZVcSkZqBE5F1YR+3M17te8UVZ6Gr5cWa4U17InzsuxcezAMTMxZo1nithUVGm5omQNMI0zCQEsKH04qE4EgjPUEtCQ1Zp0UsVRQWeWf8Xmwwpi5zWUNUJMip5cpolI8dpV1ZlFUapV8gY+.aDjoRsmhkrFzq6QxIgetlbtqlBPY4VfZwZZ1Nx3Do3ZUKUPSXcZVY.3gdDPYZaoZq5bKEiZ5pVxAK+6ZqZsAaI7AD036VMj1XQKfsTUwFj.YdrVs2TNsMxzf0hUAxWwpg8aJuS5plsZaZ.xrzyjdOE8Npou+LxNJnLSm9IHpi1Jl5cZotktFTA1HzyUT2P04F55K4VMfD3d3hl1GAwuutJfG1I6Mn3B4CYaECuVrmvsghgAKf0.6XanTylvUDCGsb9.p11xrUeACWJhn2WFrHzQa0uAFQI5R.bqTutZUmLoI4klSlskghkpH.nYxCwsTbDUdbV7k9tsUMnPDB.d4F.o.tssiV0GJ.Ll74AbMysMaIB6nYxCAzEnGf3la.NfVO.glYPH.wXCkU+FB.glaPhoW.4kKOPKoqzVDpQxKP4M2eWUXPxvaDubC.jxtJ1JBaFZt7vrsRqcgwaACCPaEBTr4yC4lfzVTaQxK.1YAidKD4HYFjIzBY3CF5RNbtfa1APLUvN7tBPLbdoYLcQ6bljq33AXwuQ5dFRmSw.fytqNmhKOjYncNEB.MeAcNEiWtkHjNmhwNb1g04THDjrCouYOXAZg.AtiTO.Amen8M6AwDBPn9ehQMTtg12TLDj7CquoXXvYKpqoHn7KQ2cMESQnbCoqYOXAnrIinw3S0M5TSybUMcUavONyMLM0yDfMYfFb2AbHh1ijo5w.ukRq15pd9mx16rKfyBd2fZrt8gyvzPWyH69J6QPwTotxUf+WdayFMzUodmZKW2z0xvU7MbbkkUphJtFpJTkq2wnJpIkgA2wPu7MVBMPuEPad9BMiL1UnoS83TIICcivMWeoy7aQx8pISkjNNsnrwivFZloR5MBrf7YFpUPInCqJHW2QPEjMczRg4RGiSDk4MHnfJfLhmnLcGbST9zwwDjM6.VBJBYzIQUOYjnvy8IWMEiiedd8kIsm5R5oQPRUZbiUHS25SHUUQZc95m8T4yuXBjC8AaYG+rWHcWnSuvcRWrdh29cnGbb10BQuvWNTfXRfZQPYWYZxg2oGJfOli+6L9ns89ZNUa5lwzojkkeL5Wnef.oTkgn5nPCwG0DGIFTgPbhd0pMDt3tP3WO7pAAbEbnEAAijpPf1R0wQynQWf4lNGfOI0SDvYYvaQLVeFyzWUbsPP2CWc3h6QpV7i7FGz0CZoz1lF2cfbp5F0dvrA1UWooaZ9PfgVWUUuqhCCy4n01M3dPoB8ORX2xnIHSFhXD7n.rLaizwniGBIhSCFBzUcKCnkZ3f0rvyPPsGAY5FZZV7DFb25YbZpYirJkJoVcYBHYqhpI0ZSmJI.aR24Q.wttGRYMCpRtioip8NPkBArSFzsstxAnT6J67ElcZTSjD0VYqBpRMfdjnTdBe61xris561FZ2jjpz.pk6Vu9hGrBJ+aWKiGtzHbbYZhIzP54sLgv6ocCuDyVSwQIqhd6lJ.OKe1bPsBcxQivmolrlgGabZnGZxZHNyFJZFNaZBNTXnlYiMQTGN80Qzjm5kqXxK6t0+3QTrEKZKqhZYxTDfaWUBZZicxAzLuV5zD7jXLBTzA.zbzTzIPgRGFYydCTMrSt6yJJrQdRDVFMUbBK4TLrVD6+tFYvrPcSnifrgAv1VGrnqzPEIpPk3NcZsKYhinxbOIWVjEOf8YmwvXZpRGuFKoXtprPoPZStx.rfOfDq674U6dRPzudcB9C7OVsFpT.OiWgjMZ5ks5EfdV480xHDumbvm3cs6iksf8TPlSD4dkcZT5IkU86IJqJesqIW0ydEBNjKiYUrI99BXG1WZxaqqzF2xves2wGEbYrt0y8wLInp.cIzuQ+CHuDS8B7ylrj3YSlcxtqRLEyTPSiaCJlHWPEME3In1uSjXp+8TdITTG77NeI57NSb7NgVMzjN6RM4Sf4znYbNw.AXggEvhCKfkFV.KOr.VYXAb1gEv4FV.mev.7B9J.4FZHyOzPVXngr3fBomk57CMjEFZHGdrszPCY4gFxJCMjyNzPN2PC4.pweQFMgbCOn4GdPKL7f5qGcln.5kkrcmNhgPyO.zENTPW7PAcoCEzkOTPWYv34WPpJZJVFJKMdPVXngr3PCYogFxxCMjCHuMkD0s5Ajy5AWggDthCIbkFR3JOjvUYHga1gDt4FR3lePcuwUtmaXAL+vBXggEvAzV8kfdE34WcHzu4fsvg.1hGBXKcHfc.02eYN5cvMPilIYN1r+RkZ.qgBAqAZHXQuFJdnqgRG5Zn7gtFpLb0v4kppqzdnh+zEvBCKfEGV.KMr.VdXAb.0vunTU7mhYH3qrfVX3As3vCZogGzxCOnCriHNlsFJGQnvUXHgq3PBWogDtxCIbUFR3lcHgatgDtA1QDW4dtgEv7CKfEFV.GPGQNujED9yPYS1EvBCKfEGV.KMr.VdXAb.sX7JRNde+6gf2FD7BGNvKd3.uzgC7xGNvGX+87lzvRQ.RxRWkZk3VJNKqVU4f.d274cVHJvmThrBW6xMyMdqAA7BGNvKd3.uKuK+rOYP.m20xm9rm82LPfW4v05yd3n845p0u9f.97bf+YO6Y+rqGM0NpZSNN3kKV7u6SFH3GR8NO3GjfaBC9hGR3KcHgu7gD9JCq1CYszyy9eZghuzyGDv449O+u4S+m9jAAbdl+BO6Y+5CTqyy6+3m8re6AB7tX8e4AB7JGNvm8vA9bAYc+JCD3yObsdJW0lbGR3406d+O8Se0ACddMm2ud8zCF7EB19u1fAOup2BEK9qNXvWNnp6qOXvWIH8ekHA+4kPqffMPqEMd69uyO8OMR18ufDdcoFZM72Fo99WVxa4m1csrvu3a+WGQ7.uJSCEO9yiTMbQIxxXMTj3O6ShFRfWmrcWCx+v+w+xHUCWRhtbXCEK9AQrNnqX1tqC3mezWqq53ht6sOECUcbUbNI7hHJeDFKRHvENL.W7v.boCCvkOL.W4v.7rGFfm6v.77CEvIoJI4NTPm+PAcgCEzEOTPW5PAc4CEzC8TW6sxwGtuhvqJEbUbOb0ykjXWc0gTGu6sWVwQIAD0KcwgAwB2V0xQCsVzlZY08zppR1YxIkVV09gNlsA9k2p+EdVDKLkj6pBNwiX4eGv9x9Z0bZ5kv6+mrPSUsFM8214O+6svtMb2b4WPpTgYmK+74xMWtDZNpsXyXtbEKOWohkYxnfaNyVtXoYmMgi5ibXAY9RyWY1ByWNwtlVfQ8sz91bBZRpapTSqiMa564th7l5rS8BLbhyKhSbAoarqYGZB97B4+UK3yKdt0B77BHg.7hOq8BsAW.LbXZSFlLKCAsBA43CnDFLpLASqbAG51kmPYqpapfZys0.t.4StQ1HyKZYtuML5Hi7dYFZLQo.z3G+CBRi+7u6BT8PhRWvZ1WYfmDoBzhkyWb9YK1MsiUxOy+4yHgV7+oQqZxsT1SkzQI8aJi1T3y3lyJOpshAZGgaeC6kPd8gJQcEca+hfOpArBGb75psq5rlFsaIWV9Ie250AxDxKeNOftQsZg2DapZnzR.1urptpif71RUwpZyEUrBlwpJ6YZALMzQ4.adq1QWeCEmlt4aywInDzsMPKIlEw5Qb4emNsH7ODXEwIQd+8PZAaB5PlPF6f2fD4xVLvOyLfoCIeebafVK62vRUwikRagYB6OdPQvrMM2eCkZ0.k6nBmGOcQzAu.hR2gjw5lVTwPvb7U8BliKetqbS8jD8puOam0ywaF51sTZP5k9hf+pMLY5b99+QLcN+nmtPcn+L4T63WSJ390SG.MaaiFArXuP6f8fSb6EhJl1OyJWxCLbR9H9B+grVU9JArpj3fPrbFgQQB0nYunENKUWVZoN1Nls7xkXxwXJhImksz1SkqeGYrU1TtaGm1cbXSYwN0qSLYy0iEutyg9ObodScycUzWbi04sV4.8DZAHz5l0T4yopht5pJUcL4PK7Y+xMZApdNq2AsqYz0BzsdIcPkGcZWrzR7UHFsVyrJpiMuMykU2sS2Xv6ZqhVt52bMQ3EpmrW+v7Yo88xmsPY2mnOTHKtCIzKIQTbM4bRjM8zoLGSzMQ6vHxp+epuU2czbYDqorKkQbdIczyn4lfkW7V7CZ2Ue.O9WcnG.O1kaATZDqHmShbfrfoOj8Gb6nnq0vnEtddQIc05NjZw4.jKUPYfgVCv8S7M6xHyasPht87pO6gAQD3sWffeojVSy.uUgRzcywKrmqP4BymuX9tkbEJiEccSAhYh0Tqq.8ztWH926a0IRa1BAT3Su2BtRf0V+Mxe7RcCJUTTDUrv6SoBIokW+aLdSDkDRDpdJaa2TyxQE5cLVSIkERIefmR0lfcmwapnhPpvjREujzFcLp1b7lLlUDYHa402X1byNdSDyIhH9XGOhXtbyMdSDyKTRruGQLet4GGIBtc0kHQwAdcKTa014fwb5P3X6xeHkNRJskVqVPvpi4Thvwv+3uyDkDQ3n3PXliIzgPmhu.woX72aigLdZ8iDuheIxG1630sXtc7nHRbx1uXtslo.RbBvwXt8Ip.xvyy3KJsLZC4aI+6A06XN0TRH0n5YgXaKM6li4zQYgzw3uCxbaqWQjgomCMa9FyMlSEyJhJF+cPla6NKfJF+8PlaqWKRVL16hL+1.Wjvv2G4krT91GLtSHBGnexvIY9MIuHYhuWxu6aTnPtwcBQ3P5dtICUtgViVJig9IeYpextqpLFZ4u36ej3q748WBaGE9KmJ5mUBhH0gwm4REqTtxbg7U.xWI27yUrxnWErqCuAAjim+wIk1TqkcSSmI.ponHpgYBjiznmm3TRIgThuKxKZ0IJtHehSKkERK9tIurkY6I.RohPRwexjWRWYO0SNZoeysAdYqxtR.9QGQysAogNVsUycFqHhDmLrSycnuHfT7rQGw3yNQohhhnhweaybGFNhnB0AcxMOQoixBoiOXhhNpHjNLGWnCgFjSQLHeKEGFh.hy+nvbrDZKqd7NQyLGJShHuI6oYl4ziR.ANALIyLGkUBHBO6yujzVa7FP.3iyTQIgTgq84KHgzy5nq3XZMVSJkERJi+ytLyAOlHhXretkYNDzDPCi+yrLyAxl.ZX7edkYNb3DIGF6mUY1CpNQBhIf0cA6wlmHYwGNIQFBG4dRXMWvdjBJfLl.VxEWxcZIvGbeLDxk+iNR7DNojaScrN0DANFGEQlSFSNQfyURADim2uiwgRF3TtT.kL9OEEANwMEQGpSXRjxBojIfooH3oQpHRY7elJbm5Xzo5ICY7YezQ0TGiani6oN1+zeUDINwL0w9GCsBHkIAaybGFtBnClImXRfNJIjNTmnnixBoiOXhhNpHjNF+MJeQhQY7UNjvuK4ysFcagOzk.4wqQY1iAZADn27WLdaSl8boV.k3MKFiwccXOkrEIPNXb2WY1SraQxhObRRVHbAVL3yhwIIYHzH1fOKFmTFiIW0sh9ljiNiwmSh1RGqli4O+3EPjSHFj4OP6EPKSBlj4Od8EITF6MJyeT+KRd7gSVxCgqxhIACy7WCBBHjI.SyzkYw1lsX2XheminkYApYNlWlEdW4DhHuI8kYg2cig.BbhXYV3cQcHfH7lIiWPZ8waRnjPRveRLtohiZswZpnrPpXRX4U3ccpHhHl.VdEdWsKBngIgkWg20Li.ZXRX4U3ck2HRNLAr7J7u9cDIHlHVdE9WFPhjEe3jDYHbD6IikWg+Ekj.xX7Y4Ubw9bLusoVMUQy08nbNhwsyHx+WUCkc0IGpc4hrLy+NpR.0NwLgw9WZVBnjIiIL1+J7Rj.YBXBi8uNwDIK9vIIYgvOe2jwDF6eUqIfLl.lUhWgNqDd2fYhVdHiNqyWPho0NVm33tuj6DPrSHFm69V2S.8LIXht66.PQBmCl7HFgKEtIAC1ce+HJRx7cl7HFgqGtwGi2mOZ2cjSxGtv83J7fdEizqSJ6Q2wfcTNysEbzWG9AkM6AhM6s1wawP7+xQ4F9zm5+4+wrR2tFM7ouSfCidHA1Meol85pNJanXAiM6nZQPsVZF9U4u6BsTXNo6+2sPKsZ0zU2vzVCcrp6kSyOZgtt9K7N1vav2CHegYKmKWBPinJ9tj413urCfOqXrmptIP+scwHTVujDgpaYVC6Gv1ZfiD1cpWW6QnYlFzprcTayyr+7qqYugdmFZFAHt17IRbJ47nFWlzJgbB66o0wJ.Y0Xe0Hbsp9H1KUDFWozWvl3fSJo6gtnappnGrC0xc4jy2TjX.9gS784eR.dyGitYOsaZt+1fZvhlOhdWrvHgxWpPkbUJVrRHWnI4pjqPgBylv8qBr3M3khzyTcNwWRHMcEippGQrVNGc99mZXsacGdVq6Ay4wJuk0uqM9AmZ3s2JfZKwX3wJmkcH5O5Gdpgyd2awyYSJgtRMN14trdk9y+CN8XSXKdtK6AP1wJ+kyQ4ezoG6BaGzlK91E83k2x9sG23Gepg2td.d64n26pGuLW1OJ5G8Gdpg4tVWJt3aj1iWdK6Gq8m+u7ziQgkBNjF8t583g65cCumS3rwNYq51E6kdMFeLydYiPai+0mZXuKsVvHzvaYliWdKaHZezO4zCucwfpttai+QH68x8m8xFkVyO5zC68FGULL1fuN2e7oFF11GYLL13o9Od5ggs4sOpXXrAHcq+Mmd5Rt4PwvtfnYz+hR2CcO2pF7tnlaJR+rNAlD6M55dZ9oObgQ78McTIyojGfaPVHlGzfBbqjtrrSfeE9qa5WQZcEGKsGsgpxCwP1yKb5Bkmsb4BEKWpP2eTi4KN2rUJMaY50.6uD8ZfcC+guR+lxoQSdaZ7sd5sMpo9HHo2Hu6Ui5VPkUUcolH8actaM5UM00M2+8LsdncakpAtUWUaf9f9qoVidqwlibsol9caimtczb4yj5xl6avld4bt4r0CU2261gkfTzaFYZEmOq+MU85JXVFphIWQrDrFST3KMZtqR47z6p0.8B+JAUx93Zc+gs3UfSL35Bb2c.u8IgtvWNbcA7rMOInLjKawHqN3l5XrBAqybO+8NITH9kCWg3VJNwpCG6pCbqtu2+jPc3WKb0A575GqRbrqRvsRIUOITI9MDLjg6GiHVo3XWofacm9AiQ9Qf+BJwJDG6JDreFoOy7jPg3WMbEBxm8IVi3XWif8ae01ZLxDA9aUEqPbrqPv9A69bmwHeKoefsXUhiOUhjzolh8qL1d+wHcB5WELVm33Wmfc9J+7C3OjRNdzI9UBWm.8oLiUHN9UHXmzx1e3IgBg.iDzu+ZrNwwuNA67V94emSBcBAwaPNU5hUIN9UIXm6xe5SOITI9MCWkveOmFqVb7qVvN+k+e+tiQtSfNnHhUHN9UHXm6x499mDJDBlXB7Y9erFwnSi3K0iEQLAl7B2ZmekgYgyn0Orqqk7RwbEJUnbYQKQFQqCmLOuqEYCyljir0ESh1HiZnSaAtkMXJ7ll6lJZF7qavWTBmF6pMgeqY9b1slI7SXK8mv2vse4mOXREtCMokW3zfTYq6zaox4I62twZwB2g.01mJDK2pOcVRh1pdi0BEtMe+27TgPI3t56ht6pOgBhfxvwAAC2oqYsSGFw1p28VdY+MH3XceFtyLTsSGFx1teiuf+x3i0hEtiAUiSEhk06iX4Bzsk3Xsbg8K49zu0oB4xZ8s6B9qDOVKV3NsZcNcXEaodKVtn6lgbrTvjxMnR1up4S26zQGl9JYnewzwaICW79GbpPxrzZ8Kdez2sb7VrH73EdBVrbi9MxO4KEMdKX31uHO9zgfYw9YIi9YcGukLrw8uvSOUHY1tOcYtLyo253svgM1+m9cOUHb1718aXFz2yZ7VrvF2+y+dmNrlsY+BjA+UkNAkK83J0F+bOOiIedCuSBUR4B4ncVzI.cuNIme56zkzLja.qHrWiSxSc2tkRC2E8J9YtEyF6QZWh2Zg5Z5pDZ4WS5war4c+5qrz1OX06t1xqr4SzMaXlssQif38i6Bu2dnv6eIg8VNO96CsglSU1K5b4u2Pdxe5dFMxqT52DbJkmW51nu+Jn+e.u1Xh.Zi8XCpOvmKnQj6I3D9LzyzzPO1Ou.lpkIjczjEWf7UgBJL3NaDGDgg6o5X+OHVOJY37tAyPgB0ENjxnPEGWjzxCj73x9SvcPYxS+CFdYB9D06jUlDQFb.+wPbis74FBkeChb4U74wCXeE7LbGTt7W7iFZCW2BJ43qXIP2HFhWnXXX6pbIn1kgpefjGWjN01AEHe1e3PeFRCUn.6s7Avw1vS5iuDp.4kQj3.KQt.YRsCJP3Nc2FLAxZl6OwzAgg1OB5frl4.KNtj6jYGTfrvOYHEHu.TiQnCRfF9TYOjKiLYgIxATlPmF6fxje5GM56jDPnv0xmREJP2DQBkKH99aaM5sWL2EwvONrvDeQoscuTfFAQIBU6vGk3TmIJWxDmSB+L22k3xrpZoCb+X3I2DJP6d0m5lSPhIwBC1oTUfYD4NcyKXkUhB8re7Bt4b9Amt4EBU5uHAXbmEagmmktp8mShVvQjheHWzUGQJ9EmDU7qD1D+wJuFVUetEy26cZmabYw27N0r5zZCkZ46wMKTe0X+lCDYkYAACD1ECt6LJDHmtt5hb477SIVO5OofVR+KA+dWkpOzF+Qozg.hskuqg9AGBFZAgKJwIYFJykUxwNGk0.lr0wJGctYKO2b4JNW221TcmQg.4zGNp2UTxwN+j66Z9sOsvOSgWByxmTL0xhri9z5Svc6CbejbryUqHxX5DMW8bzI66DgkNqHqoSzrzjtSW2IBOcNQVTmvUSIS41IBKcdQ1See6IXVZJu4L63joddOm8yIxd5DNW0cRuNY3p4EYR8nmqdD5Pk+EKxwOGsfHCpSzbTtqSjielZQgtn93IXl54nqx2SFdZIgNnNIySOOdYfhWEnmLr0xBcR8wSzVTQKfySFNZEgtnNIyQeIxZu7Hfk9phmGYUzMed77l1W1IyMhtsxdp21XCKUaUn1l5LCBmF6KfzTeL+gGRLWdzxkKR3xomJlKeDxkKQ3x+Ywb4iRtbYBW9eFwhgzT+0c+E0h4vGJNbENaxwb3QOGdVN6wwb3QOGdNNawwb3QOGd9.1gqLULGdDwgSRiBIW.Cwwr3QNKNe.Kwwr3QNKtP.Swwr3QNKtX.aw+zXV7nlEWJfs3XV7HmEWNfs3XV7HmEWIfs3XV7fxhOmnUbdRosMM02VqsnS40e92MvLAsvOoKV8aQWP5mQZvWCzWTZwNNNlsBd6byM0pu+2+PsXke++DAnrqT57RykqbwbUJVo6uHvryme1JyO67cKv8xgW0gl7bCy5AeqlJ0L2WDa34euE5B6lK+74xM2fdyi2W9SoEFXxUnZeeNEEb2PVX8.C52HxwrQCc0kuwRr6gz+EL5kW96SU5tnz8zLbTZnJiJc2x4.e3mbyVtXoYmsKrct4JmuR4xk51vRzP4WkhxnBag2eWrRwePXX9EjXJ7IFheIJhuo5dpV6xtCQ+QggzurzcLMz0Ljok+HFuOuP79hRVpM7rX9H1S0EtdLtqGmkt6c1dy6t1VcgwKGULd974lKeohylH7C.kO+57VfQGXKhT8S0CUefrVAMrGKQ87cCinNmzJar4cWeTPRiBTGKQ1R0Ac+KXK5qk6g7Ik1XyU1ZksOdw9jhr8dYzQ.jsloAUkhA+axtKPk+9A2ym0CYvkAyZbuGtOg2EFQhodA26nBJ56kysWlt+v07SawCZCNZf3BScVR4SL0+UI45cLph1mnxlF2wzQ8tFYlN0iSkbc.HvJZ1Zp5JGrxd.2Jy5JNMyZoXT61vK4lQtXtbSO8US8jTcUG0qSpj.4Q4k5pVglM59lvpW.lwnSqcUslQdOTWMuBB7gUpo4XZskihiJvvjVzr1AnafBChD+dtdEgdYKPignTTkbOevTPSiaan4fVk9tpJM0zq4wBsSfTdv.AO8t2FeQd.rSZZP4ZiN2nPnvTKqtmVUUh7AcrLY+PGy1gI7trz5l05nq.3+RMQmFSHY2kwGLSzLPahWVgm+9.lwXyTmgmGbVw7fbL7fPnvHhhuhDd66FNNdlPvQfScTfimcaZW3UpWWspiOB9BRq9M33airlepyvz9upa6CZA6Yp2AyJPs+4jniIxhCKac.9H2hgq7dpNLI8wO6YUd9Z.BZTki2c6Vs6naqtlpQC1gG+7qSQkaaztiCa5uqs5hf8iFVlcLpscSKUkZ7foh6ZyZm8VZKwTGs+usvxJsZCVuYwiUWcapRMMoWagU8NBq9M55Hrx.6cP18U1iro0klBACdCqKM0e+US.VlMaCBDKG27PIrhQM27m5rQVnku25LaZ1AMTD457Ap96zoE+8oCpIOCpKN48btXzVpF0vu7+C9glYdz6SQyLualI5VuHkzxGXnzRqpMVofyIOVEiaBj2JFJ.oTikciRFI7rah1ftAx3FNNfDlUphRcSUcUEaFIzu6B9sYWMwmec+LC1PO+S+ze4m6m8lnt4raTW+r3vD4e+6tLSdgfOqo0BhmvJD5klSnjLMutoZZFc0PeEFrXckGp1ocHPELiIXUteShJ2qJskCzcuE5VYB5.CC2hU8nSz.uRmmcmm+yR9YWeQEcEipLbvMdq6YBCigYUr6U32VSWeUkZpngrYiR71UQCV6e6XAVYzMUpw64yyWXwNfs5.9C8Wr.totQKvdESaIu.kF1Tssphy5jy4PZlmagM27lfAt1AgBrugFbZaKPSgy.1me86ZnBxRtxtjkosccfbv0EmuXazwpAuFJ1ntMeZfbkUhhDRnaqKP+QqpqvmoqKpUxssBVG5LRj2yG38BAduXf2KE38xAduRf2m0+cBCcck1HshyKsKnN7.6Z160keTuXzT7gZB63LSIWTqgWqPRYUnyruG3cMh5K18H5uFu+qrNGgxPNbOaO18C5DzUMN+PR5hiaogX7qXrGz0CRAgiIwc8gj3Pt0MMLa2zzPqJu9Mnu1nA5LbwGkCkNBZH90VHDKvqoYnpXw2scfXA81D6TSEQwzWVhftxHSVxm3dVeNWuCtGHkphZQDRdIrbxKo9hZfQFZ2ZVQEXexg29D8TgkWJjHgaCgqCbvLSshTo4x58yrKA+Zu6t2u2JYecl22XiMHuOO4c3W0YeOwHS7NRBF4rGsAivoBJ4JWgnArcTfwjHFY8OqS6Eh8YuyO8O85Kp01TWwBEE0QBe7jHfoy1sp+WR5VJV0pBpj0jWWwF7DSFZdRfSHtU.b4NpN6aZ8PjGzKa218sc0br.bi0cgZ.5YiF6gOvkEzPAH0fIPKTmk8vGTyzTd+oP81mTc9SperUxQOKDrF574JTV64jn4hNzK4BE7+zBSr7Ep51EniKdSWsclq.SQtDWn3K87k4CRFBWme9o+cWnKmlgf0w1f2.0MNnUmQEabpWHxlFQjj7X8bI8pRX173NRhE8i2H4kQmgTmPn3wbG6dwFtjDI7CYxTKM9ImtfDNpLYTPzm1jQUcqJfdnOSbt7rptS3yTmQGBiVm6pEnS85HTBBPM5yog6g9j.K3x+F25+U7jZ7EuI03RR1H0hGnZn0nkR77ZbZcdMRQ59GOwFi6SrwKSDTmjyrgpzrEnSqQmJNkHyTw25cy9sludgpEJszpucoNz2uUyaQmoCEEk290MZ29qSees70e6WuX0ByMW7LeDoY9f6p8nOS8we6mbZbpONyfL0GIIrqQ6bebtS8y8gnX7OOgc1qf7S7e+S+m9j3f7iCxONH+3f7iCxebLHex4Pr.62e1q19uOND+u3EheRolJNOX9byGGc+jbz8uLAGeIoabqk2ZSLpcQT2cuv7G8w0uTGq8TCDCoxAboN8u++PHSB.Ik0BZS6V7KSsEH2Qod22mcVXqNP7P7WqpcMeBe90Wop4Q2jIHEQ0hKxNYBigindIW7iHEFGGxGK9GW4eurDUYbrkAdIIZeiSRVX3ShE1vT7hyYhZJplnl8mWBofMZm6mO+5eQcteRhXl8ZleV3YO6WOd4cDOyOwy7S7L+DOyOiky7SR7MlTOl8mO9YO6Wz8r+7YeR7r+b5d1etnjInXDOCPSny.zT8dFfdExyxtSBTgSlYAB8yHZVfdmmGOKPwyBT7r.MQMKPwyowHXNMNuqKbw6mmQy7ZbQWFZulaCvu3e6341HdtMhmai341HdtMFKmaC1KtXQyP8O9a7ODX1Md5yd1eS7rabJe1MdEIaWUiGTUWAEQZ7LbL4NCG8ZGrfbe.e5Q5lZw3cxxXxNYYBdWWbY7XKagLfz+cdwB+hu8e80+B+Nu3h9CGGu6KFMQp9x9rzdtCLRj3KGGqZbrpwwpFGqZbrpioGyBqYtsYqdXAOjyNxO65wwod5NNU383.S+hRfokhCLMNvzC+wA.dfj9GTp7O7e7uL93.HIgcEGP5n53..yN6yhB+WINXz3fQiCFMNXz3fQGKCF8bHe46Qzne7M+E+uiOQ.hiFMNZzSwQiVNNZz3nQOrQidQ5HIQ5aj9mEGNZJJ+JNdzQS7nWfxOi+5nwAjFGPZb.owAjNg90QukVu95nnSSpIs8nLHjhiGMNdz33QiX7nUhiGMNdzC+WGEOPRjNrz+yiWxtIIrq3nQGUecTL6LNXz3fQiCFMNXz3fQmPOxrtkF3TQCEQ1ve5+k+OAWrte1yd1OKzEqqb7mG8TS3nWVpJRs3AM0Zz7Aykat3fS+BSvoyFGbZbvoG1fSuj6.KQ5qk9Ch+Zom2kgEGf5n5jOhxPiCQMND03PTiCQMND0IzPTWyr2gn9O9NACQUtXw+tOIND0S2gn9xzPT0M2ONB0uPEg5bwQnFGg5gOBU53J8OBU3mezWKNBUWFVbDpipHToLz3HTiiPMNB03HTiiPchLB0WTZIcHPgnGdpvMXZb3omdBOMkTUPqHNxzuPEY57wQlFGY5omP9NGdjs338FMw6kByM6Uvdu+m9ouZbvdwA6EGrWbvdwA6Ml94HWxb+cU00Gri21DIhi26z9kLaUhhQbHemlC46WJXHe4yEGyWbLeml9LezA3hC6aT8Y9nLzddEb9oe5qEG4WbjewQ9EG4WbjeiomjrKorqhsv0gp7e9M+EwA98Eu.+tfTUrdQbbeShw8clgNtu7ww8MlD224bWfm2CjLUQsHQqhXu1Kw9hbfEGZebVgEx8ZdiUKqVUCbnO3YflaCgqCxnPqHUZtrd+L6Rvu16t686sR1Wm48M1XCx6ySdG9Uc12SbjrdSiCVdjbF2RzwhiUdTcF2R3m87ijVud53PkiCUNNT43PkiCUdrLT4KHssRqcAB.7WUjY7m+yRF+cRiOnaiCR9TcPxEhCRdrNH4WiwRcbfxwAJeTEn7kXzyhCVdzDr7kY3o8Lf4hE+UiCXNNf43.liCXNNf4wzsP5lZ0DFp7B+3uw+PbnxeQbKjZAZEweW4uXExbw3PlGqCY9RXa0wAKGGr7Q21tEogEGl7nZa2h3l8bwW+rm85wAHGGfbb.xwAHGGf7X5sl5RVJ1MEdHK8e3e6+y3Hj+hWDxujTUrZQb3wegY61VJN733sa6ooqkT7.awA6MptVRwrydEs2SqW+JwQ6EGsWbzdwQ6EGs2wYzdGGXYKkpVlO.BjywxDiqmCmBfkFJ3w9jVG8tb9D6on2gy7dKv27GTsJeU0EfEFV.KNr.VZXAr7vBXkgEvYGV.mq+.hBc5FcbLaQr.lHw5arBQAbpU7T.OaB0V6pVC7yZqpVZscvQnUWCG6H5OjV8UjPQAC0R0lpUeX1OvNARgQEhA+L+Uu.5Zkw1Q9djRrDQSR9ZxKQJR1FpNKY1psoA7Rlz7EK8zWM0M0M2UQ2NKsI.HWwnADAABPZoy.EK0UtB7+xKgv.45lVx5Hi.NxTvPYukpE7VVaUmEgHRd2MWKS5lNNsseyqbk82e+rsLsfPezpplspYKTKSKeUEc82Syo4MWY6LoQNHhlDC6qPq32.CVMqNs.51zH8LxONca8N.Fl9MSuNJukg7R+jYjq2wnJhUmwFrO0wdFYKUafrsUmVN0iSkTqNMC4qcMYZSuENg691SmJIThjtrBJocMuZXmzTrI88uZpjOQF56qJGJDgx6R9jTOwmEtAX80SdI6JvvA1iJAuDBwMw.PLFolwiJaLMhp1SwRVAZWmlZ1nVcMSfctnYGiZ1YxgZZTA.PA2qgREPVesqE.+AJ55xt5Hxoke8vnGTody9WpWGxIy61tFTyxJ6onoiz4mNMfRn+Sqtbl9fMTgRCDKfLMWYH+wN69M0bTm9pxtYupIR29tO5fFpHMj7EyhocFAUX0hkZMA0g7hl50XqnTPYpYor+Mz0ZXnVaa0G4jgvUmQdGkcxc+YjU1IO92EtOBN3WogX5a5fTz6CMzKRn6lMc28k7vgxtHfxNEuOGJf0+5V0ZcyN1pKAc.2EhS2W2BFUzvYZRuFYxaYqpqU8g.GC3WTwsYaUi2ScWvMA0dzS+Jjdq1dXQhDcYf6kkTaaY15AsTZayYd6cdIp4MjAf6XBpExISdM4cJVYF4hyMiboBv+POOKP74fmQoAOWARuRIH84gzg7qf9K7d47P9yCch8qU5D1rNzznZN8tfSPomIssghkJ72lJNvuQjJ4o9++d0NplPUKfxr0L5OOPuUd2Gq05QtOB8hsbTQJ.oHI.NM8P2LaCRmlG391r4l08w4xMm6iymadOX+.EeXsqYumOhgoMJlgPLWZE+WJpQdtlhQCUKuWAGgrahZ.xqTri9xbdORvMxyDji7LF6nOW0R4aef2aX7y8kNEJjy6EUCsFsT7wcPJfEUDLmHSfeSwZzS1syWf9HR9R74kl.EiwONG8AB1hdhfqnmPXpWShD92xsYQspu1.8IZq69FECbekCKbSjhIduNGyKDLx8MBV49FGl0TaayVLrCvaC7UfNTd2Gonl2q7u0.rzVCIP8RghW9uOG6aDLy6UBp48JGtA9C0MxAIRA.dhA0Puw8BGhgRfAuvuNGyK9XE5MejB8FGNoa1MJoatOs3nalOeTB8F2KbnDJAFTB+5bLu3iRz66Ol2nnjamQsZvfcfsUe8KujP8Bbe9AVZsraZ5vkFthSwjvtVcP8PYRolkYatDppqrmJqND9Rcxu0IWSgT0H+WHzGy6DhJnQOcyPqNBW1+FPjox7YP90EsxnGQorUFNARAYN.SCAQHmxMLfhemBo2IfSX.pqzlQGA8JEJ5EjQHv33syF7FGwOIRg8eWD0hV8jLML5URYbWVkgxhPyeHK5hdmhunGCBWHi99ZzQeqR8CfeH3+pWQhY7LHL9VjlhI9hanq6EhgclztkCMhOy.NTP6EjdkyGTvlWTZSZw7gC5rEE3nEiAUc6mPftmXKaQ8qArVcDHVuxwBJViNR.6URFvQB7n.ra4X.EzsiB+xsbLPh6KEkV0qfLRIuNE8mcyWV+5.06HJnta4R6GJ1VH8M4UPZ+xtdAixRyPGZFuHJkMM1xUyj57bF5T1LiLdh..ekkSIKKibW1WYOKpPPva1tkd5oQAi.kCBfNiprlASOioQYjTVE4V98P0YFYUTnptfdULfX7HqhM86zmY5r3O4u6m.Nimqc6vfFZF0Tezcq6gE2mTYtL.TKtFTKZFM7BEXqCLbZlsstxAHuty.9ZmuvrSCvA3vSjkS8jTxoPyBPWTAh.UIg6faLuZrad3zWMITOTQA3fUjDD2hzQu+hAWCGQPH3VznIB.LnGB.p+o6307BX9x2k3UYOpJF+N6c0EpLwin5gDgmYxIO1x03Vz5dvZJLBcQ3LxFktIb.DwtJtvzqtKrNesS.zJxr5.XWu5BDBehx1o7cvA0Hww2lLvUO303X2cGFT.ONoGG1sfn36S1SNaxagh5nWcAbiJYGuVOzNAIWGGhPOpI+XH5WUslYuqIOO+6cEEp30i0zCAKu3fqmD1e3HISWx0if9IU8cwnuxU+hFIIKFE5or0y89cXvhvMxkDIW5WMxDvP+pwPkNLDXOjOAYstc5bkQfaMQSDQ8+o+1377nJBl27JazrrgPhdvQcCfYGeTH5bSOLoWLSdlP.scrioQTe2yI1HvOY7MNJrTlhGQtJAhdwX8CGcGNzY.TVYvpdptFjyvyjUL.WoiFO1yq6Hvh8ckOJbX+RGQFLFfdwe8BYeGVTI5bWFLpWL2frDNd6lZ0riVLAaRCnn+LVuPTh.a0qrQiohPhdvRcmSgc7QgHyN8wjdvLCvD3Xk9m2CQykFt.75OWMPviQf2F.hnwg8Qqdvm4m.ncBhZQ2Wi.XXub4HL1El+Gxb7jTxQYW9I14+wYjRkxKN7coU.4aBD9GO1sHrwuuKVx1KnHEfClsTcPqrhdAkaQXhyWsgKBHFLlBwAYewRuxvAVDPTlR4CJ5qthX3xWSdGFd6L9LrYX4C2mENnBwvwPJy3SByvhVnoAD5K0TwnlNZWaZmgow.jgOCRE.IGDB2pCMwHc0ujonJPJ6gdD8oASg8wTCvzbWUVS9qgo2rf9VCmlPBu9qOcJ4jOFTxwchvT0NZ2moqlWsg5xg.FxlzsPNI8UToyjdOx5JJ8L8Bjm.cjBQu+xR5llODHg5pp5bp+eKYIvD0ZPtxP1xn7kaXpZK2T0RkIbrFMzUkWriiCHfPIxHozUp+.RAH4yrpKpZop3nh+Z7nl3FF0VEZ.zhAHHPYANiFZI1tp6WeMM5S9xVjzLKtgFyHat6Gv8s+g2yp.smnOzrlSyan2toRFTA2sAIcb0jEaSU95x4ylS9Mkyks7zzuHMvA02DsLBTqsoZUGEC.YxnLS9bdeN6P+d4Uxla5HgFNpOxIRHRWe0cJvg9c2c+r2UAQfkZM2O4b3cbcvb3kuwRomlLCXAjUAET8ohPIXgWgail5Cu0W1M50k2XtfUGWUJa7J0osRCUYzRfqgJQCNnJrxtCp9qKDiGJuXMlhSSz7Dn493kLsLHaCp2LetYjoE4Mk2I2L4.8Z3+u+SNFUtGU51ohv3fhUgbkiB0EYFV7vUK9iQFo5wUcF8GNsU+0XEQEkrlgHqdtt0TEnetgY6NsWW0nyhfqTMrPpBgqlhFYgnRcCc8L4dzpqVX17KWpLBCwb+dzFfw.UmEsL22FT6TUrp1bQEqd0L9pU4dT97qh+AYEzGI5Ru1s2CnclCqcFrlBrZiXpqMTbZhgWC3ufFWY7xGpPNz+tuqxUDIu0fBbaG0VhoNs531xVUGvczpHBkHIqtI9BEbIdlBzG5urG4+DelPO5FGrU4625U.wcQ8a5t5RFAEudys513napMgTQVBHovxZ0r2RsshEZYlzKtaXJD9jJZqikAY640Q1HQOH+5X6OuA487j2Kd+qTnqWy6wWI964zwxfUhviraSWMY8ROX9UKeikJsxRcoGrhttVaa0L6PwvlWonG5fe18W2e5tvfPWsc95D7X4szZzTGsF5FZTEoq5olxkaTjI8DU6mFpG2gcfD42f7dWClfYSn0K4iGyww90GCF2YWyEMeTHcuj6U2KQFf6k82PL7JlWzaGGPCtbikP+2LxXFDcaJH+676PPTbrOSy3FQgoifYJWFra+WONbwbBYwcangzBaaoQH6cXrLfDVWoH7aFKDztekv+BZf0gwZxtws+pElgXjnORvk0TzMaHz8w968Hm3KYekc8Z84FA+zhp5axjDB202l6g2eixaoqUCbUmI1RjyPjLI4EY+xYAR.ukr4fIE4nw0793J9N4Kfb3txLHFza.9ZvFTIyfw.2uE407tqicjNYwbzWNfpfBb6LzpZZ4upu+12wzpkhN3teMj7.9WgbHAU3EoGnK3TzAy3OFXS.eKO7wI3pTgl+RDdzzDhxS9C+PLRwrDqCWoCi02vd6HFivhlPOH75cIYRjkcg0qy.WgOgwG8s.lnNDPkih0Axusg4tATkw4iROx5wdPHPIlzV8UIdenA8F6EnGW8Hjx8NLoKeE4BfBx9n+56XGlMrOy6.qfVA0zrqhhjDpm8QZV4YRO751CBbSfMSNiWh9Oc+P5H31yxuOkq6OHnhPWm9poN5TF43ciPcxApdQRBazNtDDEExV9pIIIoZTCRfjwWEDJhrUfKAlsYYh1oiY..mInHkHxHi1gepHN46GIwQ3FZPU8UJ7FEmI+LU.6insQBZ176UT9KhVoknCtfdDUsWeIgQmSVWVG9pwassbnqJ7p43vWMj0WxgudvK3kQAUQVEBi.7YTUQJNKqVU4fHVItF7Q63N4MTpQ2JaVjslFiU+M1D5oEXmpw1qvc2pkIseeiz8xogv2daPOjBHfv4VSwQIqBxeDzGG.Aec.opcc4txUF49bZxNQq2N1vMr8LAqouZtryN7HcerJmbf8J0mohLcld5YBcSAVZ5PsYhKJzbnipEqt2PXz8hWPV4a.7xrnA+.rkrbyBTfuFp.4vq7HRK3X1F2D3sEYR2pzRsMRShrWIm9ptaPvPjq4I0Fsx.C0jZC6R1S.MT7WRsM5Ko1Vwf5YM9in1VnFNqSynZgVI6gpj8XxiTO6M.0SJV7wa0y2GzIvz5+DlpHvxrcnpCtkE5PUCbKGtgiN5d8RNT0Sfk90PVGAVQNCWs3sx6OD0A2RuZ3ph.K.lgS9FxRPXnpH90Ox.TEcEF75pNCbTvXXDD+.4HcXCUkGhKUziCFmD3jrRCUvXSRXrvap5.1YUcSU1rtLJZHTRsg52VNiMLXI5UDZnZhrCng1oMGLM9KnKm4QHdEpMvkGYcystd8qI+HnQce8JWyuXtencjoR7HxJ6iajc89fFQIPhvlSjxS2UkhOkLn02MsTpoAxfUAvyrCu6sEPA+mCsSbgeir4mD8o+4KCsH4yA+49SSGCVjCw4n94il+pxfq43m+pt7Z1HA7SEMSTkuOgNngoFbIM.jQ.8jLXUzf18wYQzd6qcebYo60+Tg0.WMrkmvEjbLM0czZyszD9RmQhccjD7SdgGx6t69AnYVlaEmrlBXJKuvy9gsglZas1nw6gtExZ1a.Q1nYz.4qlBDJFvpb5oO.z9DTTNP6zwxBdbaRdYHgUlwqnWCb3h5DAjLAQYcVQ92BUBzbc9a4gWntBH.RxhoNVcTupm+D3OB0RniiRLKFskVfXxfreBM7RYO+HfFacPMSaKUfgUydKMippTH2DUKfJvagTKyEZyRYPnUzLA2s8v8YPj1UIsI7+jfZwDZXvGB3TlDyAEgLVRv3dCfUWMg+YEhg5if9epniRm++.qAh+D
                                          

                                          https://instagram.com/morphoice - 80s inspired Synthwave Music, Arcade & Gameboy homebrew!

                                          LindonL 1 Reply Last reply Reply Quote 0
                                          • LindonL
                                            Lindon @Morphoice
                                            last edited by

                                            @Morphoice said in Can I manually trigger a Callback function?:

                                            isnt your problem (for example) this:

                                            inline function onSnarePromControl(control, value)
                                            { 
                                               if (snareProms.contains(control)) {
                                            	   for(e in snareProms)
                                            	  	 e.setValue( e == control);
                                            	   Snare.asSampler().loadSampleMap(snareMaps[snareProms.indexOf(control)]);
                                            	  // Snare.setLoadingCallback(Synth.playNote(38,127));
                                               }  
                                            }
                                             
                                            for (e in snareProms) {
                                            	e.setControlCallback(onSnarePromControl);	
                                            }
                                            
                                            

                                            so these buttons are attempting to load their samples every time when this:

                                            inline function onSnarePromControl(control, value)
                                            { 
                                                
                                               if(!value)
                                                   break;
                                               if (snareProms.contains(control)) {
                                            	   for(e in snareProms)
                                            	  	 e.setValue( e == control);
                                            	   Snare.asSampler().loadSampleMap(snareMaps[snareProms.indexOf(control)]);
                                            	  // Snare.setLoadingCallback(Synth.playNote(38,127));
                                               }  
                                            }
                                             
                                            for (e in snareProms) {
                                            	e.setControlCallback(onSnarePromControl);	
                                            }
                                            

                                            fixes it so they only load their sample if they are ON....

                                            HISE Development for hire.
                                            www.channelrobot.com

                                            LindonL MorphoiceM 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            18

                                            Online

                                            1.8k

                                            Users

                                            11.9k

                                            Topics

                                            103.9k

                                            Posts