Video example:
https://www.youtube.com/watch?v=alTXNLYzLu8
Is this a HISE thing or an Ableton thing? Seems like any value other than 0.0 using this "Edit Value" option sets it to the min/max instead. Super weird.

Video example:
https://www.youtube.com/watch?v=alTXNLYzLu8
Is this a HISE thing or an Ableton thing? Seems like any value other than 0.0 using this "Edit Value" option sets it to the min/max instead. Super weird.

@Rognvald No problem 
This is a bit cleaner:
inline function onButton6Control(component, value)
{
if (!value) { return; } // works the same as if (value) but the scope is a little bit cleaner
local Knob1_value = Math.randInt(20, 20000); // this is already fine
local Knob3_value = Math.random(); // you don't need range here, Math.random() is already within the range you're expecting
Knob1.setValue(Knob1_value); Knob1.changed(); // these can be single lines if you prefer
Knob3.setValue(Knob3_value); Knob3.changed();
};
Content.getComponent("Button6").setControlCallback(onButton6Control);
If Knob1 and Knob3 already have their own Control Callbacks, you also don't need to independently call these:
SimpleGain1.setAttribute(SimpleGain1.Gain, Knob1_value); // already handled by Knob1.changed();
SimpleGain2.setAttribute(SimpleGain2.Gain, Knob3_value); // already handled by Knob3.changed();
Control.changed() is essentially simulating changing the control with the mouse, so you're basically calling the setAttribute function twice.
@Rognvald You don't pass anything into Math.random():
Math.random(0.0, 1.0); // wrong
Math.random(); // right
You can use Math.random() for a random float between 0.0 and 1.0.
You also need to add
Knob1.changed();
Knob2.changed();
Afterwards if you want the affected controls to actually change anything.
Following up here - the NAM issue was due to a lack of resampling (had no idea that was necessary, but I always run 44100 out of habit). I've added a simple lagrange resampler and A/B'd it against the NAM plugin at 96k and 44.1k, it's not perfect but it's quite close.
Original download link has the updated version.
I'll work on the other DSP issues starting with the tuner tomorrow 
Yep there's a File.isFile() and File.isDirectory() for folders
https://docs.hise.audio/scripting/scripting-api/file/index.html
@pokemonguy said in Introducing Altar (and looking for Windows testers):
have probly played every guitar amp sim known to man, and have owned every modeler since pod xt rack.
Glad to have you here then 
I will try to make obs videos of my issues if i get time to do so for ya.
That would be super helpful, I just tried your NAM files and they work for me in Ableton so it might be a Studio One issue.
@pokemonguy Also would you mind sending the NAM file over? Or linking to it
@pokemonguy Thanks for the quick turnaround, I'll add those to the list.
Tuner is giving off random information, or just innacurate also compared plugins i listed above to my guitar is correctly set up with an evertune bridge.
Its not loading nam profiles correctly instead turning into a giant weird phase mess.
These might be related, what samplerate & buffersize are you using? I'll grab the 30-day Studio One trial and see if I can recreate it on my end.
other tone things better. like "chug"
Chug is just a single band compressor for the low end to prevent mud buildup when palm-muting. It's more of a mixing convenience than something to shape the tone with. Pick works similarly, but is an expander for the "pick" attack frequencies to bring out some of the transient.
@dannytaurus Actually yeh you're right, it's the last band.
It's probably as simple as a missing repaint() call when the last band is deleted but I haven't looked at the source just yet
Hello friends.
For the past few months I have been quietly working on a new guitar amp VST plugin, "Altar". The goal was to create something state-of-the-art, with a feature-set you'd only find in a $200 product.
...and make it completely free and open source:

