HISE Logo Forum
    • Categories
    • Register
    • Login

    Integer knob value doesn't sets the effect but decimal value does?

    Scheduled Pinned Locked Moved General Questions
    14 Posts 3 Posters 514 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.
    • orangeO
      orange
      last edited by orange

      Hi everyone

      I am seeing this weird thing. If you enter negative integer to the knob (like -4 for example) the linked gain value doesn't update. But if you enter decimal number (like -3.6 for example), the gain sets it. I couldn't figured it out, can anyone help please?

      I am suspecting that I've used 2 nested "for" loops. Maybe that's the cause?

         for (i = 0; i < 2; i++)
            {    
                
              for (j = 0; j < 11; j++)
                 {
       
      

      alt text

      HiseSnippet 1474.3oc6YstaaaCElJoZMwatncnO.D4GE1KItR4VWW5VctNDzlVi4danHHPQhNlIRjBRTo0MH+aOX6QY6MnuAaGRIYQaq3lZfVrNTAXqvyM9ctvSNLoUD2kDGyiPFy9rdgDjw2Y1tGSzcqtNTFZusQFWybCazl8BchiIdHCio+UIGiYuFR879GtoiuCykTPBgdAm5RdLMfJJn1p4in99653QdFMPS5UZtmKmsE2mm.nXZSKTni6oNGSdhiTroLQFeyNdTAOpsvQPhADsI2qW6t72vRk+EzX5Q9D4BaTavPoj2k66IQrjJZqtTeuV4daLBrRqBee5Te+1l6S8n8oWDCtohAtPC83gwTiCd15vy5pCOCM3csT3cKy1tQzPQAGI19Vy8XBRTGGHEnCqTYQS8pYL2hCRvDMBbNkraDrnuF0VyxZA7xVV0WuZkpUt6cw6m3Kng9TRDdinHmdwUq.omXA1Qth3c3iX7iN7LG+DRL9mwudwUW.u3JvmkgOKAerW.ClD9FV.z.Vqdv5CaDYMzgEakt8VxRZjUaXKeIMJrAK0.9Z4F2Grqkjgjt8JRh1qAbsZbuCT3OyGZSCB8IX4lf2oSGhqXDuHUDkDvllpcGdDtFEVasNlhe.dI307yWuZkyqVACOipaivj3t0TGXZbLQjtW0lqPf4vyio0kA2KzvmLDVZb8iGKRsRQQdRFvwV7fPNCVTaNI+BPLrluldPiXo7LQD2eKGe+ifyd03Lcgx3p4DTlOkQvcRXtBJmgKU9Zt4nXArJ8V.db5KetqiOlx7HuEbzA7HEwm1ovF4nO8aZGbsGSYmd3lIBAmI84WH2hZ0qmsCvy43hmBpCE.rWTsUpvPpIRw55ko6ECSP2rtbeeH6SOijVcuaVzolzV5BpUKnpFzbj7ZBMRPjo7LqlLyIiN5wiRyoZBnkRKKaNpjiIYJyE4jTg8BecvHsVLd.FVGnm+VezX6XhrR7qxL4UGWn2G.hVAfCkK+nt5kaYvTmOXY555qNYfUA8ajkRNk2kdDVq7bv5h7eRo4IoZdBnosM7VSU7Pw4RpFyRL0F9ztVjF+Kk0S+0mb.9N2AOVEeP4JNu8A0GATkfS7nTjOEQQvyqM9eSAfx5PWM6Fqc+kw+v3Q6hfXV2eMYpo7Mdz95Y8E2PHhnGkHJJXGTD46EzvcdSpReFk0ECP5h7Z4bFY8IzNW9Dtf7Tn3rx4UlsxEUvCypSmR4kcF1mDUJa43XQiSwZrjfiHQ4m7yEDlKYvAeLu7AezmKyMscllfb1dLp3ogD1kMNDJqGHLXzzYnB9IgZrnajMVTaepGIBQgoettorPvBo.bwnly7mnqrx1eDJm1pTobUSslmCah2+Pzy2aaGgib9tLOB7xPRjfJCfFaSNCFbNcZuYM2lDepfGpb4rtuHiY9fN8aK1vW0rW+E3iZFP877Is3wTYBVef8XAIrM8c4Xs4e+t+3gANZV51fxZZbaYv3JiIaMLEl74ASW+JlhJr2eEngLzyaJHuEry2njF8FpmnaetMeYytD5wc0tdyO0DM5D6v8F3dI9NhAuLgruQFCoOqO0tbxbFDK5oW07I4FFWU3dKyVTga2xw6TkfWn39SMdytuVUyzIt0ur5tuZRubV42czprKmMkFVlo+8l6+6FTPopFAqK6BzMuwhqzbahuy.wuWNPwF52aVxUr2icFz1nE22IZ3n+zC5xSe0b4OvUjGeIh5hTewTR+8lpP9WR.VUR7kCfuoYKm+KTP7a7DAkc79NvfbPmdymjDzlmD4R.nxXDe4TKFSImuHcskbsDPsILO0h+AdxXZKWajwzNmI5irWf8W6E70dAesWv+O6E74XOBbbi3G5ldWD4QyYTT.+lo9KlOq49x0392fwzzpgEBFzldnqqbFoEg3S45rzDnyxSfNqLA5r5DnyZSfN2aBz4GGqNx+4AajH3Ao0+.gV6ntFngwNLGnRVcT.8u.BkzvlB
      

      develop Branch / XCode 13.1
      macOS Monterey / M1 Max

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

        You're writing crazy code again :p

        Why do you want -5 - +5 = -29dB - +22.08dB?

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

        orangeO 1 Reply Last reply Reply Quote 1
        • orangeO
          orange @d.healey
          last edited by

          @d-healey said in Integer knob value doesn't sets the effect but decimal value does?:

          You're writing crazy code again :p

          Why do you want -5 - +5 = -29dB - +22.08dB?

          Ehehehe 🙂 It's just an example equation, never mind that point 🙂 I think the issue is not about that right? 🙂

          I didn't used .changed() since that can cause cyclic reference because of The link button, right?

          develop Branch / XCode 13.1
          macOS Monterey / M1 Max

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

            @orange I think there is a built in thing to prevent cyclic reference when using .changed();

            cfa1aaa7-1402-462f-8c94-7d4250c2ae58-image.png

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

            orangeO 1 Reply Last reply Reply Quote 0
            • orangeO
              orange @d.healey
              last edited by orange

              @d-healey Yes cyclic reference tool doesn't detect that also, but as far as I know, it crashes in DAW.

              Is ther another way or is it a nested loop thing?
              If the .changed() is the only way, How can I use it?

              develop Branch / XCode 13.1
              macOS Monterey / M1 Max

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

                @orange What are you trying to do?

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

                orangeO 1 Reply Last reply Reply Quote 1
                • orangeO
                  orange @d.healey
                  last edited by

                  @d-healey EQ - Comp - Preamp combination with Left - Right channels Link/Unlink processing.
                  This snippet is the simplest prototype that has the core issue.

                  When the user enters negative integer value to the knob, as you see it doesn't update the effect parameter (Simple Gain effect is the example here).
                  But negative decimal value updates the effect.

                  develop Branch / XCode 13.1
                  macOS Monterey / M1 Max

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

                    Well you're playing with the knob ranges so it's probably not going to do what you want.

                    This is a simple way to control two simple gains and have a link button, maybe it'll point you in the right direction.

                    HiseSnippet 1184.3oc6X8taaaCDmxNLH1aoncXO.D4SxHsoxY8OaKanowIYvXMIFycYcHnHiVhJlKTjFRTYwqHOHYeZuF6a4QYOB6MXijhJRN0y0w.qaYH5KVGu6386ti7tStSrvmjjHhAN0d4vADfyGB6NjK62pOlxAs2D3bG3N3DIIFkszFCGfSRHA.GmpekdAmZyALO+wy1.yvbeRwR.v9BpO4EzHprX0Nq+0TFaab.4kznRR+n0a6K3sDLQpBOUgdfAX+iwGQ1EqEqBD3L+VAToHtqDKII.m41PDLraewOwyjeeZBsGinIZB5p1nrk2VvBzHVuJnUeJKnStem.T6RmhnP0rnvGC2gFPub8hnwcMLPEZTNd3TYRvq46FddiCdNkf2bYv6dvt9wzAxBNZr8Av1bUhJDqRAkgUlrfJGVE1RnjfKWIBeLY6XEwkZ39DOu6idrmWi0Vr9h0UIhDIJgFMfQzoYzWhN30FNghXjKUQ6sFhh9BzppeVd4FKVGodJTXkAoI8cMmkV4HhbqvPhuzcotFAPZIVBsrdiVF0rQiLi9vGhNl2SyKG.Vxov5uIC.VExrdt2preKQz.AWQ3tjUDs4oFCWRuCnudkDszbYrf0ByX8TGAcEbKeKCsVmko3h0obFkSPgobeIUvQWUXW+baeezIXVJo.sLgOlgn7.xoJWJG6F58BKzKGjWMFefQRChetTFS6kJItuMa864ldjchFhb6I4ufxOVGi1WKgaCapzBwxAmlOnvfYBOxlNVQ86i4GQBbarlQlyzwMSl1Z37LskTEFFeVyxeoFqUJPuqPR1i61n9apWq9Y0QWkUX3X4YSLLR7XYqqJEOIEc4oQ8Hw4wzbAUWOG89+7S28e+LGtjfBdaNUt2.hkdxEv.1HlpVQUKBUuIMUJtisRQWFMfDCnpMoNzlj7.F7aK.+qme9Su.bczu40P+MRkRA2neMnMWNh5YOea6MwRrtnm0mT94.RrjpCmNaRNQ0MIqDXM3ljjikhAFm1dLQUCbZb6SKr4ms9PfCz4yUuFIBr6qOsGgAhJ2b66uHBeZYnpZINnK8mMv+WNW+7aOKIMLjpjBBQAanzOHfQ5HRn5SOZ4bLZt5ERxoJnt.zTZSmQuV3uYI7+6+3+53e0QvObJR6E33GvZ3mSbz5Ya77PiXf2tump6qHHkgki1RViCKCMRK26S2eiq7fgkmS4Zzm1apGiXZg68fcnR+9iGuUFCdU2F9mFu1odVDl0lt.ryA29UuGFwoRIrrvkygdYiL6bnklcn4e2bnWnqBsIggGI.9cz.Y+RWFVeLSp1lehpPSGACGe0ve0Q84pSmO+NlzbxmQLWstwbl9iflP9MI.aNRbyAv2E1A+egCDeiHUR4GsCVMtotSwtoQcUetlOQAUNmvRzcipnmIIi1SSqATWBOvP7mpGKylZZGKyl4LAW2hAqdawfaKFbawf+eVL38gMhv9whC8y9zE8UyELqn7at4edpFbGMM5xO3AB8VwSOfL8Pee8TROPEeFuNqNC57IyfNOZFz4wyfNOYFz4oyfNe5D0Q+mv87ToHJ67uZgNaY9xQGms3X0IYyUAveE5zb9H
                    

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

                    orangeO 1 Reply Last reply Reply Quote 1
                    • orangeO
                      orange @d.healey
                      last edited by orange

                      @d-healey Could it about the logic of the "loop"? Because I only used < and >. Not >= or <=.

                      develop Branch / XCode 13.1
                      macOS Monterey / M1 Max

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

                        @orange I don't see why the loop would affect it, I still don't understand what you're trying to do though. The simplest solution is to use the knob ranges and to control them like in my snippet.

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

                        orangeO 1 Reply Last reply Reply Quote 1
                        • orangeO
                          orange @d.healey
                          last edited by orange

                          @d-healey

                          Yeah that's a good way too, but I will have to rewrite the code. There should be shorter Solution. Maybe If loop

                          if ((arrayed_Knob[i].getValue()) > arrayed_Knob_values[j] && (arrayed_Knob[i].getValue()) < arrayed_Knob_values[j+1])
                          

                          develop Branch / XCode 13.1
                          macOS Monterey / M1 Max

                          orangeO 1 Reply Last reply Reply Quote 0
                          • orangeO
                            orange @orange
                            last edited by orange

                            @orange Ok I figured it out. there should be >=. Thank you @d-healey for your help and advises

                            if ((arrayed_Knob[i].getValue()) >= arrayed_Knob_values[j] && (arrayed_Knob[i].getValue()) < arrayed_Knob_values[j+1])
                            

                            develop Branch / XCode 13.1
                            macOS Monterey / M1 Max

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

                              @orange you need a >= instead of just > otherwise you miss values in the array

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

                              orangeO 1 Reply Last reply Reply Quote 1
                              • orangeO
                                orange @ustk
                                last edited by

                                @ustk Yes, definately 👍

                                develop Branch / XCode 13.1
                                macOS Monterey / M1 Max

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

                                29

                                Online

                                1.7k

                                Users

                                11.8k

                                Topics

                                102.5k

                                Posts