HISE Logo Forum
    • Categories
    • Register
    • Login

    changed() triggers repaint() ?

    Scheduled Pinned Locked Moved General Questions
    7 Posts 2 Posters 283 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.
    • ustkU
      ustk
      last edited by

      Since when this.changed() automatically triggers a repaint() ? Thought it was only triggering the object's callback so I systematically call a repaint in the CB...
      Please don't tell me always! 🤞 😬

      Can't help pressing F5 in the forum...

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

        @ustk I thought the same as you

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

        ustkU 1 Reply Last reply Reply Quote 1
        • ustkU
          ustk @d.healey
          last edited by

          @d-healey I have very complex UI panels and all the paint computation was actually made twice (even four times because of the interaction between them). So I investigated today and found this. As long as you're calling changed() in the mouse callback, you never need to repaint... (except some edge cases where you don't need the main CB to be called)

          Can't help pressing F5 in the forum...

          1 Reply Last reply Reply Quote 0
          • ustkU
            ustk
            last edited by

            Check this out:
            No repaint method, and I even removed the slave panel CB!

            HiseSnippet 1207.3oc4W0sSabDEdVfIEusVsQp89Qb05VvrlljVonpXvXZsJ1rkkPRUUUXX2w1iX8LV6N1D2HdZ508cnOB4t9Pza5aP6Y1+MXPDKwUcERl47624mYOm0IT5whhjgHiJmLaLCY7IX2YB0vVCobApy9Hiu.2kFoXga4FPmxHioBVPDZuYioQQLejgwpeuVTiJqghe9mWrGMfJ7XEjPnSkbO1g7QbUAUml+HOH3.pO6D9nRR+jlc7jhVx.4D.VqhsQiodWPGv5Q0hsBFY7n19bkLzUQUrHjwZ6I8m4NTdoHQ9S4Q7yCX5CMPtfgRHefLvWiXMUTqg7.emrvOBAVwoHYrZRx3ywc497b5EIkOKlAoPix4CiUtK30nL7ru+vynD7VKAdOF65ExGqJ3nw1Gi6Hf5UeJTBJCqDYQq7GXbKIHgPUeD8B1AgvgbMrdls8ljmZaW64UMAwhjAr5dALZnklRUSnzDoHSogjQwsENh.x2QxL3.lpkbzXo.NXsQtDan0sPyHcmzcoXl.aj3yplauMo6ttmz9Xhytc5cRUybSWOhobfxh5X4DEWvr5OQ3o3Rg0fZUMeWUyJCzhjzNYk7ST8yY7ALswAt9gzKOl4or9EHxg+TC4QZ77JtuZnUsBB+.nzPkUsecSxNw5pikYPUNTAQRlTmRClvrpQ9xanWh65CM84tKQ66iO0ZeUV5nbBo6QuzsMo0dWKmzUNIh0hFDbNb4oHovlBI3zDCuOI4LTf4dWv7qk3VephV2GZWiCkaFZ53XN0gL3fZZKRfmzez4loZ46ICGQC3+FyGrzVMf7RIsdMYKRwoetFYaxN11OujMDrKyfQWpZX8PpX.yZQ37qtt+hqlMzvkj9DqVTVfjY5ZY9Kls2PsG7SByqtkjtNcyEAP+FIK0Rjh7BftqNTFX4k0RuYB1zI93LTVCdAXllijbdkQxUIWGu6KYIM5wtNuxeSTMW73d3tm1l3z6vplkwz+6tQUpJ1SpXGIrpY9NyJlWYRtNq98WHuzra.Kbgr0y3BuKEsDSFcNKLqSISP3k8yOMAe6SSJOryKoYojfRQGAWczXl31lwfR6vzSaRQEHpJdVS0rYM54+HtudNSdmEJFy5Q3l+0uO9u+o2+BzK6rOb8LyRfQAGMlEp35XvXe1TXgfjoXUv6yhtPIGCgZdeMxX86ieea9ZC+oeyY4GZxZdottWP3jlCiq6ETNqIbEQdY1EE.UeJd2f.RAgH39PGgSHC51ALuBpD5dzsgNSb18nRf68S9fAWYmgm2YGROO0Yqii++Fkb0YzRt5ryZpXuUmLSWhC8gX1cJYVhZQl8ivwKEB6xcicSfMjj9SBnp4WaRuqXJCn6et8Sz6fHh3pYk2k7AYWp6KbeL1gq7FtX7txBvKzt+Pi2zMSqha2uO7NuBvtF9fW+vuFJJYnv.XVbHGZOv8lLxEF.3w.jHh+z.CLbUQqZ7Ya8YclwkI7iO7uvSJyF5yFoLajwDMh5EJeiWxafz69tdLE.Sh3OAnBzMCmIMxduCFaW2FMBVI+Mdd5TwV.1WrN6rD570KgNOYIz4oKgNOaIz4aVBc916TG8WCs6DkbTx0DffS632+aXzVPgtr3NRz+AM9pBf.
            

            Can't help pressing F5 in the forum...

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

              Very nice! But you have two paint routines that are identical, why not just use one?

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

              ustkU 1 Reply Last reply Reply Quote 0
              • ustkU
                ustk @d.healey
                last edited by ustk

                @d-healey Was just for the sake of the example... In my actual project, widgets are totally different...

                Can't help pressing F5 in the forum...

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

                  I just got caught out by a related phenomenon

                  MIDI automation can trigger the callback of a knob but it won't trigger a panel repaint within the knob's callback. However using .changed() instead of repaint will.

                  Here's an example. Moving the knob with the mouse will repaint the panel, but if you use MIDI learn to assign a CC to the knob, moving the CC will change the knob value but it doesn't repaint the panel, swap out repaint for changed and it works fine.

                  HiseSnippet 1090.3ocsV0saaaCElxIJq1adXcnO.B4JYrNC6s1tgELDm3jzYzkTi4zhcWAiDsMgoHEHoRhaPtaOO6UXOK6ts65av1gjRQLsNcsFX5Jc34G9cN5b9NZrTjPTJgDEz7zk4DTvmENYIWOe3bLkiFc.JXqPMQoQ6uLGqTjTTPvFO0nKn4lH6ya1ceLCySH0GgPuTPSH+LMipqOc7fmQYrivojSoYdV+nAiRD7gBln.vwFg8P43jE3YjSvFyZDBf3vTpVHmnw.X.a1WjtbxbwEbm8ujpnmwHFg9nIPfbGiFNmxRGWkiJDJXyw0Y7FtL9AgGSSo2bdcl+EVEQ0d3WCBZbaHs4sfT+6BRGIXol.bGvKvCda5f28CmjHo45ZMFr8ogi3ZhbJFJ69vxYKpgrQ3PAXAW2MCufbjDDtwi3mzq2Cidbudc1ocq1srev6lRlRjCwL1YPwWEqkEDmZ3aiRGcNVFMFyIr9Q+XTUnmQzCEY4BNHDusS81NubBcUD8Xndp+EQglxIwSK3IZpfGOqS6VW0tUD7.QSIXjt4RpILRRtwCabLpm0cJz1rGiE6ZQTcufpmuGKeNN9XLfbIlmB4VLjS86U9zAduSmcL92t00NHQ4L.BQUPHRveFWbVeSxHEr3jpL4gPxxfr+t.XUQJ5TIc1Lhjj9CQaG8UkdAWUyxjuLShMmcsEBqtvYgw1cLEqRvTcEw2Fil.4A+SDZxy4wcZcUqlsttUzaqZ5zUpqLXLhbkpMCmx2miw7hryHxpxTkgPG6sGI15CajHwUS7LTvGwo5mmSJkqGZ5uhgFTYQ0L9ThPvTsc34yKGdlvnoDIhBA4SBsUTjE70jP+0tnWL5.rFWEFHhvsjSjZpIYBNfbNPo4lIaFd.QsPKxA1oa9NBbm+mW5k0W3NCVVKLXfRuzTZ1xZHJillxHiEJpoz6w09GJMIeB80Vje0C98m9mu921MymNFgxvW5yNqJlNkdokGEFjxTZ.aix.5UTvWF9BEIBl7wELcjZADGXDYAI8Tg0djWxskK4ZWQGYZws418Bcs6dIWzB+j6mFbAMUOGEDF7FPbNgNat1H821sBuCiGv6JRKXX8sIiMacJUXpI9rdFlMNTqV5m2eDLz8VIC8Ja19.g68CGS0IyWMdarB7Bsc+ei2x8csCOb5TRhtFraFdzuttK29HfhaGvLfyVZ5GCOoHaBvmmP.jvgNHkomngYf1I2yHapLSH7Tqv+.OkJ6ajCJU1uRIz6mHEuJwQCX1ndO6I.l31elnY3wF4nal+CC60smYdi9pjDSo3q6iPq1muYM74aWCedzZ3yiWCedxZ3y2sF978uWeL+i0dEZQlaLolDG1OA+miuf6CtWGs+eAYuqQ7TxkUMCP2qT6OgcHO0mf3nBF6crwb3aY2jEjK7ks2IjR9Tv6ogl5yJzjZt9Q7ygkGtAJzwiOztbIH3PNFFcbm9uS1WFl.
                  

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

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

                  24

                  Online

                  1.8k

                  Users

                  12.0k

                  Topics

                  104.7k

                  Posts