HISE Logo Forum
    • Categories
    • Register
    • Login

    Gain Value Curve

    Scheduled Pinned Locked Moved General Questions
    13 Posts 5 Posters 506 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 @A Former User
      last edited by

      @UrsBollhalder so scale them...

      HISE Development for hire.
      www.channelrobot.com

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

        Are you trying to crossfade two samplers/synths?

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

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

          If you are trying to make a Dry / Wet knob, this will work.

          In this example, Engine.getDecibelsForGainFactor method is used by a knob with normalized percentage scale mode ;)

          HiseSnippet 1058.3oc6X81ZaaDF+jiutXu4RaYrsWJBLvARCxsccCFi3F+mhYyIh51zNXP3rz43ib5Nizoz5UJzOZ8k8s6Sv5Gg8p81smSmjkblRvyvJKPje0872e2ycO+zikanziFEICQV0d57YTj0mgGMWnl1YJgIPC5hrtIdHIRQCsMh1e9LRTD0GYYswi0BrpUEk77G6sOgSDdzbQHzQRlG8mXALUtT21+Hiy6S7oOkETv5GzdfmTzQxkw.d1.6flQ7NkbB8.h1rJXj0M54yTxvQJhhFA1ruze9noxWJL1eDKhMlS0KZgFAAxHF0YJi66lsWiPHqpt467ML67OGOj4yVHOuBbqDE14dTrFXUYYHUcIH05hfTeI2WGfK.dVEfWUC7tMdjWHalJWiFaeJdf.NblPfxdQXYrEU42pf6HAKDpcCHmR6GBKV3Qy663ri88bb196aTW+CJ+QJ6yHg1cCme7yopiGxdk8OXmEhSnpNxfYRArn4VErYKcDVx6CiUfiI2kzt0axDpmwGPy4LGBxEXtQyVY3iI3LA0dRrvSwjBaon.FzfLTxa5kgvcffyioa2n9qaTuFW5Q31u7HsHHU8Dm.gRmqtTO1XJOpuLTegtOwCNNaZbExaMCF1MhpdjRExFGqnMSkosemzXZvXsEYxeUyTqccruqcd9LknkyWpLS97Wju2jjyU3zQGsz5SGBmOF5qZVVwKqP2ndgZ7ARE8PQysq+550p+l51mW0jIkpKMjbZXop089gWliMEwAiogYmhYFBMDK2wciUqiyyTkJXnTLPvTGNiltNumrUI8jnzxrt6LEgfopjdyal1aNhy7ogHFDjF3BUWTxVHioa6e422C8rAcIJRVvf3B4ZFMTwzaIqtzy.dSSieMbWZzoJ4rDaSOeQVexJl5Wsff8sOq87EKd2SZGH8g.7E3CjgADN6Wo9tzPOH3.kKJJdxDvanX70n.luOm5JiX5SnbB6OrG5exSArkR+XNQsLEp9papBcLJxUo4iDPrmW7cI+K3UcJkWszyvUDt2F6xTdSKGuUJAuv43+03M8sTMvFtwbvVE2+EeDdkTkBXYyEyJvBlwoONCJahMDUWzTBu8O8+x20kxIKU5dNyWMMWvO2tj4HFHNCZNbkbR34K7abYyDzZMmI3xucn2R1WYtMeGbRI+pDfStRb0Av2B6R9+vEhmHiULwICIvbC.2M9f3fQvvzdT.pBAL4AHyph9cYl0N50Z.MhJ7SV7WvSpxV50VoJakoDsRz.l4itHZfO792+UWSCbMMv0z.WcoA9Xji.hWn7XOyv15VyMSj.6aQxWDnFdndscqr4qwXmccziqxN1ySOYzcg5S49bu0vm6uF97f0vmuYM74gqgOe6Z3y2co9n+PIOJVICL2+AAt8R9eNVV8DD3lbRq.5uAXDfO3J
          

          develop Branch / XCode 13.1
          macOS Monterey / M1 Max

          1 Reply Last reply Reply Quote 0
          • ?
            A Former User @d.healey
            last edited by

            @d-healey said in Gain Value Curve:

            Are you trying to crossfade two samplers/synths?

            No... I am routing the signal to a bus (3-4) and depending on the value, the signal should go 100% through the convolution or 0% convo and just dry... So I set up the chain in the fxsection and have 2 simple gains controlling the wet/dry. One is channel 1/2 (dry) and the other 3/4 is for the convolution.

            simple gain1 --- dry -- channels 1-2
            simple gain2 --- wet -- channels 3/4

            So when the value (panel data value, event.dragY) linearly goes from 0 to 100, the volume crossfade between simple gain1 and 2 should do the same...

            ustkU 1 Reply Last reply Reply Quote 0
            • ustkU
              ustk @A Former User
              last edited by

              @UrsBollhalder Then you should go the @orange way. Engine.getDecibelsForGainFactor is what you need. But a linear gain factor is a 0-1 value, not 0-100...

              so one is doing => Engine.getDecibelsForGainFactor(value)
              and the other => Engine.getDecibelsForGainFactor(1 - value)

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

              ? 1 Reply Last reply Reply Quote 1
              • ?
                A Former User @ustk
                last edited by

                @ustk said in Gain Value Curve:

                @UrsBollhalder Then you should go the @orange way. Engine.getDecibelsForGainFactor is what you need. But a linear gain factor is a 0-1 value, not 0-100...

                so one is doing => Engine.getDecibelsForGainFactor(value)
                and the other => Engine.getDecibelsForGainFactor(1 - value)

                Thanks a lot for the help guys. Appreciate it!!

                It's getting a bit messy here with different kinds of values that should then go into fx modulation and stuff. But I think it's more or less working now! The fades are still a bit uneven... Thanks guys...

                ustkU 2 Replies Last reply Reply Quote 0
                • ustkU
                  ustk @A Former User
                  last edited by ustk

                  @UrsBollhalder It is not a panel but it's the same thing since the slider uses a 0-1 linear value:

                  HiseSnippet 1433.3oc6Y8tbSaDD+TbDEaZX.FnkOpIS+fyLPFKWf1Y5zIFriodfP7DEf1OQuHcN4HR2od5TZLL7s97zWg1Gg9Hz9FvaP6dmjsNAhfqKsPRSxDFt8e2t6s6d+tQCEbeRRBWfrpu83XBx5is8Fyj60cOLkgFzCYcd6MvIRhvIizcFGiSRHAHKqZ2UQvp9hH8Oubs6fCwLeRAID5QbpO49zHprf5vN2iFF1GGP1lFYH8M5Lvmy5xC4of+TytEJF6uOdWxCvJwVvFYcl0CnRtvShkjDj0h2gGL1aO9Oxxj+QzD5NgD0BWjGXnLx84gAJOV8+Qc2iFFLbRbmf.iNrHKTKKKbY6MnAzozKxFWPyvoPCy7g0BGk64Nmtmkg6sXl6cQaOeAMVVvQ4amyd.CNnFggi.S2JSVzBOcA6tbPBlb0H79j9BXwTMZdqVstlyMa0ZkuZoFK0.NHRjNGfENdzn3Ph5n104qczEGqtKQt9nQDeYykyX6n4urR2pzr8aQy1KmsqpeorPJi3LJk4KoblCmcOFeGWkmK3gM84QwbFDCWC1ivTxJK034K0ntgWtZBQdaoTP2IURZZxP8uWyYc1tvFn7jdDe5Njvj9bghUerOb30LyrJGxvpseSVs8LZUWmq6TX4W.+M4r.To6jfp4x5fc4UTaWdH2EGFtCzHzrblPYFijzC3Rxlrlqz34Mp23EMbdUViFUIubiERDUxV0fJNJEaxRi1gHlbXLQPnRsbqv4lsVA+rbhgfb1.FUtYLIecQyhhWVTOgaKzzf0jTQLZRUGZUHVAoWuWDkelo5JyEGDUp6IOedOoWHMfHPTvG+Ha8AFRmaJly86qgd3fdXIdhY.KB6RLQHopbkUOxAvTyrV8518HI6K4wZYyKSPVK8V2zCmtgeeXmwSW37zNIxwpL+YzBhhnAAgjg7Dp5j0Xb9u.S8i8nOS64O+x+7c+im8SqEYNwGghvGZdAPR5nQzC0ipGQCiRf1k3AQvDbj0kreXBwIfLBmFJcR1GrCzmuOIXatV9bNO50RUu9zOXFLOHMDKKOXV0rkyPEHlS.US4XP.N1zY+aLstUkSqcqpBYFc2KZOjJ82qZ+cgJ7WnV4ea+M+tukrylPW3rKZ2+am2K5lOW47Ytx4r8fgp5aNzNxmnW67X7Av8FDFQnRptGAljeaVwjDOyXR1zWBa+1BLKIlmTxvdjH51PCZhIQnruuf7CaoNkMo2kiEUx5kq0GBxJ0wCKSE5xkaGwSYxRkG0lKvGk6ZLjuBjHK9d.nz69Vu+4SJpMat6aAKW8I9XFXh0YGPBgKAz93kfo954gSnVtHeCNiGuGmQ8Mq.1h.ya2cWhvz2qLf.fL.fhBJWtyVjPB1rZ9y5benJDKf7DYNyEtydt3nNutpcl65n5LcNYLgu1InI7y4SYN6z2aNEKc96MMeRwaZ1dmqdkq9q8Hg3RIvGSCfaJlR365Twz+APGkPNjGhEuZ5u16pR6Em4ZDUHc7olVMVBR4GmbXcIwwGG9B1CweHTPrEOURY6tAFtRA.za+fzHO.BjOAbUFCdcKPyZAELlr0sTqyv.wBzK9S3mbltp0V4Lcmv7+j8vHsekIXJUvGKvTdE85QbQzGJPJcMs7qvqsIudDYJqr3YjJIkJ75CgmgbmsyDhsMIBkdkLFrtjk1fdn4x0YXnvxi.QSvlI9PvpxckLPZXBQ2A5Z9ltBxsMI+MXQ.bt3+eLp1ybJp12WnZaeJp1SQ09+OTssOEU6onZOEU6ISTsybJAPSc74D7SsADdsczC+cd+O8+jxyShv9B9S7y9TRpYrmUSAhal9adW2dC0ZmoeCIa6Vq1R8ManOw2WcC20cQnp0o8bnymOG5bi4PmaNG5bq4PmuXNz4KORcT3+ucpjGkU+CDFtt9a4YYk8dHcq.5unECbKA
                  

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

                  ? 1 Reply Last reply Reply Quote 0
                  • ustkU
                    ustk @A Former User
                    last edited by

                    @UrsBollhalder And this example is the same thing except it uses twice the same sine generator, so you can hear the fade is even as it should be...

                    HiseSnippet 1229.3oc6Y01aaSDG+bRLrjRq1PCTeoUEuHUpqJIrMPBgZZyCnns1F0z0AuZbw9Rxsd9Ny4yEhl12M9HvGA9HruAv+y1I1Y0qMXFvZIIJU89+vc+t+O6j9RgMw2WHQFkOcpGAY7IlClxUSZMAS4ndsQFaXdH1WQjVQjNXpG12m3fLLJ9cZBFkKgBe8l8N.yvbaRBID5LA0l7TpKUkPseymPYrtXGxoT2TR+vl8rE7VBlH.vSQyZHOr843wjivZwJXhL9nNNTkPNPgUDejQoCDNSGLQ7y7H4Oi5SGxH5E0QCfMJhbWAyQiX8+iZMgxb5O6d6ifMsehUnXjU39lGRcnyomXMtaHCqDMRaOLJbUvqdNgmQJ3UJBd2ybfsj5oR3nw1Zl83fiZDFbAogUjrnBurfYKAHAWsqK9bRWIrXtFUebsZ6X8nZ019aVux5U.Ggux5BrzZ.00iQzt55VeqUXvwtiIpNiFQrUU2JhsUH+sz5lklMtFMarUzopeS4LJmXMJfaqnBtkf+DtXXcMxkBVUagqmfC2gcfyfEP1d8JuZ8JkSgxc8Ip8UJIcXfhTMMC8e2wpCeLb.ZjzlXSGRX9cERMqtXav4UMZa0.J0t13csqMVxcst0CrR14WCel4K.UZM6RUcqvK6VaqOt3qbKLiMDRDptnkPuMoLRGITji4U2txqpTtxqqX81rFMJSdwaFiHyjsNAUdUJVkG3NjHm4LlIHDotXpvZKWpfcjMIkfBdONUcrGIdcRxhlWzsdF2Zn4W1zjRtiooFd0xPrDRWNWDE6yzYkwhChpByI2HNmb.i5PjHJfwO1LzggBsMI04988POqWarBOaafcDNEOhTQ01Ji1jKfplQo5kMaS7OWI7BkMNLAYXdsG5uL+.+QVyoyWX8xlNjQ3.l5rKgpKWnAJ2IbBXX0h0.0w0wLfngEJ1nKnv8opooaL7WnvXsLKLVOKmwRB26Y1mprmjMdKjAdA2x+z3MtMy5lQECS.aIyteed6ojOnrQDTVyb.T+JrHcHP97v0VOGeAThlvIRsQs9Uz9+2V11+dKc6+isUvwepDy88D9KrwCHtzSgbA+zDelOzTi7Smn8xoo2RfkYx5M60EtjYpy.rJPFFtruqHfqVH7nXt5yuXVSJ4ynoeo+ClI48ep2e+JEEWN3dMiMUdFFi5a2geAgA0aCw3mBEXCqGNi5hA4GJ3BuIBN0NcDvIDXRfwiIxzXOyKDLy.z6Ngx8adBgQvoil+hlOEhBwRvNQxosn9xaKtJ+0llQv0RmYZc6nBewaQU3y4SMbm4OZ27wVieztzSu+tps2byOayesMggWv.9bpCzoXNgenYFU+6AYTRUeACKeayew2Wg1kV5XD8U5lSLstrDXxuIA3vPhaN.9tl8weHDPbhHPQ4iODCsTfg1MOJvc.LBjMAfJmCOHIPynfdLln00zqilAh6Dt3OfWwLqqWaDyr9Ll+qbF4blxFqlob0Lk21morwpYJWMS4++lorwpYJWMS4pYJWMS4GxmgK1VJdgczWmuN8+NgT.aKO72crr4g50Vy+d7MMqsaMjKLezKrs0Eee.3CxVmF4PmuLG57vbnyixgNONG57U4Pmu9J0QOZ59AJgaTNFPnemveOECiNbLjsDltg9SD46AwB
                    

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

                    1 Reply Last reply Reply Quote 0
                    • ?
                      A Former User @ustk
                      last edited by A Former User

                      @ustk said in Gain Value Curve:

                      @UrsBollhalder It is not a panel but it's the same thing since the slider uses a 0-1 linear value:

                      Yeah... That's how I set it up now... right?
                      Still, it sounds a bit jumpy... But the convolution fx is a tough one to control level-wise... So maybe it's also there that I need to solve that problem.

                      inline function onPanel1Control(component, value)
                      {
                      	WetGain0.setAttribute(WetGain0.Gain, Engine.getDecibelsForGainFactor(param3/100));
                              DryGain0.setAttribute(DryGain0.Gain, Engine.getDecibelsForGainFactor(1-(param3/100)));
                      }
                      
                      Content.getComponent("Panel1").setControlCallback(onPanel1Control);
                      
                      
                      
                      ustkU 1 Reply Last reply Reply Quote 0
                      • ustkU
                        ustk @A Former User
                        last edited by ustk

                        @UrsBollhalder That's exactly it. Effectively you have to manage the gain for each convolution file since the difference in level certainly comes from it...

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

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

                        27

                        Online

                        1.8k

                        Users

                        12.0k

                        Topics

                        104.3k

                        Posts