I am currently in need of testers and feedback for the Windows version (MacOS and hopefully standalone later). Please try to break the plugin, drag the modules around, create and load presets, make use of the Cab Designer and NAM models if you have them, and report any and all issues back here.
DSP feedback is also appreciated, I'm not necessarily 100% happy with the sound of each module yet and will be tweaking them more over the next few weeks.
(There's currently 3 cab IR's and no presets, the full release will have all of that included.)
Download (Windows): https://drive.google.com/file/d/1JddFk-sZ6fsUBTXkyG58giAxkdGZKBhG/view?usp=sharing
Features:
I look forward to hearing back from everyone, thanks! 🥳
@Oli-Ullmann said in Parametric EQ Sticks when deleting a band:
What did you do to get rid of the problem?
I didn't, it's still occuring for me (Windows)
@Chazrox Yeh I thought it was related to this post but maybe it's something on my end. Strange that a reinstall didn't fix it.
Fresh install of latest commit (and earlier ones):


Path doesn't update until interface is redrawn
HiseSnippet 770.3ocuU0saSCCE1tsFQK+HlDO.k61PSnj0zRm3BJ8OnB5VGcLwcStNtqVKwtywYPEhWDdA3gfa107zva.Xmztjr08ip.xEU0meh+NeemyICjBBMHPHAvR6OaJE.uOZ3LtZRqIXFGzqM.9PjhFnX7i5rWyvi.MmMEGDPcAPX9WahAVr.H54WurI1CyIzDS.vABFg9NlOSkXcPi2x775hco6y7SEsSidDAukvSDpwSdjEXJlbL9H5NXSX4Pf2fCl.fOEYQbFWsliiSkQUw0s2p91UvXaaZMKG7HmJ0qtc0sccpXCf2oiKSIjCUXcU.fEZJbmMbh3S73K3.V.ajG0bvFLTeywl6J7bMknwJn0Dlm6fEDU.P+VFjPa4iosGi5ybYmaOg9dTjixIYjl.g4xBu7YfmcZ3YkBdKARvTPpPLjVCMjHYSUIdL34dndbEUNFq0ozPINV.7LTKgN.t5Y93iock5Cmmv50rr1rr9mMdw3PNQwD7xB9NBEcW95aT5KkJV5qkJeQWiGuTelqQJ77nxk51zZHutDWmG5OhJ2r7oXuP54ApK+rbJ5p4zzRNItpSEnf2iyT6NkxupFAvbpR+uOzqMVgMBwba53lRkJlABv1zS0iAwxRQTaZvwJwT8fvkzLc2hvMzCqx1BYFzl6PyAYzMi3vCXpYoGD+q0Wcag3ZnALEYxxwXtkfQMS8u.iymFe.py3wThJAfEPc+30N5U31c82vlgzigkVn2sBkmR6bxbsb.VpWmojrSJ2YO6LXZmP+tLO8vlosEB0kVSL20ZAq8iZO4LiA64FN6a+76MLF1J6RXtakKZvIwviZzs69c3XcwESD4u05f80qCuWDZ9NQert39rtBzkyP8pbBUKCbN0KppxYFahOaYNafzPZTUhf+V+L2o8BJv3zdgy+K2gOlHEGRhWyXT06FYQW27nODUD02btrMHZ0S5lZe8t9CIjrupKk3VqZhUV0DcV0DqtpIVaUS74qZh0u4DMeJ9UgJge7NJ.n+fNQ6sgvTSDf+.LcJ2EG
@d-healey No there's a duplicate of the chain purely for the FFT display (otherwise the output would be playing the dirac-delta sample)
thank you all for the suggestions, however stacking one-pole filters apparently fixes everything 🥳

