@d-healey yes of course. Much cleaner. Thanks!
Posts
-
Redraw knob text after timer
I am attempting to use my knob text to display the value and then have it switch back to the normal knob text after it's been moved.
This version mostly works but the knob text doesn't update back to the proper label unless it gets a new event like hover. The console prints correctly on time but the UI doesn't update. I know there are redraw commands but I haven't been able to figure them out properly. I also was trying putting the text label draw into a LAF and then calling that but didn't have success.
Also I'm sure there has to be a cleaner way to do this instead of declaring a variable to count outside of the function. Eventually I plan on doing this for multiple knobs and would prefer to write a version that is nicely reusable.
const var MixKnob = Content.getComponent("MixKnob"); var MixInt = 0; const var MixTimer = Engine.createTimerObject(); inline function onMixControl(component, value) { MixKnob.set("text", Engine.doubleToString(value, 0)+" dB"); MixTimer.startTimer(500); }; MixTimer.setTimerCallback(function() { if (MixInt > 1) { MixKnob.set("text", "INPUT"); Console.print("hit"); this.stopTimer(); } MixInt++; }); MixKnob.setControlCallback(onMixControl);
-
RE: No recursive faust functions in Hise?
@Matt_SF ok good to know. I’ll test different things to see if I can figure out why it was giving me an error. The project I was trying was very simple except for what was in the Faust node.
-
No recursive faust functions in Hise?
I'm playing around with some reverb constructions in Faust. My code compiles fine in the Faust online IDE but when trying it in Hise I get an "Unexpected character '~' in source" compile error.
Does Hise not support recursive compositions?
-
RE: Delay script drifts off time. jdelay node latency or bug?
@whoopsydoodle Yep I just did further testing putting the whole feedback loop into a faust node instead of using hise for the feedback loop and the latency is gone. All repeats line up perfectly as they should.
It seems like there is a bug with the scriptnode send receive nodes that is causing latency to be added into the feedback signal.
-
RE: Delay script drifts off time. jdelay node latency or bug?
@ustk I did a few further tests. It's not the tempo_sync node because taking it out and just manually setting the jdelay to a specific value gives the same result.
My best guess is there is some kind of compounding latency in the send receive nodes? I really don't know. All I can tell you is that the latency grows with each repeat. It's not a static amount that can be easily offset for.
I'm thinking it's time to call @Christoph-Hart on this one. It seems like it must be a deeper bug in scriptnode or something else.
-
RE: Delay script drifts off time. jdelay node latency or bug?
@ustk I am getting very strange results in DAW. I don't think it's jdelay. I think it's the tempo_sync node, or possibly something else.
It actually now looks fine in Plugin Doctor. If I set 300ms it's right on that and matches other delay plugins. But in Ableton I get this.
Top is the Ableton delay set to 300ms
Middle is this test set to 300ms
Bottom is this test except I replaced the jdelay with a delay node I made in Faust that has a negative sample offset from the value sent to it by the tempo node in Hise. I set that offset to -350samples. The project is at 44,1. If you look closely you can see that it's actually early on the first tap but then late on the later taps. I don't know what's going on. -
Delay script drifts off time. jdelay node latency or bug?
For some reason this simple delay scriptnode patch results in a delay that drifts off time. With an additional latency getting compounded with each feedback loop.
Is this a bug in the jdelay? I briefly tried one of the other delay modules and it wasn't better.
HiseSnippet 1779.3oc6Z0raaaDDdojWYKGmzDzfdVmJb.REDsb7OnnvN9uViTaKD431S0XM4JqMhhKAIksUK50hdrOH8gHnO.8RAJPu0GgdonGSmYIo3RYIaIk3Df.SCX3c2YmY1gey2Ljz07kV7f.oOwn3gc83Di4n065F1bylLgKY2svIB55ZUxl6v5R1nqGKHfaSLLx+knDFEmhnt9m01f4vbs3oSQHGIEV7uVzVDlNas0elvwYGlM+PQaMoWb8csjtaJcjc.uIOsBwiY0hcJeeFJVNJwnv11hPoe8PVHOfXL0FR6t0aJO2MR9iDAhSb33.SRcPQQSuizwF8XbVxlMEN10RN0ADPK0RiA4ihAOjtmvVza9zXw8UKTJcG5wCibYcu7YbOSc2qhl6M.WxPyklJxkd.stkuvKLcEzetCcW2PteCFD10ckHYIFuhtoDDvMrbaVK9N9vfdaX9kpT4wkfe8nOuQGWqPgzsjzceYH+.24ezr+vrEm8GmsT+K0nw.WCMiuzwg6Ovkw6z9W0Fm2sS6S39OtzYLmN7dBBG+rwT5vio52xshN0ZBJc20UDdfG2cX.ARbnBh+4h8JPzPUz+dwQ+5NBatOQ.A4ooOyUdhIQ4vwn3W8eewetFYj2b0Latzu582qQdwtawBYHFH1c.Wzi6GJvSuwV7yfDpHDQQ5V7fVgROk+11S5hNuwzWqGeQZN2tq2Mcv9qGxu.z.k13jVDujPytvVmkFnzViKfjReHeDvP37QhRFCyWcnl+65Y9y4gip4+FPTxkyVf7TocGGVX1jWjwJdA.8kIiASKbCDgc0Yz5OidpQKi9pIbFU28AzZhPqlC1eyM.+EAt2v9aL+3coa2nA2JL0Ymhty29tiLb1XzEXSz3ZviAQB9yzTBGOeNff3GJqAUylOf01yg+bvCeboSbjVspK9d9kYohwhafRLuUSlqK2IXRHyJLxwDyqLlPdtrSnv8z8Xg9BHehtem10gxlV7Mi8NXNibHmVz3J3XDgTm6ZqF7Z3JdQSbrQ7hlIKlRGR1mGdtzuk5lQ7eCoyw8FnBxG23Bv849AHLExzqTF9g7TGG44H2fHF.C2TTyUS5z0qozUXgSEIQhq+z1xNHQRj++UrfCYBGDwWuS.vdaefacPXUeFHJaeoM7WE1gYAA1t0XgMwLGj+Gflb+xV58wj5qo3DE9CtGTKgXIHJ9iJNoYjnXG3msUbbXqH4w0ihHJOfhlXZZj4tFuIqwGUCkSyPyPunACIVyXo6qrD..KGu53YHsJMvLwi.9kbnE+HDioEiNJpxUd5BJBBcQKfrY7DIJRO3LtuCyCvWmiDZGx7OkGprg9Dwk7b4pjofrCiO8HmeA5oXLrldcfBJl8rF3x5K2.02zJ8YNXEdE6XgAuCsPDRckLBnt1S3FGRnX9AYO1E8FaBii.PQS8zNgx1.IQBobFLVfmCzO8PwXQK+liwhCzYryc.63yKe5XihykItjWKtTHMtLC8yLqzenAGWOj6gTyXm4UJCxntLWb0JllKATks3mG4lDiOl9jxKtvBKrbkkWdwUVzrZkUIQmF08Gs.KvuLX2n+aOyPQKNdtAJP0JlUpBBr5pqr3pKWwLti85skxvl.6cRFRA5Bn1Iu6CJyQeNOfGFo1LJmnSFjE90tiSnX3vunkeaPwoHKqdyPlR0rzbzPNz+5w3i4l0ZOrGgplDimASaeKk2avDaEouT8L18QEcGnMeXV0yJmkcYJM.Cc3v2BTyUx.WzoaNDOW8npiaj7SWenYFl8q5kFhpmitGBD.tHPG8oex55og4Ii14HR2CxVEoa6xfFmrujgHintG0TbzZ2i9BWDHvsU2S5YxW+50JPHh0uhTmn5F2xndKipFrnH0mawEmw6moyOpI+xIK+F.OLFmTrnGoZGN29DlUqT.dU00erVe2wG5wJgNKyw5tvzAdke4kechi0AJ23lWOJHoooQupx92L4lvX575iVDE57S8.ZYhm2qGLAWbbwH5c7azWa7yQ0JS0qY9DvXlRQ8M3p05tAGgqZwbRzJblubgeya9B+2Uqvu46wJ+yDmpbag+OjK7adag+aK7qCKlMgL07CqJ+8nyFoB+i8I5C1R+p2zyvBpETE+eeV6WCt9Vt3+PUvjrxjXzLXpovME8kktt7kdIH+xu8uyie9tQ6UX16s2lodex69KC4UjufejsTeIsHWp+j9MqR4xRkSGUlJYus9Sexe863Wtbzdgoo8.lw803MF7qMUC+LzMNI2H2PJa0lo97DSzWO8cxGSoMyxWdbbOk3gaF0LPppq5+tghz8vwkx98jUWsE1hisrxppKswElzMVcR23hS5FexjtwklzMt7jtwUt9Mh+CgDShi3cHor11JPngQRyoXqt+Of8WEUI
-
RE: Best practice for fx clicking oninit?
@aaronventure thanks!
I had actually just figured out on my own how to do this with a gain module directly. But your version in scriptnode is better.
-
RE: Best practice for fx clicking oninit?
@aaronventure Great. This will work nicely.
...then of course, a noob question. How do I address the value of the gain module?
For a knob on the interface I would use this. Right?
const var x = Content.getComponent("KnobName"); x.setValue (y);
But I don't know how to send a setValue or other function to an FX module directly.
-
RE: Best practice for fx clicking oninit?
@Matt_SF In this case I'm doing some fairly silly processing in Faust, it's very understandable that it would pop the audio stream when initiated because of a large phase shift being introduced.
What I'm looking for is a graceful way to ease on the fx over 1ms or so.
-
Best practice for fx clicking oninit?
I have an FX that causes a click or pop sound when initialized in a daw. Is there a standard best practice way to have a soft on init? I'm trying some hacky things now but thought I should ask if there is a built in function for this I'm not aware of.
-
RE: Faust not working inside compiled scriptnode
I found a culprit.
I'm still doing testing in case it's an interaction between 2 different nodes causing the issue but right now it looks like if you have your parameter knob sending to a control.blend node and then the output of that blend going to a faust node it causes the issue. After being compiled to DLL the parameter control does not reach the faust node.
-
RE: Faust not working inside compiled scriptnode
I just made a new more simple scriptnode with the same faust module and it compiled fine.
So there is something about the specific scriptnode I am working with that's causing it's faust to not function when it compiles. It functions properly when doing the live preview but for some reason when I compile it to DLL it breaks the faust part.
I'm going through my script now and one by one deleting things to try to figure out what is causing the issue.
Are there any previously known circumstances that cause faust to stop working when compiled to dll? It was my assumption that if it works in the live script node it'll be the same just more optimized when compiled and then used as a hardcoded fx. Apparently that's not the case.
-
RE: Faust not working inside compiled scriptnode
@Lindon yep. This closely describes what I’m getting. Except that when I load the full script version as a hardcoded fx the audio passes like the Faust section has been disabled. Anything changing the audio in scriptnode modules only acts as expected and all of my parameter knobs are shown.
-
RE: Faust not working inside compiled scriptnode
@aaronventure I did this about a week ago. Is this a newly fixed bug?
-
Faust not working inside compiled scriptnode
I'm trying to make a scriptnode that uses nodes and Faust modules chained together.
I've set the compile flag for the whole script and the compile dialog shows both my entire script and the faust module itself as compilable.
After the compile, I try to add my script back as a hardcoded script. I see both the faust section and my full script listed as binaries. If I select the faust script it works fine but only has that faust section. If I select the full script, the rest of it works but the faust part that was inside it seems to be bypassed.
Am I doing something wrong or can a whole scriptnode with faust inside it not be compiled?
I'm trying to do somewhat convoluted routing with lfo in the scriptnode controlling parameters of the faust node. So I can't just have multiple scripts in the module tree and process the faust section in serial, I need the script to control the faust.
-
Faust seems to work but doesn't change sound
I was able to get Hise to compile with Faust, have it properly set up with the Faust path, all seeming to be set up properly. I can import Faust scripts and when I hit the compile button at the bottom of the editor the Faust module shows up in ScriptNode, all seeming to be good...
Except, the Faust node doesn't do anything to the audio. I've tried with Faust code that works on the online editor and with Faust code posted by people on the forum who report it works great for them.
I can't seem to find out what I'm missing. Any help is appreciated.