Connections lost after restarting the project
-
I'm working on a faust node in combination with other nodes and connected parameter knobs.
As long, the DSP is not compiled, the knobs of the core.faust node vanish after re-opening the project. You can refresh the node (via the button with the two arrows arranged in a circle) and the knobs appear again, and also the cables connectetd to the node parameters, but they don't work anymore, unless you make a new connection. I hope you got what i mean, my english is quite poor...
So, it's a bit annoying, that this has to be done each time when I re-open the project. Is there a way to avoid that, or to get this maybe working in future releases of HISE? -
@toxonic I've fixed that yesterday but I forgot to push it. Please try again now.
-
@Christoph-Hart Amazing, works like a charm! :-) And wonderful to have the SVG diagram preview working! Thank you so much! :-)
-
@toxonic I've also fixed an issue that caused a crash after you recompiled a faust node with a parameter connected to a modulation source so if you hit this just pull and recompile again.
-
@Christoph-Hart I just now have another problem:
So far i always updated HISE by downloading a zip file from the latest develop branch from github, but after @d-healey told me, better to use git for version control, i tried that right now, which seems to work quite fine.
But after I updated some minutes ago I have the following issue in scriptnode:
Each parameter from the main container leading to a faust node knob only uses the range 0-1, regardless of what the parameter is set to (for example 4-32). But this only occurs on the core.faust nodes, other nodes don't seem to be affected. Can you help?EDIT: And one more: So far, when i hit the symbol in the upper right corner of a faust node to edit the .dsp-file, my standard editor opened, so i could edit the code. But now, nothing happens anymore, when i click that symbol.
-
Each parameter from the main container leading to a faust node knob only uses the range 0-1, regardless of what the parameter is set to (for example 4-32). But this only occurs on the core.faust nodes, other nodes don't seem to be affected. Can you help?
Does that also happen with new parameters? Actually I've removed the updating of the value ranges for existing parameters (because this will also affect the modulation range if it's connected and it will reset the skew factor because that's not part of the Faust parameter data model), so if you recompile your faust code with different parameter ranges, the scriptnode parameters do not reflect that change, but if you add a new parameter, it should use the parameter range (once) to setup the initial range.
And one more: So far, when i hit the symbol in the upper right corner of a faust node to edit the .dsp-file, my standard editor opened, so i could edit the code. But now, nothing happens anymore, when i click that symbol.
Yes that is because I've added a code editor for faust files inside HISE (including syntax highlighting and the autocomplete entries for the entire Faust library).
You'll need a FaustCode editor floating tile somewhere (best place is a tab in the code editor lanes). Add a new tab, right click and choose Faust Editor (in the Scripting Tools).
If you connect it to the DSP network (just click on the workspace button in the patch browser, after that it will get connected along with all other floating tiles), you can click on the button that opened the external editor before and it will then show up in the faust editor (just like with SNEX and the scripting editors).
If you press F5 while editing, it will save the faust file and recompile it.
If you prefer the external editing, you can revert it to work like before with the HISE setting Development -> Faust External Editor.
-
@Christoph-Hart Nope, also recompiling the code doesn't work for me.
The faust nodes now behave all in all very strange now.
When i add a new core.faust node and i load in a .dsp file the first time, the node itself works fine. when i change to another .dsp file, none of the knobs work like expected. All the .dsp files, that worked before in Hise don't work anymore until i delete the node and use a new core.faust node.
Connecting parameters from the main container doesn't work then though. -
@toxonic Argh, there's a bunch of follow-up issues like this but I had to change the parameter handling to cope with modulation connections and now there are many side effects that I need to take care of manually.
I think I've fixed the issues you mentioned, but I noticed two other issues and I'm sure there are lots of glitches with different use cases so if you notice something let me know and I'll try to pave my way through it.
-
@Christoph-Hart Okay, thanks for your work, I will do that.
I checked the project after compiling to the most recent hise version:
The issue, that the knobs on a faust node don't work properly after changing the dsp file is gone now, but I can sill not connect them to main node parameters. They still only work in a range of 0-1, regardless of the parameter range settings. -
Alright, the next batch of faust fixes is online. I had to change the way parameter ranges are handled. Before they were parsed from the Faust file and overwrote the existing parameter ranges, which is undesirable because then you will not able to change the skew factor if you want so (also if you customize the range in the network patch, it will revert back to the previous range).
Now the parameter ranges defined in the DSP network will be prioritized over the faust parameter ranges if they exist. This lets you adjust the range in scriptnode. However it will ignore if you change the parameter ranges in the faust code when you recompile the node. If you want to reset the parameters to be parsed from the faust file again, you need to use the new "Rebuild parameters from FAUST file" option in the context menu of the faust node (the dots on the left where you create faust files).
I think this way should be best for all use cases but let me know when you find the next glitch.
-
// I don't know of any use case where the faust tokeniser is required // in a compiled project so this will most likely never get called jassertfalse; return new JavascriptCodeTokeniser();
Breaks plugin compilation with
Unknown type name 'JavascriptCodeTokeniser'
on Mac ;)