GUI for the Parametric EQ
-
This is on my roadmap for quite some time now. Unfortunately drawing a frequency response is not as easy as the dynamic meter (lot's of math wizardry with complex numbers involved), but I think about adding the curve eq plot as a floating tile.
-
it would be great, with a color, line shape (thickness, fill color...etc) customisation....
-
@christoph-hart Is there a simpler, fix band type eq that could be implemented more easily?
-
Or maybe a doc on Script FX? Is it possible to throw in an open source EQ script into that slot?
-
@Christoph-Hart I just realized that control over the EQ parameter knobs IS functional. Very exciting!
If you have 2 different EQ points set in the parametric EQ, how can you differentiate the knob controls between each node? By default, they control node 0. -
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
-
-
@christoph-hart is there a way to see the code associated with the WYSIWYG editor?
-
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:
It's just read only so you can't drag the curves, but this shouldn't be too much of a restriction...
-
@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:
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
-
Hi there,
- Add a floating tile
- Set the
ContentType
property toFilterDisplay
- Set the
ProcessorId
parameter to the name of the Parametric EQ module (by defaultParametriq EQ
) that you want to connect and press F5.
-
@christoph-hart Thanks
-
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; -
This post is deleted! -
@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:
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.
-
@dustbro nice one man! That should help me lots!
-
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
... -
@Christoph-Hart Thanks Christoph
-
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
-
@Tod-Slaughter Same here Win 10 X64 | hise 2.1.0