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

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

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

                                          @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

                                          thid way madness lies - just use the radio buttons..hang on I will do it for you...

                                          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 said in Can I manually trigger a Callback function?:

                                            just use the radio buttons..hang on I will do it for you...

                                            Radio buttons have problems, rolling your own as @Morphoice is doing is usually better, at least you have more control over them. I never use the built in radio group.

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

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

                                            15

                                            Online

                                            1.8k

                                            Users

                                            11.9k

                                            Topics

                                            104.0k

                                            Posts