HISE Logo Forum
    • Categories
    • Register
    • Login

    GUI for the Parametric EQ

    Scheduled Pinned Locked Moved General Questions
    58 Posts 9 Posters 6.7k 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.
    • Christoph HartC
      Christoph Hart
      last edited by

      Just multiply it with the band index :)

      inline function onBand2GainControl(component, value)
      {
          // Use the BandOffset as multiplier to get the correct attribute index
          local index = 1 * ParametriqEQ.BandOffset + ParametriqEQ.Gain;
          ParametriqEQ.setAttribute(index, value);
      };
      

      Example patch:

      HiseSnippet 1123.3ocyW0rbaaCDFTxrSsRkSxL8A.imdPtM0gTx1wYxzIxR1tilFaqTk3o2RgHgjPLH.CInsUxjY5qg6o1GidKOJ8QHW6o1EjThjxJtRGZZvMr+gu8iK1ErafzgFFJCPF25Yi8oHiuvr2XgZT6QDl.0YejwZlGQBUz.bhnVi8IggTWjgQ4uWKvX0UPwq2+3VDNQ3PyDgPmJYNzmv7XpLo9M+AFmeHwk9LlWNq2pYGGonsjKi.7T1zB4SbNiLjdLQaVISz4L5EgHCKyF02L3L69uduMmY09Is.YCKJG4DEDPEpSA2QFlF+MrLLOvkojA8TDEEhY4VR2w8FIuPjbzmxBY84T8FaTO.SIhQsGw3tcmPagHjwJcyHwxIj3WZdDykMUdFYdmXE3LOxSmFkJBoUJ.I6ODjNTxc0A3C.OibvakD3cWydNALeUlFM1tkYGA7cd.A9BlGVI1hJ0orYaIXgPsoG4L5gAvlodTaGKq6gssr13QUqTsB7cLTgOmDf6RBfudp.1qN3o3uCGWbs4Pp5fACnNpZqmoGevSWOwalfyDT7fHgihIEXonEQ3ZqK2zHHPxq4H87kB.K2CNEdDcipUdS0JXXc+6iedHEqFQwZuNYvfPpBSBwdQbEymyfRYkDCPH1FGITZ3.Fn.LzORQwLgK8xjXwkNDdh..6V3utP5rYt3+ME0ng5iRhQ0JqVPEX8dSNqZwgdRJ.N7137eBMCXr8j7r15S4f02PGjTlnMgy6CWSpccR5lHy5KFYVj.r++m.p+uQ.0mg.xk2GKUzSD01nxaprZk2dMMCFLOUoghSClmVcCrfavsZhHu9zfIIXpcvEwh2z+rE6ltSBsjyPonifoNwmltOqWf8b5EfR4UnqPoT.Blph6IrVZOgdblKM.wb0MDlVQghweZq5lMZb6lnEN.0uV.9sqtx5cnm2Yehhn6PkBK.p9z.ESyHF6SOGlbjzuZUy8ogmoj9w3Nsd.FUsPH+xoCX9YRywYSa1t4ELW0H87feA1NhxFNRo2AcQQdR2zy0g0mxQd4GzU+cdjKyssILdzuG60wo2udkd8GONLZv.FXkoI1sE3uqKm1UFxz0G4GPhVhDp9LIz6OOeB03SjD55yafodR2HNQUbTnNaRUniQ9YN54JBH1iy+7hkX9n0bmON26DKHbuqYWlxYz7wao4fW8kr+iwa5qMpZlLLMCrqXd3O8Q9oEqM4pZ6nfyoG7pXbbayBi2K.oii7NjwgmODpqQKAYltD2JeOl3KwS5Y7W6RiETu3KNEtMlUvVYBtSrKamuuiVvNoB9yu5k+drEOX1Xr6rBdX9fZT9ld7n8h+3QzOJiTLwviH.EoubArRO34uNT3ioPP4SImz8V58ZPziFSVIOlMUosduQpR6IJ+nbFdDm.4KbRlInqM97XIPdKhe79pveQ.6w1SFDn4CnIB6ENN550uEp0muG0WZOZrzdr0R6w1KsG6rzd7fk1icuAOz+3wdQJoWR2KD5e.56iySA
      
      Dan KorneffD 2 Replies Last reply Reply Quote 2
      • Dan KorneffD
        Dan Korneff @Christoph Hart
        last edited by

        @christoph-hart 💕

        1 Reply Last reply Reply Quote 0
        • Dan KorneffD
          Dan Korneff @Christoph Hart
          last edited by

          @christoph-hart is there a way to see the code associated with the WYSIWYG editor?

          1 Reply Last reply Reply Quote 0
          • Christoph HartC
            Christoph Hart
            last edited by

            Not sure what you mean with " code associated with the WYSIWYG editor?"

            Anyways, I have added a floating tile that shows the filter graph. It can be connected to either a parametriq EQ or to (mono / poly) filter effects:

            0_1522687038383_Filter.PNG

            It's just read only so you can't drag the curves, but this shouldn't be too much of a restriction...

            O 1 Reply Last reply Reply Quote 3
            • O
              occultsamples @Christoph Hart
              last edited by

              @christoph-hart said in GUI for the Parametric EQ:

              Not sure what you mean with " code associated with the WYSIWYG editor?"

              Anyways, I have added a floating tile that shows the filter graph. It can be connected to either a parametriq EQ or to (mono / poly) filter effects:

              0_1522687038383_Filter.PNG

              It's just read only so you can't drag the curves, but this shouldn't be too much of a restriction...

              hi im new to hise

              can you expaln how to do the floating tile as the filter graph (i got the knobs connetected to a parametriq eq & got the floating tile connetected to the FilterDisplay but nothing is displayed in the floating tile.)

              thanks

              1 Reply Last reply Reply Quote 0
              • Christoph HartC
                Christoph Hart
                last edited by

                Hi there,

                1. Add a floating tile
                2. Set the ContentType property to FilterDisplay
                3. Set the ProcessorId parameter to the name of the Parametric EQ module (by default Parametriq EQ) that you want to connect and press F5.
                O 1 Reply Last reply Reply Quote 1
                • O
                  occultsamples @Christoph Hart
                  last edited by

                  @christoph-hart Thanks ☺ ☺ ☺ ☺ ☺ ☺ ☺

                  1 Reply Last reply Reply Quote 0
                  • Tod SlaughterT
                    Tod Slaughter
                    last edited by

                    Can someone save me some time with trial and error? Is this supposed to go like this for the Frequency and Q parameters?

                    local index = 0 * ParametriqEQ.BandOffset + ParametriqEQ.Gain;
                    local index = 1 * ParametriqEQ.BandOffset + ParametriqEQ.Frequency;
                    local index = 2 * ParametriqEQ.BandOffset + ParametriqEQ.Q;

                    Dan KorneffD 1 Reply Last reply Reply Quote 0
                    • Dan KorneffD
                      Dan Korneff @Tod Slaughter
                      last edited by

                      This post is deleted!
                      1 Reply Last reply Reply Quote 0
                      • Dan KorneffD
                        Dan Korneff
                        last edited by

                        @dustbro said in Stereo Effect Project. Example?:

                        @duno I was wondering the same thing, so I decided to do a little test.
                        By using the Console.print() command, I was able to see that ParametriqEQ.BandOffset is an Integer that is equal to 5. By doing the same with ParametriqEQ.Gain, I saw that was equal to 0.
                        These are Index numbers that dictate which control you are scripting.
                        Looking at the Module browser, I can see that each EQ has 6 Index points for each EQ node:
                        0_1543578002280_Screen Shot 2018-11-30 at 6.38.19 AM.png
                        The first 5 appear to be controls, and the BandOffset is just an index used to multiply.
                        At EQ Node 0, the index is:
                        0 - Gain
                        1 - Freq
                        2 - Q
                        3 - Enabled
                        4 - Type
                        So what happens when you have another EQ node in the effect? The index list starts over at 5.
                        5 - Gain
                        6- Freq
                        7 - Q
                        8 - Enabled
                        9 - Type
                        And then the next node would start at 10.
                        So what does it all mean?? lets do some math.

                        {
                            local index = 1 * ParametriqEQ.BandOffset + ParametriqEQ.Gain;
                        	ParametriqEQ.setAttribute(index, value);
                        };
                        
                        

                        In the script above we're creating a local variable called index. This is used to gather an integer that is directly related to a specific index on the EQ.
                        If we convert them to numbers, the equation looks like this:
                        1 * BandOffset + Gain
                        or
                        1 * 5 + 0 = 5
                        5 is now passed to the line of code below:

                        ParametriqEQ.setAttribute(index, value);
                        

                        Which is the same as if we typed:

                        ParametriqEQ.setAttribute(5, value);
                        

                        Looking at the chart above, we can see that Index 5 is the Gain of 2nd EQ node.

                        Tod SlaughterT 1 Reply Last reply Reply Quote 1
                        • Tod SlaughterT
                          Tod Slaughter @Dan Korneff
                          last edited by

                          @dustbro nice one man! That should help me lots!

                          1 Reply Last reply Reply Quote 0
                          • Christoph HartC
                            Christoph Hart
                            last edited by

                            The formula is pretty simple: You take the band index that you want (starting with zero!), multiply it with ParametriqEQ.BandOffset and then just add the parameter enum you want to control.

                            So:

                            Frequency of the 14th band: 13 * Eq.BandOffset + Eq.Frequency

                            Q of the 12049th band: 12048 * Eq.BandOffset + Eq.Q...

                            Tod SlaughterT 1 Reply Last reply Reply Quote 1
                            • Tod SlaughterT
                              Tod Slaughter @Christoph Hart
                              last edited by

                              @Christoph-Hart Thanks Christoph

                              1 Reply Last reply Reply Quote 0
                              • Tod SlaughterT
                                Tod Slaughter
                                last edited by Tod Slaughter

                                Ok I built a 4 band eq into my project. It doesnt work after saving and reopening. I decided to isolate the issue. It crashes my hise on import. Does it crash yours?

                                HiseSnippet 2000.3oc6Z0rcSaDEdTHhRLDHPomxRcXUfFBV1geZoTLIwFkCIAaLkS2AJRiimhrFizX.CGNvxtta5gth2.51tiscWOm9Bvi.uAzYzOVi9MiMIoYQ8Ncm67ouu6b0L2Y7zzAa.ccwN.oYt2v9PfzwjaOzlzckt5HavZqBjJIugtKA5T+wfkG1W20EZBjjNzsXsKMyz.uee7FKqaoaa.iLA.2GiLfqi5gHQVaV61HKqF5lv6g5w48R0Vy.auB1BOfxkCIWFzW23Q5aC2Tm41Tx.oCW2DQvNsI5DnK0mkwlCa2E+Tae+uOxEskEj8fJnMEHeyfU5hrLaFpSW.PZ5lQp9P9p9zxafLQirGo947ZPIpG7w.oohSooiQI07nTCrkIC.l0LnmDG8l1mdmTtsgCpOIpEF2Np7Z1zAlN5zvNOs78EL0wOk7JXpG1jE6o+HXCG5Ci5w7Wtb4ETtT4xm6ZyVZ1RW7hM0cngZhCxPo9iYlniGtDkmn6nbaa7V0e753m1vA93APaigJWWID5sgjUv85isoOL+YS65YYufLvhFWGC338NSD0Pa2cLfLo64h43.3NpY1GM6rVYdUPTSLPBbrnXk..w4YtHIHLEopV6rdZUPDokPgiVEEKZIVfHeLDAfj8d4ADB1Nb50bAHtaYhw5MVFZYsCH36TN8ucWnUmcD.OuxDAMQXfV9LPSHFnkIC3hfdKdw5Z8NcfFz9EKr4OSmR8VAuTWeS7gmEcYuVahC1ZEcKqsnqBMOsk5qu9JKyf.YagrgJcFXaPPXakv1l2vuSKPYj0.34lszKlsjE1P2RAYaBeFkakUN+Hpt3x51l2oSG5aS4ahrxlt+ZJzeyVZjMpK2jPmWdqAD37dXsfxRLp7Rdt6EWxl7s0pudi7XePi6uzuRB5qkanWqfPul3g9p6cgds7C8ZEE50FiP+tH8qNh9deJv.SoL6gzqbmc1Ti6VuUdIS9ss6jKwngHBx+cDIpXKilsDt0MWay7jfea6NRfwfOKIzJa9ma7eWK32ZRncX5jZLMvWkUlxYihRo1P7bJ08gbpfZgxQGEjWsg3IVp+ehUNIVUhzPx52yb52hxrzFiLqJ60YVbkYmiPxO0RaLRsprWmZEVlbNpH+whcsAhOqDrpwURwYWEkbIdtU08ibqbSrJJuR7zpp6GoUYmSkaJUicsv+XlQMhBX6MwD3crm+bkdQoYJ8xRJIapSmLaKPjVPmLalcvYNE0w4sGzaKnSHoBcDHMc7iq5nhcbUF96GiyQr8Z1Hxc5CCdl+.sBUcXqkAiDKuoHMxa0SZY3VjozmWFHX+h.fzICbm5Jw6byNdv4l01BYBc.HS1I8ktPWfWfJ5vH+gZ.AP5qkyrFmDfU6UBA1YjydcsjT6MBg1WImwjXII16DBpSHGqf5j7IH9uCfbJ4jUPMY37kxoVubx.ZN43SNNYnbrHY0JEBiazksr4jAxbwiJSHJyxgx3.g+tf8f33x7mjRRL93MDAiSHG6DMBAQVpvAkLHgVLRHd+Ogbr80OYpXN43GZWFn7iqspNQmcd+ASfQmTqOzgfXSMKsJ7IHCn+o+Oi7pP2GQv8oeHM5DwnSeOdyw8rn29h0FN5AketVOrIj8uID4aO9+amkp0SOpy+x+TiJo9sQOOlbbGzoCh5krrh1yo82zzB1D6hXqLw7yK72+2pYB6nOvhb+LlvMovNcfvZXg0IH6suGht1j+HDuIUdks.mx.2tVPj0OLR6FxhNZrJxsuk9PvVaG92MMygqVs5mXcAQf8hr9I5u3VqDX9ULydieRUkoEUnnb1QqIsl4Y+NknycbAuVWiUl.09EnaN9kfmhLIcYIke+T.PWH8KNB6oe0OEUfQ37V6IJT7VHWn30G.Fj8WHT.sk6RgQ7qIgSb0NHjA+FAEW1qLGQtW+xCZCauKlxJIbgBbeUVgSSuGGnI1rZFnsfVwUzUeOuh.WMlh982v98m7Jxb4LTD2h3Bv7LpNIhAef+6HP+CbjOqRhhnv6i8gxAO1mpNrb9Rn++UT+KDq3umw+IYDsK6VKfl9b3utQLZpjyjIfZhQgjUOxAcGNV7v8VVjp7StEg3S+d6dKMhW+ZN4Que2fCxhV.LGx2fiD+8Sp4nahv2xAOne30.QD3SVaLG9WmC+O7rID+DkNmSL7sOMA7UFS5qkh9wv+OFVH9GV7htidAOzheV7yWqeTwZwtgS88uDLPO6yHW2VeKKnIsfiTWIm4j2.aNvRmD+1BwlDKnA1rJ7WKG1UuwlNayP90lGiqPTYguBQhR2SJ2DQL5lMemJC9R2sxdMeCtPVyJ6+G3GQ1oka7S6t29px6zsu5Lg6+ZkANOARSOJ39vs4fd9auvkUIOKdwNMwx7wNlAU9M8vLTgeVFlgpwuUc1lKEYXNOOtTRPuLeQ1LCWIIFWMoguMInpoopJe4sdVRQV0TrUMEcUSwW0KyWdomkqjB4TTVkiyGolzgJ55.pJ90ADbW7.1dI2Pm33Uc.cjrMcqdFPZtmsMzxa.cJVYA9OWN7zDZC8FfkkX6SLnQU1yRAMpF139x6nmtgC9AAG4MKU9HdVn5116NTNCMwk9rh5nyDQt7hkY0AgdfgA6CrKP+3L69TYB5S0InOKMA84RSPet7DzmqLA84pE1G1UK8lCH3d9S9RMzrt+gJHEtxCclEv+BFZPsJ
                                NatanN Dan KorneffD 2 Replies Last reply Reply Quote 1
                                • NatanN
                                  Natan @Tod Slaughter
                                  last edited by Natan

                                  @Tod-Slaughter Same here Win 10 X64 | hise 2.1.0

                                  Tod SlaughterT 1 Reply Last reply Reply Quote 0
                                  • Tod SlaughterT
                                    Tod Slaughter @Natan
                                    last edited by

                                    @Natanr thanks :) Nice to know it's not just me

                                    1 Reply Last reply Reply Quote 1
                                    • Dan KorneffD
                                      Dan Korneff @Tod Slaughter
                                      last edited by

                                      @Tod-Slaughter I'll check today

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

                                        I found some issues in your snippet, like the name of the MasterEq that is, in fact, MasterEq1
                                        Some callbacks have a wrong name (same name used twice or more)
                                        Bad band offset...

                                        But despite these corrections, it still crashes...

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

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

                                          Ok so the cause of the crash was the name of the main container which was the same as the EQ

                                          I simplified your code, you don't need the local index since you can directly put the band offset calculation in the setAttribute.
                                          Also, an if(value) statement is mandatory if you want your EQ to reflect the buttons at compile time (otherwise the last callback will always be taken into account, no matter the state of the buttons)

                                          HiseSnippet 2094.3ocyZ0sbSaDEdURVJwfgPKcJW0QMyzYBz.XGGBokgFQRrQYHFrwTldGHKsNdKxRNxx.FlLPuquAc3NdCn216xscF5Lcl9BjGAdCn6per1U+YYGnDcmN6d91uyYOZ2ydzVyxTE0qmoEPX16MnKBHbRXiAF1s2nsB1.r0l.gOCVSwp7tf0GzUoWOjFPPX5aRaTX1Y.NOuas0UzULTQAh.f6ahUQai6fsCjVS5VXc8JJZn6g6vz6kk1R0zXCScy9DhLMr.nqh5iT1AcaEZ2lBBDNVYMrsoUCaEaTOfvLqapMnQaymX31+6i6gapinuTDzf.jq3Jl5ZTFSkB1nMVWqluA2CPPoVf4Osq4eVXUrFdn7.2vbNMHFnAq+PXpznWQV5UH6zSfgdy3Ruy.anZg6ZGzBkam.tkgMxpkBYJfkVt8ELk7YfaXR5gg8k5n7HTEKxKC0XgUJTXQwqTnv4uV9b4yc4KSltItcaKrpX4cymiLyzyV7wJVh2xvrY4c217IUrP61GYnNPz645h93uCxdCyNcMMHurv7Q0Xd5nDCjDmKOpiDRVMhEUY7NsCCa5nFViDgMrCXzvxiYrt.5GUhrOizEP0HEGJOfYwglHfddFNDyjuLUDCawiFwgvEqMWWLzyHs45o39pOdPQ0HMeW8wyRSEt5ikc5nQDu158ssMM1tx5Hc8rgFqFgnleSMZizaMVf4nQrnIO1TSNYpIO1TSlgZQwqpROx5mk2M634qQD.iCJe.c1KlBW4VsPpDr76bQOXbWxVrbcOd0iJfch5R8nbwv1xTeCEc8ljMVWfzR4s2di0oPfMzwFHwV8MTswlFh9ssfpqRKR3ndez4ym644yQIEtk3Bth7DPe7oEcztgMYuil8sQKLTJcyqEEWlNdzduW9b6wxSGGc7Dsgb4sqjDS8Z7i.UWJdpJmnKUNEWp7GPWZIwKDzx5JFZ2oUKRGD+Nwr4rkS1YKmlyV9CoyNyFQovFgSvNUCwBzWhleQ7QQUta45IED41VLlEcbymaDgKzA1WmqMjjb6PGOkt4M151IQI21lTJQGyTnT834Sh9mjbNijG0iRB+IuhL7gMgqXoV0zl9pNYyeEGcD3HlY8xsIAFmxra0jmdODrchlzqVIY2Z8OzLLkvgk7YZ3DvicYpzhGjSMdHI1uzgKZfIU2DHbxgCxUS6q8CAgSKfvO+xDXax91wKnXoCUPQId9ldLQZgDotBQRbuzgOjHw3gzBGRIZ3PP0QELDejPhABIsmvgfgbABCGISiaaZitiwBmO2yyMat8xIFtoVshsMOaQGYEayzxOYklhKXzuSSjkOo76HPXF9B8.StPOr0gR08bALczzXKCr8c5hLRp7O.uCS..BmwiUjtZ6TFnS4UFnF5XMjE.qQKbUzjg.NreXc1dYcIPFP5qfwt2bHv1uel.6bv3WYODZfWkIz9RXLKHDBJo2jInNMjKIMNPDAfuNSf74vv4CvgyCa05a1OK37EvH6jvAzAu8smKSDZNH+5Obn75W8puMSnbx.ypd3IJv35coazvAxKudt2u13ZLQPIyTIOCJ7PbvyN6LICg64kbf3TP1ST6iATvgDYP+SC4NoaX63cqMNjPliDiGFmFxcJvHNzLYMyA4KnQLT4m1ZSEaEZIr8VDirvVWjkMltlovlnGiUQtEzdV3lndOx1rK4iogkLAHbhwactmFL5WRZvvWD+EoNlZHZAxC5aG1ecwxRcTBT929WIhI0sA9YblSu9sZgI8BBEkeFQeMMcTMydX5VFC6W2eWRC0Rout884cG+HMDKrgcVOCqhtohM1Xm6gIaZ3NCwJpHqksHikAtkjmm00MRTCqSlM1D2qqtx.Pyc7+aJydrRkJ8dpJXaTm.oum7vKcIOwufJ1Y9SnDz4r7yObeoszl+GDGVDp4Wzo0sLzPOkH+hji0sG3IXM61CI5A+pTaD4Kuf+BjTy3bHiw9PAtjWiXbIu7HvjszKxnsk31hA7qlMiwIcTHR9UYz3heW5.x8x8NpMs8FNKKWlSZf4qykXro8M8rI5pap3lHcdKZ08YsHvpgsHxF0+IqEosdRVj6R1Yf4wjoR.CNf86HP2ibjOtziBnv9benbzi8QxIKguD59oh5GOaIB9T1OICncgdRAzjvg+ZMNZJlvhI.ojHmSpLYfbgywjYPawvuG9oheQRekYiK1P1W+ohf7YFmPT49ebYGLqIcyLlqwPu+4wRVJZXyaZY1u63OHgyLmYTtNynbvSOTiRnT2SvS+5mD6f.jFOSQNhovMJ+wfLLJGK6I+GLLOTmcWjKH0MHoQ5t6C+ykfttWvDjSCyBKanzTGoQx3Ix0cYNXUSs95J172DG5pndMPCsXuxKzq0hAIja.6rzGkqmSVo6Yf0v1psimuSECeIGa5iMe8trS4gt+V4.xNCrxOOo2ro3u3UEF0Ma5b9GDbi9VOFQhnbuQSAgKrz41863dPGZs2DnNLZ4DKvV2Fpfhr07hJXI1HcpfR7WeMCskC2iqvVDGpfUXq8EUvUCqxpgA86CDLmKw7oJ3ue64bkTjMAaGIQHawHrs3xQP9JrU4wQxJrI35H4prU9vQRDJWjiyBSyO8Oc1l9iI56tl8ompsphskS9IjYxFjCcphHAeFFHcmIzonIl39dA+Brz.4LACEnmX0qwhz2E7Zrnei+uLFcTTsLefWwuowxG2QBwtMbtrhyRhbIuKVbXYhfEtTAZlX3GnpR+B6hjuNiWmkl.cJMA5r7DnyUl.cVYBz4pSfNqlpNz6s4M5aa1wc0WhfZkcKugf+VOjUV.+Wwdv9e
                                          

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

                                          1 Reply Last reply Reply Quote 0
                                          • Tod SlaughterT
                                            Tod Slaughter
                                            last edited by

                                            I didn't think the name would have made a difference but that does open here. Many many thanks! ☺

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

                                            47

                                            Online

                                            1.7k

                                            Users

                                            11.7k

                                            Topics

                                            102.1k

                                            Posts