HISE Scripting Framework
-
"What I can offer is the same mechanism that exists for sample folder relocation: a file in the "real" GlobalScript folder (the %APPDATA%/HISE/GlobalScriptFolder) called LinkWindows / LinkOSX that contains the path to the actual folder (in your case the repository root folder) and HISE will resolve this during development as well as when compiling."
Has this been implemented? -
Not yet, but I'll try to do it soon. I am currently in vacation until Octobre 2nd, so I'll be offline the next days.
-
Enjoy your break! :)
-
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