Custom filter graph output within a custom node?
-
Does anyone know a good guide or the latest advice on doing a custom filter graph output for a custom node, so that I can have a floating tile or a script panel pick it up and draw it??
-
@Orvillain There's a tutorial for creating your own custom Floating Tile, but it's geared towards UI Components: https://github.com/christophhart/hise_tutorial/tree/master/ExternalFloatingTileTest
-
This thread:
https://forum.hise.audio/topic/9788/hise-filter-display-inconsistencies/20?_=1750768491529And Claude, helped quite a bit. Got it working!
The essential bits I'm calling in my c++ node are:
void setExternalData(const ExternalData& d, int index) override { SNEX_INIT_FILTER(d, index); } // HISE calls this (message thread, on repaint) for each frequency point. // freqNorm is normalised to the sample rate (1.0 == fs); return linear gain. double getPlotValue(int /*getMagnitude*/, double freqNorm) override { return (double) magnitudeLinear((float)(freqNorm * fs)); } // == Parameters ========================================================== template <int P> void setParameter(double v) { if constexpr (P == 0) { pFreq = (float)v; sendCoefficientUpdateMessage(); } else if constexpr (P == 1) { pReso = (float)v; sendCoefficientUpdateMessage(); } else if constexpr (P == 2) { pGain = (float)v; sendCoefficientUpdateMessage(); } else if constexpr (P == 3) { pDrive = (float)v; sendCoefficientUpdateMessage(); } else if constexpr (P == 4) { pType = (float)v; sendCoefficientUpdateMessage(); } else if constexpr (P == 5) { pMode = (float)v; sendCoefficientUpdateMessage(); } }