@Yannrog
In the Component Properties, there is a “linkedTo” setting. Here, you can link one slider to another.
Posts
-
RE: Sync 2 sliders, slider animation moving at the same time.posted in General Questions
-
RE: Matrix modulation connection is broken in exported pluginposted in Bug Reports
@ustk
I load the effects via the ControlCallback of my UI elements usingSlotFX.setEffect(String effectName). The UI elements aresaveInPreset.I can also swap the effects on the fly.
What do you mean by “when I force the DLL”?
Here’s some additional information that might be important:
I created the basic effects in Max and then imported them into HISE via RNBO. I then combined these effects further in a ScriptNode network. I compiled this network and loaded it into a HardcodedFX. -
RE: Matrix modulation connection is broken in exported pluginposted in Bug Reports
@ustk
Okay, I have a working FX plug-in with modulation. However, I control the parameters usingHardcodedFx.setAttribute(parameter, value)because I’m controlling multiple parameters simultaneously with a single UI element. So I’m not usingextra_modnodes. Since modulation in an FX plug-in is usually monophonic and I don’t need sample-accurate modulation, this works for me.The UI element has a
matrixTargetId, and I’m using HISE’s modulation system.I load the HardcodedFX dynamically via script. I haven’t added the module states to the preset. Just the Global Modulator Container.
So it’s possible that it works for me because I control the parameters via
setAttributeand the UI elements aren’t directly linked to the effect parameters. But that’s just a guess.If it helps and you're really stuck, I'd be happy to send you my project without the effects DLLs and C++ files....
-
RE: Matrix modulation connection is broken in exported pluginposted in Bug Reports
@ustk
Okay, here’s something else that comes to mind regarding an FX plug-in:
You need to check theEnable Sound Generators FXbox in the settings for it to work in the compiled plug-in.Additionally, I have the following in the extra definitions:
HISE_ENABLE_MIDI_LEARN=1
Otherwise, you won’t be able to access the context menu for the buttons. And just to be safe, I also checked the box forEnable Midi Input FXin the settings.I think that might solve your problem.
-
RE: Matrix modulation connection is broken in exported pluginposted in Bug Reports
@ustk
Do you have this in your script:Engine.addModuleStateToUserPreset(“Your Global Modulator Container Name”)I don't remember 100% for sure, but I think I had the same issues as you. Adding the Global Modulator Container to the preset solved all the problems.
-
RE: Kill the audioposted in Scripting
@Christoph-Hart
That sounds cool, thanks for the info! :-) I'll give it a try. The question is whether the reset message is also forwarded to the RNBO effect if it's running as a compiled version within a network. But I'll give it a try! :-) -
RE: Kill the audioposted in Scripting
Hi guys,
thanks for your help! :-) I'm using granular and reverb effects whose buffers unfortunately aren't cleared via the bypass or backgroundTask functionality.These were originally Max patches that I imported into HISE via RNBO. I then combined them further in a network and, after compiling, integrated them back into my plugin as hardcoded effects.
My workaround now is to unload the effects at the critical moment, then reload them and reset the parameters accordingly. There might be a better way, but this one works—at least so far. Let’s see what the beta testers have to say... :-)
-
RE: Kill the audioposted in Scripting
@ulrik
@trillbilly
When I use a gain, the reverb tail is still there and becomes audible again as soon as I turn the gain back up. I’d rather have to clear the audio buffer or something like that... But I don't know if that's possible. -
Kill the audioposted in Scripting
Hi everyone :-)
Is there a way to kill the audio? Something like
AllNotesOff.Here’s the situation:
I have several hardcoded effects, such as reverb, that continue to echo when I change plugin settings, causing unpleasant artifacts. I want to prevent this by kill all audio.I found
BackgroundTask.killVoicesAndCall(var loadingFunction)
Threads.killVoicesAndCall(var functionToExecute)
but I’m not sure if this is the right approach or if it will actually do the job. And I don’t need any additional functionality.It is an effects plug-in.
Thanks for your help,
Oli -
RE: Airwindows code into scriptfx nodesposted in ScriptNode
@HISEnberg this is really cool! Thank you! :-)
-
RE: Phase offset not working - when retriggered by DAW playback?posted in General Questions
@Straticah
That doesn't work within HISE. But it does work in the compiled plug-in. At least on a Mac. -
RE: Change radio groups in the compiled pluginposted in Scripting
@David-Healey
Okay, it works. I tested it in Cubase and Logic, and there are no issues with this snippet. :-)HiseSnippet 1700.3oc4YrzaSbDd2jrIwNzpBhJ331HN3fhPwORBnpJaRbbHp4gab3QEBAi2c13Qr6LlcmMDCBodr+A5AtweidqW6sJwefJUoJwM9CT09M6t16rNqSbcf.z5CHlu46878bScWlA1yi4pnlcuNswJpmSqQGJu0psPDpxFUUTuflKxjvVwmyYTu8vdbkU5zF44gMUTUGecAdpYlPI32aKuBxFQMvwfTTtCiXf2j3P3wPqW4aI110Pl38HNRXWpxFFL5pLalOnSiqsfRajwiQ6i2FIPaLMkag7ZondUsksJhVZQqhFKiKU.iPlMWboaX1rX9kVt30wkLPnquXIiR2PQcx0LIblaCNhi8TTmXElYmFsXOkFJf6P7HMswhC4UZ.RNDbMlsovDEPUVsEw1rdWmkmhhpV8XW23gttKpsEwjzCdrK7KBtPOlBYGn5XIUuwSnd4kUuEjTuTTIUIUZhPU57ZMLbIs4w2HzmYz1fxwtVH3cRVUBwUYr+ZBsUY.FT90bPOFWyENzihbKsvByqC+ybec1rvakGW+.jqtGgtuMdKeaNIJTQ+azueW1rOluJyoMiBGxMaSNM.wYma9r5mvuAxgFABb14d.nFVL2bM0IzTzh4xlo407DDS4tL6UQ11MgHpbGEy9vHo44vLwCick+XsoARVgQirhiFYk5yqIYbCxcIgRJ9oHGk0gBeS1LYxDTCQH30rrvFfTq2B4g0qcu.+SZHzf3z1FquK9.rayAiEh66hfrkAhQUrMpCbq3RgQlkPsITrtkO0fSXIL19MRitdo4g2bae7bYed1LDqbQGxjw5v6KQ90HTS7g6XISGjZjetGH7fcSrxYgr8vfWJS.u9pSGy3t9Bd8hTLrSLh9DsumKzpzCJxDFVja1flAq6x7aO67oHxAZF5WUuv0D0Lx7h.sOaO8lQ2lww6PyEnNvk58ekkUp2EYd1X2TuVzXw83HLG02oI1U1YHPDJdlrhr1fqHK2vvHLcSBQFcCJguSaLcPsQThxQgp2SFoU.p7fZ2edTs6POqBAJQOolnDiRf9J2zUYXosP+zFoBCCsEOEzVZzncFsdE5GMiNqV2dMon.2dipHNRz3L5U.dYZic4DwitZU7AvXKgsQynUE68XNqcvyTTfMDXbROTG1SdOxoRmXgSpDmFIoRUTFdlWXfLmd5YdwAw7e3ImdlWZfZNeHX9jCUvRrDT9dY0+6pvwGBbYZsFar85atlRZBLHzZHDnTvUr7zeZZxaJsst8l6swfD2QGbCFYjY5aKZ0IOGoXZ6nKfRYIFdSLfF0iv6Hy42YCWNrp340pS3FsRWGGKEcDR+deniQij+YZgyEDqfSnU6duel+VV7WJT7yncWzA3fYTBD9WFbFZw5nuNlhCmj4XVm52F10oZOzqSsiAGTg8bQTu1LObdYN2.6P1CB68R.sOJJjJEIfVEy8oIYcHnDXIbE0.WgDdSWoKvBx.qinIXFbNAm1hHku+6kWihfGrFXvxM2wy.bLB+rbZQceXjr6RL4sxKSXL3BxfuEx0DdCMRDzN9wsTY9QboxI+naoxOAJMkXu2Lc0wv8IVid.1FZpG8kLphsPP85tPSl5sEixZ2hQIIdn2EycI6uONQ7SpFzM4bXH6XHWrxtXaLr1SLnqTYSXjcjK3mvinuH++5uAPpuWWVKTc0E0Kz+zskx3+mtkh5DRxeptyhFrKMHxvOkSuMqSnB0bwOwGSM5HUfqSkdPkpu8xJ0vXylwgtOxx5OKmnjJ7nO9Yc.5EhLrOLgl6x74vjjagfjevQnssuSCnEpAFTPJEaK1JTcLwRLgmWPbNrgH0L3veC+htLu3rZzk46doxQqZ84QUsB+HHQ0US9gQRLN0tLlSCxy5VJ4Uu7kuobUjSaPyi.UoXw+n7cw7MApsiQ6WKW0sSevdS4fNex.fvE7yvREq.n+76tXgyZu7TcGJq2WQJvEet3yIcuQfEgdRAYf27lNLeJOw.Et3jStAUNXdbIXuh+SW4WN6SitjVrU7+iboYB8FSoE7k.CbBSG9+S95F.Rz8aSrkza4kqz6hcI62hK2OuagRIJfDrWWtKbYBBtXS1SqCBTT1sGe9wWW4Vji.UoZk9lhcOLrBZxwNe6mt4dG+rifo+w8LHWRCVjnfdvfH5eXlD4r3A6rPFNHCW1CMB+1chRYSG.AraZvehuLZaINqm+newNGXgmGZXjjUGgvBiJgEGUBKMpDt3nR3RiJgKOpDd8SlPw9n2zmybByMf8xquVvWXUUMbk7fzDk+AXOv2TI -
RE: Change radio groups in the compiled pluginposted in Scripting
@David-Healey said in Change radio groups in the compiled plugin:
My first thought is disable saveInPreset for all of them and instead store the value of the last clicked button
The problem with this solution is that my plugin has two operating modes:
Single – here I need the radioGroup functionality, which ensures that only one button is selected at a time.
Multi – here I don’t need the radioGroup functionality, and multiple buttons can be selected.
That's why I wrote my own script for the radioGroup functionality, which, however, leads to the problem I mentioned.
So my idea now was to dynamically change the
radioGroupattribute, but I don’t know if that will cause problems. I guess I’ll just have to try it out... :-) -
RE: Change radio groups in the compiled pluginposted in Scripting
@David-Healey
Hey David,
Thanks a lot—I watched your video. It works great in principle. However, when the buttons aresaveInPresetthe last button in the array is always set to 1 when I recompile. Do you have any idea how to prevent that? Here's a snippet:HiseSnippet 937.3ocsW0taaaCEkxNrnVacncXO.B4W1CAE9C4OJFBlWbRZM1RpQcVvJJJ5nonhIhDo.EU2LJJPez1izdCZIkTrjSsViIV0OBvk264vi48dIuYlfiIwwbAvx9hUQDf02BmuhIWNYIhx.SOFX88PAxixOJQJ4r3KHwRvQqhPwwDOfkU8mpiypwdfzu+8mOBEfXXRwR.vkbJl7azPprX0Yi+UZPvoHOxEzvRQ6NdJlylvC3IJMUG1FDgvWithbNRGVMH3Yn3k.qeDNzuGZPe+d3gD2tDDxaQ+AOwaQuNCF1aDwEiPi56hceBv5dm3QkbwbIRRhAV6cD2a07k7+hksAWRioKBHZiNf4pcNa4S4Ad5eh5UASVRC7lcygULPwxrhit5YGc+.7LpGc85EGgOL0gSAhxGfV01Td02PdcJKu1kj2VjjUIIsWljdDbNVPijEdz54afSYRhvGoxSkkRVrfZGVGNgqhfIebH5ZxoBkwZDMGzt8ANp+z5mrsU4pXoyaQBmPtGIuFw4PmWcC9qHxI7vHNSYzb+ERVm8acfsSUeUBqqYv5YFLWyf02LXCLC1PyfMZ+VuVk4r84hlKbnrxYtV1MV73XMBlTvClfBBVnZ+ZVJja4RWDXSYATFwwOggkT9FLdalv2nkCTUMAIjV1uytQERISKWpCS49vCcVCVsque8twYmykjmyZlxk86sctsKe+s5KWaADwVcquXR7eArIKIbAQT9WhNPUy2lczvp6nKegCNKiUJPNaJiJedDgU00Pf7zrp6+94pREpLs2+6x68yNPATUK98f5NPPpd0M7f6JltFfomAXbM.SeCvLv.LCM.yn0XpA98oGijH88z4IMUhLhHjTcMh0wj2pdkL6V6FviIwWK4QoY07ZdUY0WJu92qeG8OCGup3Q0yGCt6zzsRZd4tPSupn4CncgF2JoweWnoekzb8tPyfpnYbztPyvpn4eD6BMipTMIiAe9r.poP3dIAH4lilnGfK2g51sMlGP+lOKlJWUd.u+2lW4tJwGAmQk3kaWi01hFUsXeMzX9TdO.dhuOAKKD3dvS+iuNizAdAOQRYWcFRJnpjM77jv4pIiwD0tyXj.8qKpqVzPSsaqs0m.yILuTiOp9xc1Qaak6ryMNAgHrf+Fb1MZ54Hue5JJMwRm4tA7Lssy52MJNmCUi09FLdSp9LfcMEXOSA5ZJv9lBbfo.GZJvQeYf5+qieIQxCyZa.fylcR5aPVVmvPpJvzpUvm.8r0voBSo far, this has been my solution. The only problem is that I can also disable the selected button, so that no button is active at all, which shouldn't happen.
if(value) { local selectedButtonIndex = modeButtons.indexOf(component); for (i = 0; i < modeButtons.length; i++) { // Not selected if (i != selectedButtonIndex) { modeButtons[i].setValue(0); // more code... } // Selected if (i == selectedButtonIndex) { // more code... } } } -
Change radio groups in the compiled pluginposted in Scripting
Hi everyone :-)
Does anyone know if it's a problem to dynamically change radio groups in the compiled plugin, or can we do that?
I would use
button.set(“radioGroup”, value);for that.Thanks a lot
Oli -
RE: Problems Styling CSS Panelsposted in Scripting
@Casmat you can use
Graphics.drawInnerShadowFromPath(var path, var area, var colour, int radius, var offset) -
Scriptnode DAW crashposted in ScriptNode
Hey everyone! :-)
I have a very simple
networkconsisting of amodchaincontaining aglobal_modnode connected to anLFOlocated in theGlobal Modulator Container.
I’ve compiled this network and loaded it into a
HardcodedMasterFXin the FX chain of the main synth chain.
Everything works fine in HISE. However, as soon as I compile the project as an FX plugin and try to load it into my DAW, it crashes immediately.
If I create a container in HISE and load the compiled network into that container, the compiled plugin no longer crashes.
Is there anything specific I need to keep in mind?
I checked the box next to
EnableSoundGeneratorsFX.In the end, it will be an audio network rather than a modulator network. That is why
CompileChannelAmountis set to2. Is that correct?Thank you very much
Oli -
RE: ScriptLabel.grabFocus()posted in Scripting
@David-Healey
I found the problem. I also set a text using the button and then I move the focus to the label. That's why it doesn't work. Here's a snippet based on yours:HiseSnippet 954.3ocsV0saaaCElzIbK1asXEXO.p4J0gfV6XGmzMLLO6DuYr5Tu4thdWGMEkEQjHMnnRqwPA5i6tbuAaGJIaQm3rtYrpKr04O98QxyOZhVw3ooJMB23EKWvQ3OmLcozDMHhJjnQmiv2mLllZ3ZuBU8WtfllxCPX7d+fUAt99n7m+765SioRFuREB8RkfwelHQXpzNo2OIhiGRC3uPj33cmdiXJ4.UrJC3ydjlnET1Uz47KoV2pQP+HMMBg+JxogsocOIrM6Tdmi4TZvrS59zfYsa08z1mw6vnzyNoCqySQ3O4h.gQomZnFdJBueeUvxoQp2HK.3khTwrXtUnEZJfbg5gp3.6VzpEMHRDGLY0AUJBVkIUGa6Ubr8kjwh.wZ8UGeeQtAupHbO.w01jd6sA8Z4RulNzaKTB6Po8KnzCHSYZwBSkEKe9LxHIbaFRg6IWpT3Kp1efICTfGRyiSnWwGpAg0Q32sYyi7fedz2znwSdxC8dFcFOtUC3ZK0TJ38sdqVf4by.UxBkDD7Orv7g1PyiselwnjqBtT5NitztM7xWebp0AoQqhGPiimA4J9JYowRCVvDxXgj6ElIYFgR5cSe7YqP4HuqowY7G032aTWD54+vRw5fb8B5aA0+PC+slCOxq3e.i0VmqoyFpXYo9Vsuqw6Z3.6kJC+4R+7kGr3cSSgga0VIMi45sZ1VCo+mBzWlkLiqc2bVGg7jMS9H2cxmasAq35wwQkbjTXd9Bt7tpXPk2ova+5nyoFpMisTG32Bt1HrT.eN+ZneQQ9acx47zqLpEPo+5DAnh1ja8dqxtoRdLR.4vGPxeuE5sUsT9sdKqDNq2aDAln0Jd+U8h3h4QUsldOsmkWqw5fMwJ+RtDqhKbWr55h0WeSrBuEV+bOa5CrgHvwuA50oALcAe09A8eX2erKiBbYj3Cynar6+zBrteIVEUM4fUmTVB4hVeWzF0SjNVk.qCUCpw0RoWyGImn4PAjseycscOFlObqVYPSTUPVL0rYmU67mRCPF+FsyrsrjoByR24S+u0t8eKEe.Yhvvh1NGqsENB0EeL3X4Pp6QtHLjyLUDbexvW8wYhD5WTYFgb9XpQKfrDxkYISgA6LNftDtnscbv0r8FJjaZksm.S4xfbg+BdJM1xJiKM1ZkQTBkoUulUzmyNF7fbM.mj4exPc3aW.YuVn7detmyIvT4WyXatT2Jvi20.auqA1YWC7jcMvt6ZfmtqAd1GNP6GM88YFURQYCBMdxE4CNv3KjTHCLOaE82fr4ydPBut with
Content.callAfterDelayit is working.

