HISE Logo Forum
    • Categories
    • Register
    • Login

    get 2 different callbacks for same object?

    Scheduled Pinned Locked Moved Scripting
    8 Posts 2 Posters 445 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.
    • ulrikU
      ulrik
      last edited by ulrik

      Is it possible to set 2 callbacks for the same object?
      like this:

      const var ParameterObjects = [Content.getComponent("Knb1"),
                                    Content.getComponent("Knb2"),
                                    Content.getComponent("Btn1"),
                                    Content.getComponent("Btn2")];
      
      //  Button 1    --------------------------------------------------
      inline function onBtn1Control(component, value)
      {
      	Btn1Value.set("bgColour", value == 1? 0xFFFF7700: 0xFF7700FF);
      };
      
      Content.getComponent("Btn1").setControlCallback(onBtn1Control);
      
      // Array Callback
      inline function onParameterObjectsControl(component, value)
      {
          // code
      }
      for(p in ParameterObjects)
      {
          p.setControlCallback(onParameterObjectsControl);
      }
      

      I can't get it to work, they seem to interfere with each other.

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

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

        @ulrik nope, you cant do that - can do the opposite (a single call back for many objects) but not multiple callbacks for one object.

        HISE Development for hire.
        www.channelrobot.com

        ulrikU 1 Reply Last reply Reply Quote 1
        • ulrikU
          ulrik @Lindon
          last edited by

          @Lindon thank you, then I will not continue trying :)

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

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

            @ulrik what are you trying to achieve?

            HISE Development for hire.
            www.channelrobot.com

            ulrikU 1 Reply Last reply Reply Quote 0
            • ulrikU
              ulrik @Lindon
              last edited by ulrik

              @Lindon if you take a look at this, I try to make an A & B Comparison.

              I want to get a callback from the array "ParameterObjects" that will enable/disable the "ComparePnl"

              if SnapShot is clicked the ComparePnl will be disabled until any parameter is changed in "ParameterObjects", that was my purpose, maybe it's overdoing things (like I usually do :) ), but I thought it would be nice to have a visual change to make it clear for the user when it's possible to compare the 2 settings

              HiseSnippet 1840.3ocuYs0bSaDEVNDQIN3VXl9PebwOvXO.NJpboSbBIw4RmLPHt3Tl1gAnxRqsWPdkQZMgzLYF9o0G3Q9IzG5S8Y9GPOqVcYkjksiSnhYHV6tm87c9NW1KpoqiI1yywUovBGd7.rRgqp15XJq2V8LHTk81VovOntkS+AFtXzlHCpEpAZfK1CyTZb7.COOrkRgBW5m4itvByq3+740aXXaPMwwMon7LGhI9wj9DVbqM23QDa6cMrvGR5KM56twdlNzsbrcFBH6RpZJCLLeiQW7SL3CaNUkBWdGKBywsEyfg8TJLeCGqia0y4HpX7Oi3QZai4urrRKXhDMuqisEGw7VU1pGw1pYHC3o.yRyX93RB936U2mXQhZOlWtleGnXIj4iByMN3srL7zld3UPBdyKf20UaY5RFvh6gisEU2ixvtcL.WfLrDiUYt+8aAmJLBJqVei2f20EdIRhJ2WS61n6ooUsdohkJRnl1CsvUJuEv8tFMA6m8TmgLBEW60dkECpTQve4wPuyvE8HZ6kelg8PLZMTnV5hY7nHGJ7RkxQivW5DRpOQI0GkjMXzInynQjUR8IJojNkksE0X.3TYOtsctRKMFe44xEjPcH98LPtxk8m1kVBgtS7irdZZ3BbO3dNn8qwlLOPnmmOyVt5sKUDM1m7I2YVXN+ddDFz7Kpmuzxzgn9ylbV3E0y1QivND+iyqcFRMYDXbnNNtHVOL2s64WNCLZOYdOgKPH8inNsQKixYTiTPB0FxOhzKxgx8Lbi20wthYnkea.1PfU0REOQX5jNU7aAci0FRsvcfIwB5cgnLlZfAVoLChbJGJLXom5asiKjfKWf52xv1tMTNsRBPUsdByU+7at5mKyUe1MW8wXt5YL2FCYL.xKywycNyOix14oBi21WHpZjv.a2UrVWnQhVaMzxqizd+tvyCdfl1J9+l+qc2cRLfHSbzLfDzxv.5yFCjGEnOYJPeZo.9yJQ+VrxzDn.8wPAICBDjvgv5fHCjGTt1CJWib53WmPTRwCA+GrhWWQMCOXkcLu69HBEUNndTYTVlgOyh0MQoIIzLStAKDSsm.CGkcwoxphLtShKwF.6Zl1XC2JUqmtmFinGn7YExZZ0QjUSunTMaLsKqGz0stU0XINIYM8.k9bxKfpzomBnUtizOp.T6RKIFc7Lbp3mA+Iz.DJF8Pj15xKImn1g+5v9NVF3no0pUqb0UxezohF7Gd.MjZw6fWKmrWv4vmPgknUMamt3A7MR4StmlefbjqNun4zwBxgzg6amGGGEWeDAnpigDMTeGKRGB1JN1dh4+IlWPowQkm0P3noXxKRvUYK+LtrHNN8qQ43Q6mihYHNGgFDFj4gXNhTWKgJfcC35zON+M0ZR7rFzMu4HByxOWRNTLUfxlkWYBwNh84bAmp0XpR0xjhcgffQoznrh3JAUqOYwL6YP6hsFETOM1wG4zAOc1fk.U1nZVGsFJie9FqMB+bJGXix0++ktZbAPWisdSTdYtEbRm4VstTd8SbX3CnUpV7jhKT7zhnzc0oyH6KXprwtira9kC3NNAqPG1uM1MrzQ3.gSIm7X3p4eLb4aIvTvMRCzgtGkvNX.ll2gyUBHT3X5WN.UvPY9GR+aCNjdKahE1Ug.mE+xp78dq3iW4KNQYZkUOsrAPXTxJ1fWfr7s.dNjUeJvbovKkvfhs8EcQ0nEplBcmU9qpFG2MhI3W2aaClA+FRB7BfmY.1kQ3N8BaieGwDKtujET2F68Fly..SQw8foMIG06i02K23X4ap5HhEqmbu8vjt8jtjq81PY50jtjl9mAWjZJaPPrl13Oj0zKSqoeOil19rnIYa5Cu8booqjL.4wFsCBPfVh2KWtdKZJ8A1cZ88vM36AjeueY2CnRGH5pE4OkB9zR.uuIO3snZzI3yi1+vuLYxHDbIx8lRsqmV6IbEmYs+We5S+85SkqYQ0nS6laHm0zq84TUBOqHz4k+hxQeInHxTBkwSDmGn.OogxhSSEQov01RPo4fTPAbRofBzBrzryQgKPCk69N0MssQwMPX39YwXbq57l+3G+neyxlSXwUOi2g2i1Tbo+EJLmr4UZpJXGaeHWI66yuMMUeXNTcV7m1pKotkMA9E5.p8wYfrrYs5pqpjjAjm21NtP83mZXQF5IsDyFh1Sl6CYeYuP9qotui0PaCVxuU.+CjDzArykDWJO+h2odD1wxy7WkOfvzB2qq1jvL6MZ7N2HvKrx6Wa7F74XJotSmNvtbiA67p69ae8+1KJhO4Q28MXtDHdV8IC62BhcLw.RnPTOe2kPtAWT+203uyYlVXpk+K7PrfNWl+dgfNWNrSk9FltNuxTraH9G74J9s.Xh5+cuVPce96nn8uoppUSSoOwh7JSSNUbG.6iVF8YPlebFj4tyfL2aFj49yfLOXFj4mFqL7OA3lCYN8EoIPCM2weqnEJrC0.hx7iHU9O.C+r3bC
              

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

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

                @ulrik so basically taking your initial example:

                const var ParameterObjects = [Content.getComponent("Knb1"),
                                              Content.getComponent("Knb2"),
                                              Content.getComponent("Btn1"),
                                              Content.getComponent("Btn2")];
                
                //  Button 1    --------------------------------------------------
                inline function onBtn1Control(component, value)
                {
                
                	Btn1Value.set("bgColour", value == 1? 0xFFFF7700: 0xFF7700FF);
                	for (i=0;i < 4;i++)
                	{
                	    if (ParameterObjects[idx == component)
                	    	ParameterObjectsControl(component, value);
                	}
                };
                
                Content.getComponent("Btn1").setControlCallback(onBtn1Control);
                
                // Array Callback
                function ParameterObjectsControl(component, value)
                {
                    // code
                }
                

                HISE Development for hire.
                www.channelrobot.com

                ulrikU 2 Replies Last reply Reply Quote 2
                • ulrikU
                  ulrik @Lindon
                  last edited by

                  @Lindon thank you, I'll try your example! :)

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

                  1 Reply Last reply Reply Quote 0
                  • ulrikU
                    ulrik @Lindon
                    last edited by ulrik

                    @Lindon thank you, it works just the way I would like it to! 🍻

                    compare a and b.gif

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

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

                    24

                    Online

                    1.7k

                    Users

                    11.8k

                    Topics

                    102.5k

                    Posts