@HISEnberg this. The structure of the shape FX module is somewhat limited and you can easily create whatever wave shaper + signal flow you want in scriptnode and if you compile it down to C++ it's about as efficient as the inbuilt wave shaper.
administrators
Posts
-
RE: Modulating ShapeFX Gainposted in General Questions
-
RE: Stupid Quotation marks behavior....posted in Scripting
@David-Healey it counts the number of quotation marks in the text before. if even => add two. there must be some quote char messing up this logic in your code.
-
RE: How can I improve my reaction time?posted in General Questions
@nohasm191 haha yes we all do human things as humans. Because we are human and not a robot.
-
RE: Issues with Panel.repaint() and Panel.repaintImmediately() - laggy user interfaceposted in Scripting
@Oli-Ullmann what are you trying to achieve? Not sure if a webview is the solution.
-
RE: HISE Sampler VSTs Crash? Across multiple brands (FL Win)posted in Bug Reports
I could reproduce the crash - unfortunately I couldn't solve it properly, so the only fix is to delay the initialization for Webviews on FL Studio if the plugin is opened. If I "double click" on the instrument track, it crashes in the FL code, not the destructor of the webview (which I hoped it would).
I'll push the fix tomorrow.
-
RE: Issues with Panel.repaint() and Panel.repaintImmediately() - laggy user interfaceposted in Scripting
@ustk on macOS JUCE6 is already using the native CoreGraphics API which then uses whatever is fastest. Plus you can attach OpenGL, then it will use this for rendering primitives.
You can already switch to JUCE8 and try it the performance gets better. Ask Claude to reenable Direct2D then as I had to disable it to remain consistent with the UI performance of JUCE6 - I discovered some things to get much faster, but some things to get much much more slower, so I decided to disable it by default in the custom JUCE8 branch as this introduces too much of a moving target.
-
RE: Issues with Panel.repaint() and Panel.repaintImmediately() - laggy user interfaceposted in Scripting
in a timer callback to create an animation - the user interface quickly becomes very laggy if the panel is somewhat large. The Cubase interface also becomes very laggy.
Use this to deactivate animation timers if multiple instances start clogging up the UI thread:
https://docs.hise.dev/scripting/scripting-api/content/index.html#setsuspendtimercallback
-
RE: Issues with Panel.repaint() and Panel.repaintImmediately() - laggy user interfaceposted in Scripting
Juce6 uses CPU instead of GPU, one of the main reason I am waiting for the full Juce8 implementation.
Where do you get that information? JUCE8 is using the same Graphics renderer, it just adds a Direct2D renderer that might or might not be faster on Windows depending on your projects (HISE itself eg. was super slow when I enabled it).
If JUCE8 would be a revelation in solving UI performance I would have made the jump years ago, but it's more or less the same.
-
RE: Compiled Network Fixed Channel Count?posted in ScriptNode
@David-Healey nope, won't work.
What if you actually create the network dynamically?
// define this somewhere in your interface script global NUM_CHANNELS = 8; // Put this code in a Script FX that is set to use the number of channels const var dsp = Engine.createDspNetwork("mixer"); const var mixer = dsp.get("mixer"); const var multi = dsp.createAndAdd("container.multi", "multi", "mixer"); for(i = 0; i < (NUM_CHANNELS/2); i++) { // create a gain module var g = dsp.createAndAdd("core.gain", "gain" + (i+1), multi); // fetch the gain parameter var dst = g.getOrCreateParameter("Gain"); // create a root parameter var src = mixer.getOrCreateParameter({ "ID": "Gain" + (i+1), "mode": "Decibel" }); // connect the two dst.addConnectionFrom({ID: "mixer", "ParameterId": "Gain" + (i+1)}); // copy the range to the source parameter // (make the warning icon disappear...) src.setRangeFromObject(dst.getRangeObject()); } -
RE: Compiled Network Fixed Channel Count?posted in ScriptNode
@David-Healey ah ok. BTW are you sure you need to compile them? If you're just using a simple multi channel DSP network with multiple gain modules in a container.multi container, then the DSP overhead is negligible - definitely lower than the old scripting approach.