My favorite is still svg. Check this snippet:
https://forum.hise.audio/topic/1815/useful-snippets?_=1728163383619
All developers participating in the HISE Betatest Program
My favorite is still svg. Check this snippet:
https://forum.hise.audio/topic/1815/useful-snippets?_=1728163383619
Also as an alternative, there is another method with using knobs & laf.
See “Knob peak meter”
https://forum.hise.audio/topic/6615/laf-collection-for-everyone?_=1728161844509
@johnmike Yes it is simple. BTW, this is not VU meter, this is peak meter. But you can adjust the decay time and other parameters according to your taste.
@griffinboy oops, yeah that happens when you haven't initialised the routing manager. It's fixed now (also my new meta-template wizardry didn't compile on macOS which should also be good now).
@clevername27 I have made an infinite log using a panel.
The tricky part is to get the paragraph height when drawing. If the line exceeds the panel's width, then it should be truncated to another line so you keep track the Y position for drawing the next line/paragraph...
But this was before panels have been compatible with markdown so it might be a bit easier now
What I do on my side is to push new log entries in an array, then I repaint the whole panel with that array of strings.
Another thing I really struggled at that time is to keep the log showing the last line at the bottom of the panel (so keeping the viewport all all the way down). This is tricky because when repainting a panel, the parent viewport desperately want to go back to top. Alright, why not just set its viewPositionY
to 1
again then? Well, that causes all sorts of flickering that make the repaint very unprofessional...
If you hit this issue I will try to find that bit of code
@JulesV said in Using LUT on SNEX:
First of all, for xRange I get can't assign static constant to a dynamic expression error.
Probably here:
float xRange = xMax - xMin;
This shouldn't be the case as the dependent variables are not static const
I get this all the time too, forcing to initialise using literals... @Christoph-Hart ?
@clevername27 If it's just plain text then a label or even a panel, inside a viewport as you suggested. Markdown panel might do it too but it depends on your needs.
@johnmike
Yes, this is of course possible. You can add a SimpleGain module to the fx section of each sampler and open MatrixPeakMeter Floating Tile separately from each SimpleGain module.
@griffinboy let's ditch that approach, it's hacky anyways.
I've committed a fix for the global cable not working in a compiled plugin and added a helper interface class that lets you register and send values through global cables super conveniently. Now the workflow is as simple as:
double
value anywhere from your node class using setGlobalCableValue<>(double v)
This is the generated code for my test project:
// Use this enum to refer to the cables, eg. this->setGlobalCableValue<GlobalCables::cable_funky>(0.4)
enum class GlobalCables
{
cable_funky = 0,
second_cable = 1
};
// Subclass your node from this
using cable_manager_t = routing::global_cable_cpp_manager<SN_GLOBAL_CABLE(1077699755),
SN_GLOBAL_CABLE(-376951630)>;
So in this case you just have to subclass your node from cable_manager_t
, then call setGlobalCableValue<GlobalCables::cable_funky>(0.2)
to send the value that can be picked up anywhere in HISE.
Ah yes, it was in fact not working in the compiled plugin - I somehow missed to call the connection call after compiling the plugin. Should be fixed now.