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

                                            @Lindon I havent made all maps for all the buttons yet, the bassProm14 probably happened by mistake, it shouldnt be there at all

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

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

                                            19

                                            Online

                                            1.8k

                                            Users

                                            11.9k

                                            Topics

                                            104.0k

                                            Posts