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.
    • 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
                                        • LindonL
                                          Lindon @Lindon
                                          last edited by Lindon

                                          @Lindon plus....

                                          It seems you have some redundant buttons you had a bassProm14 for which there is no sample...

                                          HISE Development for hire.
                                          www.channelrobot.com

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

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

                                            e.setValue( e == control);

                                            i was iterating them all to "disable" the previous ones, whenever another map is selected
                                            so that only one button could be pressed, only the selected one's value becomes true.

                                            if i put the break then you can actually turn off the current tbutton with no other one selected having no sample loaded at all which makes no sense I suppose

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

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

                                            29

                                            Online

                                            1.8k

                                            Users

                                            11.9k

                                            Topics

                                            103.9k

                                            Posts