@d-healey Hey David, yeah I did. But I already managed it to compile the plugin, just by changing the path in the juce_VST_Wrapper.cpp
to an absolute path on my system.
Not an elegant solution, but worked for me. But nevertheless, I'd love to know, why it won't compile otherwise.
I tried to point to the VST3 SDK folder as well as the vst2.x folder inside it, none of them worked.
I also renamed the VST3 SDK folder, to VST3_SDK
, because I thought, it might got something to do with the empty space in the directory name... didn't work either.
Posts made by toxonic
-
RE: Issue building HISE plugin
-
Issue building HISE plugin
I've been trying to build the plugin version of HISE and got the following error message:
In file included from ../../../../JUCE/modules/juce_audio_plugin_client/juce_audio_plugin_client_VST2.cpp:26, from ../../JuceLibraryCode/include_juce_audio_plugin_client_VST2.cpp:9: ../../../../JUCE/modules/juce_audio_plugin_client/VST/juce_VST_Wrapper.cpp:87:10: fatal error: pluginterfaces/vst2.x/aeffect.h: No such file or directory 87 | #include "pluginterfaces/vst2.x/aeffect.h"
I think, I do remember, I already had that issue yet, but I don't know anymore, how I solved it... :-/
The path to theVST (Legacy) SDK Folder
looks fine, and it contains theaeffect.h
header file, but it seems that I must be missing something.
Anyone can help? -
RE: Audio Loop Player - filebrowser in compiled plugin / Linux
@d-healey Thank you for your superfast reply. :-)
I don't know what I have done wrong, I just recompiled it again, but this time I didn't use the autogenerated batch file, but just resaved the juce file manually after making sure, the flag was put inside the preprocessor definitions and now it works fine! :man_facepalming_medium-light_skin_tone:
Thank you anyway! ;-) -
Audio Loop Player - filebrowser in compiled plugin / Linux
I built a tiny drum sampler based on Audio Loop Players and compiled it to Linux VST3 instrument, which worked fine so far. But inside a DAW (Ardour) I neither can open a file browser. nor can I drag and drop new samples into the Audio Loop Players.
I already found this thread, so I added the flagJUCE_DISABLE_NATIVE_FILECHOOSERS=1
to the Extra Definitions in the preferences of the project, resaved it and recompiled it - but still no file browser opens when I click on the Audio Loop Player inside Ardour.
Any ideas? -
VST3 plugin error in DAW
Since I changed some parameter values in a project's DSP Networks and recompiled them, the compiled VST 3 plugin doesn't run anymore on Linux in Ardour.
Ardour spits out the following cryptic error message after scanning the plugin:VST3 module-path '/home/toxonic/.vst3/T_Glitch.vst3/Contents/x86_64-linux/T_Glitch.so' [Info]: Scanning: /home/toxonic/.vst3/T_Glitch.vst3 Error: signal 11 ---8<--- /lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7fe58b9f0520] scriptnode::NodeBase::getNumParameters() const /home/toxonic/.vst3/T_Glitch.vst3/Contents/x86_64-linux/T_Glitch.so(+0x9309bf) [0x7fe585f229bf] scriptnode::DspNetwork::DspNetwork(hise::ProcessorWithScriptingContent*, juce::ValueTree, bool, snex::ExternalDataHolder*) scriptnode::DspNetwork::Holder::restoreNetworks(juce::ValueTree const&) hise::JavascriptProcessor::restoreScript(juce::ValueTree const&) /home/toxonic/.vst3/T_Glitch.vst3/Contents/x86_64-linux/T_Glitch.so(+0x972636) [0x7fe585f64636] hise::Processor::restoreFromValueTree(juce::ValueTree const&) hise::Processor::restoreFromValueTree(juce::ValueTree const&) hise::ModulatorSynthChain::restoreFromValueTree(juce::ValueTree const&) hise::FrontendProcessor::createPreset(juce::ValueTree const&) hise::FrontendProcessor::FrontendProcessor(juce::ValueTree&, juce::AudioDeviceManager*, juce::AudioProcessorPlayer*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::MemoryInputStream*, juce::ValueTree*, juce::ValueTree*) hise::FrontendFactory::createPluginWithAudioFiles(juce::AudioDeviceManager*, juce::AudioProcessorPlayer*) --->8--- Scan Failed.
Any ideas on that?
EDIT: Tried some thing, updated to the latest commit, rebuilt the DSP networks as hardcoded fx (cleaned build folder), kicked out the Script FX Module (kept hardcoded master fx)... still the same error after recompiling (clean build folder)!
Then compiled to VST2: Works like a charme! Maybe a VST3 issue?
In earlier commits everything worked fine with VST3... -
Creating a file
Is it possible to create a file via the File API? I only found
createDirectory()
.
Although somehowwrite...()
functions from the File API seem to create files too in some cases... -
RE: Store values in ScriptPanel data object
@Lindon Thanks for your reply!
- No, i'm saving the data inside the files via the
File.writeObject(ArrayToStore)
in a file called for examplestutterPresets
. The array to store in the files, containing the values for the UI controls is called the same. - Yes, actually in AppData/User Presets
- I made two functions, one to save the arrays in a file and one to recall them.
// Directory to store Presets var PresetDir = FileSystem.getFolder(FileSystem.UserPresets); //function store inline function writePreset (FILE, ARRAY) { local PresetFile = PresetDir.getChildFile(FILE); PresetFile.writeObject(ARRAY); } //function recall inline function recallPresets (FILE) { local PresetFile = PresetDir.getChildFile(FILE); return PresetFile.loadAsObject(); }
I recall them on init lie this (for example):
stutterPresets = recallPresets("stutterPresets");
PS: What you are seeing in the Panel in my last post are the values of the array, which I wan't to store inside a file. Since this is already empty in the compiled plugin, I don't wonder about, that the files are overwritten with
null
. I just can't get my head around, why the arrays won't get filled with the parameter values i set in the corresponding "presets"... - No, i'm saving the data inside the files via the
-
RE: Store values in ScriptPanel data object
Just to demonstrate my issue, i added a panel, whcih i use to visualize the content of one of the preset dummy arrays.
This is, what it looks in HISE, i can see the values changing, when tweaking parameters:
And this is, what it looks in Ardour as compiled plugin.
Remember, the snippet i posted, which works pretty much the same way, works in both, Hise and in Ardour as compiled plugin....
-
RE: Some Faust errors on Hise
@harris-rosendahl
It's always a good idea to check the examples in the Faust Web IDE (just google for it), and have a look at the diagram. There you can see, if you can simply converst a mono channel code to stereo, or if there are other channel issues:
Which reverb for example has a channel mismatch in HISE too? -
RE: Some Faust errors on Hise
@harris-rosendahl i just took a look at the faust library description in the web, it seems, that this demo has 8 channels....
-
RE: Store values in ScriptPanel data object
@ulrik Yeah, it's getting overwritten with 'null' , as i stated 2 posts above ... this is, why i believe, it must have something to do with the dummy arrays, but i can't get my head around,why it works in HISE but not with the compiled plugin
-
RE: Store values in ScriptPanel data object
@ulrik Yeah, that's what i mean, the snippet works like expected, but in my project i go pretty much the same way, but it wont work as compiled plugin! That's driving me crazy!
-
RE: Store values in ScriptPanel data object
But it seems not to be a problem, that i can't write to the files, rather than theres something wrong with the internal dummy arrays, that don't seem to work properly.
Whenever i change a preset in the DAW plugin, it shows only default values, but it should at least show the values, that are stored in it's dummy array.
I just copied the preset files from my hise project to the AppData User Presets directory, and as soon, as i change a parameter, the corresponding preset file will be overwritten withnull
.
Any ideas? -
RE: Store values in ScriptPanel data object
@ulrik Oh, this is driving me nuts! I created a snippet, that basically does, what happens in my project file in regard of saving and recalling "presets" (don't mind about that term, i don't mean hise presets). And what shall I say, the example works without issues, also as compiled plugin!
Here's the snippet, but that's kinda senseless to dig into, because this one works...HiseSnippet 1383.3ocsW0jaabCElismzHklhDfd.H7pQHN1RxIoE00MxV1NvHMIpQNAIvvHgZFJIVOCoJGpXITDfbC5UnGkhtr6691UcauAsOxgye1xINBNZgvv2ue7iOR9XGovmFGKjHmJGLcDE474tcmxUCaOjv3n82A4bc2NRZLUc.MV0.s8zQj3XZ.xwYwGnMwoxRHyu+89aSBIbeZtHD54BlO86YQLUtzNsdHKLbOR.8.VTAquSq88E71hPwX.NK5VGMh3eLY.8wDsYK3hbtxtALkP1UQTzXjyRaKBl1cn3Ddh8OmEy5ER0CZf5BAJQ7dhv.Mh0RQsGxBC5jNsiQPT5jSBKlPBeo6iXArL44jwMLJv4dTjObVnL7VrD7ZTDd0K.uY.ImBPZoDHcS2t9R1HUtFMdtl69bEU1m.zdQnjXKZg+5JtsEfEb0pQjio6IgAYd3cu50WAC+Uaip.yGqvugHw68hNDIIJFuI9vTeGPUsEQiDbXf2xOjK50X4ZqTEOyemuSMmGmVe4ZGUDeIUicogTefqATNaWgO6I1VLA.5FUqt1Z3cXRiGSwJANF9fZCUb07vBFAQbOVHs6zXEMRGTS4izqfvmESkVegfm6s1Dv8rPYfjdwUqva4biRwT+wbeESvSvSUFOjwo4ROQxTzDuvda8zmt0KqU8mMDXdnV0XzS58ivjyZyFUeagnqCDLyIggmI9IhsyDrmN3UjT0XIuXBBEjfshsYHK36LNJZJdKojXHzSDxiwEIRiZnDBV65CKSdrMquAl8soUWqFR4CTCAQ25V0J5ypiFGOz6virLTBDSWov8khHbeMMaHMhTMdzJXV+DYzIrXX4DF5U.+rXC8Wq1ofVoYumMeV1tKMs9RWcIEg31fs8fyipVt9a0XcUmwjTK7xrnsRlJTG9SS+yxNO+zR3Ufp8vwTyhx6iA0DX0JfQUR0bH6HMrdt1cuByYP9glXhuMtglfK6h+PBe.M.D+V6ZrQGENs3rrfAQSvLd14E0vSlIYnU9gHhSYSARHmCBEvxElE.qbYp0av1OPu1UI9DlxeHvRAV1vmDSw1yp9FXbQhn9QGdpkwAo7Usa23HHEl7pYnB6AKxkF1qmjRNV+Qoz07LoqwkY5pb57s9YxWyK2oGTNjsTI3OV.G2vSNr.pSvmVU+9yTmstHDNIcVp0sBHeeN5wGG0iJKtqPaHb+X4KccO+KcK1SfexkFELTv2myTOYDkedcJfr2zn6YvhJvTk454uvd8b2PFbYAhA2B+YtlhOjAv11bd8u76+48QWXmaVx42sY0+4iv40K47u9f+9ONqy2v5b5skF2ula1kmkBA76FsPOa+cHJhtIEKc.TzHpTwzruyNz2.c7kzxRE2cnwGqDiL1Z2xBMwkj5qm1PCgSCM48ptluafljkv28Csllm8uq0Ir.0vbs8aMjxFLLu4x28SszqMY4x8Ct5LoXCnkx0HhDhQgfkgOzGQFZdtY3fKoLr94kgVu9BlgqdAKFlTjdxyyuE1Jh.5bcbgQmeJUzI5UJ66IhQvIOQPMyZVA3F16VwMS+X8zOtS5G2sJ7.hyzbLzVtHXbHQUtWc8CTrJfyRJ0frtIXdLSMs3CXtzZf+hBwa51Qeq0rw3By.iv1tOEXz9rmq6ta+9vEF4.bI28dwml23fdpXrhwG7HhRxzEOOdbTW3ke9TH6bndQeVtyB5ScSFWWOVy.co7.yf+C9YU1PO1wprQpRTDwWJdkexgd5GVcUiD.SbyaJq39H8Xb14btt0WsNJBdi2q780S+aC6TlsOMmCeVeN74NygO2cN74dygOe0b3yW+d8Q+75sFqDQIaG.Ac10beiiytbBTYYpBQ+eep3r3
I'm afraid, I have to find out, where the difference to my project is...
-
RE: Store values in ScriptPanel data object
@ulrik mhh, i'm afraid, i would have to create one, since the project is too large to reduce it to a snippet.
I will give it a try, to make a small snippet to demonstrate the point, where i stuck... -
RE: Store values in ScriptPanel data object
@d-healey Yeah, "preset" might be the wrong word.
Okay, so far I have a multieffect plugin, each effect has it's own sequencer track to trigger the effect.
Each effect has a UI Section, where you can adjust the effect parameters.
Now, I want to be able to store and recall 10 parameter sets of each effect individually, so you can automate these "presets" in the DAW, instead of automating each parameter of each effect, which would be tricky and time consuming. I can't use the HISE preset system because of the inbuilt sequencer, which will always stop playing, when i would change a preset.
Actually, I got it working to store the parameter sets as a 2 dimensional arrays for each effect.
So, for example the 10 values of the first parameter of effect one's parameter set would be stored ineffectOneArray [0]
(just an example name).
And to save the parameter sets between the sessions, i store these arrays as objects into files, via the mentioned functions above. As i already said, this work fine in HISE itself, but for some reason, the compiled plugin won't write any values to the files in theAppData
directory. -
RE: Store values in ScriptPanel data object
Any ideas, why the compiled plugin won't saveparameter value data to the preset files? Inside Hise it works like a charme, but not the compiled plugin...
-
RE: Store values in ScriptPanel data object
@d-healey Okay, i just changed the preset file names, at the moment they have no file extension.
Everything works fine in HISE, but not the compiled plugin. It sets up all the needed files in the AppData Directory (or whatever I should call it on Linux... ;-) ) , but changes of parameters won't be saved to the preset files. What am I missing?
I use the following functions to store and recall values from the preset files:var PresetDir = FileSystem.getFolder(FileSystem.UserPresets); // store inline function writePreset (FILE, ARRAY) { local PresetFile = PresetDir.getChildFile(FILE); PresetFile.writeObject(ARRAY); } //recall inline function recallPresets (FILE) { local PresetFile = PresetDir.getChildFile(FILE); return PresetFile.loadAsObject(); }
-
RE: Store values in ScriptPanel data object
@d-healey Ah, thank you! :-) So, on Linux there is no
AppData
directory?
The folder/.config/My Company/Plugin Name
contains (among others) aUser Presets
directory, and surprisingly, it transferred the text files which I gave the.preset
file extension, but the content of each file isnull
...