@HISEnberg That works but unfortunately I need everything to lineup with the EQ analyser (that panel screenshot has a surgical EQ overlaying it). It's quite the edge-case I think 
I'll try and tweak a filter before the FFT and see if that can get anywhere, my earlier tests weren't very promising, I think because the buffer size is so low.
@d-healey Sorry I probably miscommunicated, I've already got all that setup. I've reached the paintRoutine stage and I just need to remove any points from the obj.path below, say, 40hz.
I think this snippet might have what I need:
HiseSnippet 2578.3oc2YstaabbEdok1jP13f3T+i9yApENKsnnIkUsigrb08Z0nKDhx1MwvvY3tCIGncmYwryJY5.Az9vj+zmh7.jezGk9FzdNyr6xkRTNxBIE0kHHP6Ly41241LG2QI8YIIRkSkZGMJl4T4Sc6NRnGtwPJW3rylNU9B2uUJin8BYufdBaaoJxY8QwzjDVfSkJy7mwyUo5rNle+q+z5zPpvmMdIGmmK49rc4Qb83U6r5WyCC2lFvNhGU5zKs5N9RwFxPYJnSy31xIl5eLc.aeJdra357TZxPmJ208Qrd9K42qe.8QO39sVZwG0l8P5CW5QrE886sTPq1O39AOj05qbp7QaEv0RUWMUyRbpL65xfQcGJOUXEvy4Ibv5vOZ6zEjrc4skgAnIhq5rwPdXPmbvJwwohamwP2LVn61t6wC3EqOFB+byFjwTTF.qbiIUuYlP8ZWV8ZUR8lhJUojJMqUktkaWeEOVOdGTe9Mt6HzLUeJ3mJqJ1y5bie3yb2PBmPnaFQOlssB9nfBuGzpUCxRsZUe4ZvoRjgrl9gLpxCVnF37RzjSnJxK1NVDRVgjyoAL8FxnXo.9vaNytyATLlfiE8Rfy+xoSPrL4qE8lqdiZjK7a5T7VHr88jjSXJM2mF9s4j9pILo0RC3xckx3NgzQLUaPaMIKHWL60kFEGxJ.au4LqRPRHYzf1bMEa.g1GH+7brfSayCYd.DW8d2inGxHTCi5CqZHNfpo.4z9VCvXK.9WE+kSgRQGQj8I8R62moRpUsjkDWxw3qXPjWGpdnwCVCneWIMfPEkjJgKLbMDMkXixViKB4BFoepvWykBhTDBzgZ95ZAxckLzyOGca.BNLkUu12WqJuOwK6qpvmUQZ5NJQyhZ1SIOMg4UZkMYIGqkwMH8ogIrFj4lqQgL8TrjzPMvFCepdA7LgoMPo8bM0xtZEWL.fVvVABpYAL.EKarTQPNrQ.zIXDdrqlCCO4k3cxkWZbPI.GVvjLzTwhgBFYG7L7+eVsy.GxzCUKA0yUGMyL.eCZXXOnjo2z7FF+K5f6fRhbnLUCdvZV4C7vrb1pdEX7.iOaPS.ZBWKLzyVcNoYuPPNndNvJeb0hMC4CFpGnXivCTqZbyDHuhcDfSZOn9A7e5g7DzndAO.QhFjExW4oLjXbIiKu9xDPkERMyDBFwEoIjD9.HhTBtGLo0rQLfnDuDNz9gzhvSHT65PvClGXOhfE1rYy5nNYsHieHdr5rqDTz0kohfDu1sZZBTNq.3rIKDJQ.8zHQRgzH1KjKT1GinWHxUBVODCNdYqW0LjIFnGtb9VJpX.C1dOfDnp6a7.Q2tAocyVKfEFeY6WgJ2ywjl8gdvzP9aYAd0qStKIb4wY8F1jyyDMEflULUVQQNMF.z6Etfgrr5G4rxRchojFBW47TwClPQAszp72yVyujOE7bH2RjjSYj.E8TrFwHC2ELrFIUMhHRi5wTnGxJKReoZryh3winCPrEZIZVdiNOibJ33H8f0nwwiLDPIKR7GRE.IIj1sRX9YYvXTvidvwO8s4tcqczm+FVv1TenyKXLKBnMnqUK..JDAAQWyc5PvMBQXjQxTPmYAyYKikyFL3C6V.7.bUj4sX8hWJVWRrKWBTCgno0Mp6xVomo6ZP7ViUwLeKMPP+Tz7sGouBjNtnepRAkFx7awRLCGKjkCmYdNabWtOQJ9RMTTOgYhKaR12lkARUBznHQL8PYPBwWlFFfHdJbWAhG3RDbcZ.TN9v851fvz9V30ZOXdQVPIueo9WYp7PZBIBJGyQuctSCy.YiJ7rIoQQfj.C1jjUXDv8QxSlYuoH1Ld7UPvRMHBrO6zto8LYfPwlEZWzKMA6MxrdBROShNhFHGOEtgKHoHqV.rYTdeOe.YUrKg4suTw1xV8CDrMFEqZnvlnG2.f+uDDReFZk4UuvRUllORsFbqw.CAkCZLnfvvvQFN0Qlv07SXlcqUEYrGeEH7k+XSdH7Gyuh0Ym0d0ffqPvX7ZlVPFZ7GhD4O7wFOeV4H364muncZo3Rfd6ezzDIdjzyTHye3qZ.xyX5MxpIvEdVw2.J3s.nb1sqm0x0nMyuR4fdLaoCid7gn96UGJ1YJ4qQmsAaxM4rbOnynwNhahUcAcgCEeBaLQwyRZCJw6UxJg7v77VSEVqlcVlmZe1.ZA9R7F.IRCHXK0Sopf5E.tAqWvZn.j+DiGXgOvA9VmC3E4XwUB3A4W3AVnM5BdGHOzcOq6pE4wTXnNTdxC10MqmqsWJz5.JtJ6YJX.83t3sOwRuuyqcB7JFuuPdQxmvDAvp2EuNZAAjUJZXRtycrTSdR1Zk5B6UGMQzikuSR9NFZlG2ELNnzFiLcIztjDd7E5R6Ue9xBn04EfQ7Ke26gf24tR4EtPIdORSr2wXAMje0IGO8aMVBEM25oD.iMGNPXuPC3cHmeq98m5dYbKjol513..TuKB8r2PnrmDOH7H2Ie4r6k+x4xOr22de5RGTJ1A5lcPLSbYO22I6R3vqrmISqf+Radi8mk8F6tgPlmxgCOk9SbsOW0wnwYS23G+oep0pNWApq5l8z0IH+65emitRjeK2y8L1IXi82y1YSHoDmYPlgAFaLREhiU1jcBTgvNAgptYu+Bv2hme3T4irh+l4yW.uplQ5erqI3y4Mkmoynwe7MqdJd2vhE9a+8UGZttewJ+3.zLKjj6OOJWRVAkjEQsJTIprnuZ7cL9Ol3uK4Jy3OdRFudJzJWXX7McK8jrxZsnLBs4pZ1azneb2CVaSxZOaycNfr8N6tkCOYOYDHC3Vy1.0D39J6H5.OtkoyGKzXEY12iPjKQYVMcUmKNUoO2cOYPZHUO4PtvQAlsAj+NwjkvoGIfd3iJOpvewl70UUEukaGt1e3z0waLEcDRP90PGylW3Mc2B5A6qGqfy5t8e8WmgCVV7+1bwWLLClctf218hyq5cLr2+4UcXuwW4g81cjvGbOrxgIFe1QJn6DbQrxhBUysD3joCJu7gRoFaGUdXy1Ay0Ea5CrehSiutKYRNfYn14M+6c+9NGdveYqMN50aevtat0gm0SAWWpGipe8RKcbS3ACNQHl3VAIzTUvsxO7O9TGbPYF4kuWnQaCx2uxLuqoR29ZNU5Y+etoR+AP4iIFbd0bcrKGCY1RbBKDRPx9mBYSVeJ7v07UmL6XO3xtwCkva7lL.CtR9fALUYcepFzZZMDjOdkau5gL3UsIkhj+CqtKboWp574HuGXQ626+QDlp+524ZUWBlRS9vsr+L++cYe6vbG.OKSwwZS6mF0Ep15y1HarKX8nafWv09cq7xUcg2FY93eC+x1rM9ckrMamu4+UjQD0WIesu81uXb5mXVAragoPcU28vuIsu3kcifpbu12eRVcABW75R38utDtz0kv+30kvGbcI7gWWB+pedBwlPqkpkQ1TSGm85rk4wIUpTzbuxLN+GU5k1QA
Lol how do I get rid of the yucky sub frequencies (buffer size needs to be 2048 because the dirac sample makes it look all comb-filtery if I don't):

reg analyserPath;
inline function drawAnalyserPath(g, obj)
{
g.setColour(Colours.withAlpha(ColourData.clrMidgrey, .6));
analyserPath = obj.path;
// filter here somehow?
g.fillPath(analyserPath, obj.area);
}