HISE Scripting Framework
-
Alright, I've added this feature now:
Tools -> Redirect script folder creates a link file in the original location
%APPDATA%/HISE/scripts
which points to the selected directory. From then on you can useinclude("{GLOBAL_SCRIPT_FOLDER}MyFileInNewLocation.js");
Exported plugins embed this script into their binary. If you want to change the location again, either delete the link file manually or choose another target directory.
-
The redirect doesn't seem to work on Linux, it creates a LinkWindows file that contains the correct path but it doesn't resolve when I hit compile and gives a file not found warning
-
Time for a LinkLinux file ;)
But I need to check what is the recommended location for storing persistent app data so if you know some best practices on Linux, let me know...
-
Most apps seem to use a hidden folder in the home/username directory as Hise is doing now. Other put it in some obscure sub folder of the usr or etc directories, I think the home/username directory is fine, although it can look a little cluttered it keeps everything in one place.
-
I think I fixed it, but am too lazy to boot up my VM, compile HISE and check, so let me know if it's still broken.
-
I think you broked it ;)
Compiling hi_core.cpp In file included from ../../../../../HISE-master/hi_core/hi_core/hi_core.cpp:83:0, from ../../../../../HISE-master/hi_core/hi_core.cpp:34, from ../../JuceLibraryCode/hi_core.cpp:9: ../../../../../HISE-master/hi_core/hi_core/PresetHandler.cpp: In static member function ‘static juce::File hise::PresetHandler::getGlobalScriptFolder()’: ../../../../../HISE-master/hi_core/hi_core/PresetHandler.cpp:2253:23: error: ‘getLinkFile’ is not a member of ‘hise::PresetHandler’ const File link = PresetHandler::getLinkFile(globalScriptFolder); ^ At global scope: cc1plus: warning: unrecognized command line option ‘-Wno-inconsistent-missing-override’ Makefile:166: recipe for target 'build/intermediate/Release/hi_core_bbc2a29e.o' failed make: *** [build/intermediate/Release/hi_core_bbc2a29e.o] Error 1
-
Just downloaded the fixed version. Works perfectly :) thank you.
-
Yeah, I should at least have tested compilation before submitting - it was broken on all OS...
-
The global script folder system is working great but I was thinking. Could this also be the default search path for MIDI processors that are connected to external scripts? That way I can put all of my generic external scripts at the global script location and if I change that location the project will still be able to find them without me having to relink each one. Would be handy if it could search sub-folders automatically too or if we could setup a sub folder for these external scripts.
-
I wouldn't make it a default, but if you're external script resides in your global script folder, there's no reason why it shouldn't choose to save the reference like this:
{GLOBAL_SCRIPT_FOLDER}MyExternalScript.js
instead of the absolute path. If this isn't true, it's a bug :) -
I shall test and report back