"HISE path not set" error in Win batch compile script
-
I am using a stripped down batch compile script @d-healey was kind to provide, to try to compile my plugins.
Here is the script.
@echo off set project_name=Handy Drums- Flamenco Percussion set project_dir=I:\AUDIO TEMPORARY\HISE PROJECTS\Hise VST- %project_name% set hise_name=HISE-Jan6-32ch.exe set hise_source=C:\HISE-develop set hise_path=%USERPROFILE%\Desktop\%hise_name% set projucer_path=%hise_source%\tools\projucer\Projucer.exe set msbuild="C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MsBuild.exe" REM Build the binaries %hise_path% set_hise_folder -p:%hise_source% %hise_path% set_project_folder -p:%project_dir% echo Exporting "%project_name%" Standalone %hise_path% export_ci "%project_dir%\XmlPresetBackups\%project_name%.xml" -t:standalone -a:x64 -p:"" call %project_dir%\Binaries\batchCompile.bat echo Exporting "%project_name%" Plugin %hise_path% export_ci "%project_dir%\XmlPresetBackups\%project_name%.xml" -t:instrument -p:VST3 -a:x64 call %project_dir%\Binaries\batchCompile.bat pause
I have validated that all paths are correct by printing the placeholders.
However, when running the script, I get the error:HISE SDK path set to C:\HISE-develop Exporting "Handy Drums- Flamenco Percussion" Standalone Loading the preset... ERROR: Export Error HISE path not set ============================================================================== EXPORT ERROR: HISE path not set ============================================================================== 'I:\AUDIO' is not recognized as an internal or external command, operable program or batch file. Exporting "Handy Drums- Flamenco Percussion" Plugin Loading the preset...
However, my HISE path is 100% set and valid! I can export with no problem from HISE directly.
If I am correct, the "HISE path" referred in the error is the %hise_source% in my script.
I don't know if this is a bug of some sort or I am missing something.Any ideas?
-
@gorangrooves Use forward slashes in the paths or put them in quotes
-
@d-healey I am afraid that is not it. Actually, it doesn't work with either of those. To everyone's surprise, Windows 11 understands the path without the quotation marks.
When I add the following print statements to the script:
echo HISE source is %hise_source% echo HISE path is %hise_path%
I get the output:
HISE source is C:\HISE-develop HISE path is C:\Users\goran\Desktop\HISE-Jan6-32ch.exe HISE SDK path set to C:\HISE-develop Exporting "Handy Drums- Flamenco Percussion" Standalone Loading the preset...
As you can see, it is properly parsing everything. It loads the preset and reads from it, but the error is showing, despite proof that HISE path is indeed set. It is set everwhere: in HISE settings, batchCompile.bat, in the script.
The error looks like it is being printed by HISE, and not by CMD, right?
-
@gorangrooves Your HISE path should be within the HISE source folder I think. I'm not sure if that makes a difference though.
-
@d-healey Yes, as strange as it seems, the HISE path needs to be within the HISE source folder. I started fresh again, as git is giving me issues when compiling HISE and changed the hise path location. I made progress. Not there yet, but getting better.
-
@gorangrooves HISE path means the HISE source folder.
HISE path is C:\Users\goran\Desktop\HISE-Jan6-32ch.exe
You've set it to the HISE executable.
-
Oh, nevermind, just look at the source code:
if (!hisePath.isDirectory()) { if (isUsingCIMode()) { auto appPath = File::getSpecialLocation(File::currentApplicationFile).getParentDirectory(); while (!appPath.isRoot() && !appPath.getChildFile("hi_core").isDirectory()) { appPath = appPath.getParentDirectory(); } if (!appPath.isRoot()) hisePath = appPath;
so apparently if you're running in CI mode it expects the HISE executable to be a part of the HISE source folder (so when you compile it it's automatically located in the
projects/standalone/...
subfolder. -
@Christoph-Hart Got you. I am using it now in the original subdirectory of HISE source folder where HISE gets compiled by default. I am no longer getting the same errors. The script generates the AutogeneratedProject and batchCompile, as well as everything else, but doesn't actually compile anything.
It does this:
HISE source is C:\HISE-develop HISE path is C:\HISE-develop\projects\standalone\Builds\VisualStudio2022\x64\Release\App\HISE.exe HISE SDK path set to C:\HISE-develop Exporting "Handy Drums- Flamenco Percussion" Standalone Loading the preset... Exporting the pooled resources...DONE Creating I:\AUDIO TEMPORARY\HISE PROJECTS\Hise VST- Handy Drums- Flamenco Percussion\Binaries\Source\PresetData.h and I:\AUDIO TEMPORARY\HISE PROJECTS\Hise VST- Handy Drums- Flamenco Percussion\Binaries\Source\PresetData.cpp from files in I:\AUDIO TEMPORARY\HISE PROJECTS\Hise VST- Handy Drums- Flamenco Percussion\Binaries\temp... Adding externalFiles: 564260 bytes Adding images: 1301342 bytes Adding impulses: 28 bytes Adding midiFiles: 20544 bytes Adding preset: 41154 bytes Adding samplemaps: 18455 bytes Adding userPresets: 2088 bytes Total size of binary data: 1947871 bytes 'I:\AUDIO' is not recognized as an internal or external command, operable program or batch file.
It seems that it is having issues with my folder path, despite the fact that it is able to do everything in there. Correct?
-
@gorangrooves If I enclose the path in "", the script compiles. but gives an error that it can not save the preset.
-
@gorangrooves what does it say exactly?
-
@Christoph-Hart Goodness, this is driving me nuts. I renamed the project folder to say just "Handy Drums- Flamenco Percussion", thus matching the name of the plugin/ preset etc.
The project path is set in quotation marks. I get this error.
HISE source is C:\HISE-develop HISE path is C:\HISE-develop\projects\standalone\Builds\VisualStudio2022\x64\Release\App\HISE.exe HISE SDK path set to C:\HISE-develop ERROR: `"I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion"` is not a valid path Exporting "Handy Drums- Flamenco Percussion" Standalone ============================================================================== EXPORT ERROR: Preset file not found ============================================================================== '"I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion"\Binaries\batchCompile.bat' is not recognized as an internal or external command, operable program or batch file. Exporting "Handy Drums- Flamenco Percussion" Plugin ============================================================================== EXPORT ERROR: Preset file not found ============================================================================== '"I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion"\Binaries\batchCompile.bat' is not recognized as an internal or external command, operable program or batch file. Press any key to continue . . .
-
Then, I remove the quotation marks from the path, so that the project path is this:
set project_dir=I:\AUDIO TEMPORARY\HISE PROJECTS\%project_name%
I get this:
HISE source is C:\HISE-develop HISE path is C:\HISE-develop\projects\standalone\Builds\VisualStudio2022\x64\Release\App\HISE.exe HISE SDK path set to C:\HISE-develop Exporting "Handy Drums- Flamenco Percussion" Standalone Loading the preset... Audio Driver Initialisation Error: The Audio driver could not be opened. DONE Exporting the pooled resources...DONE Creating I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion\Binaries\Source\PresetData.h and I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion\Binaries\Source\PresetData.cpp from files in I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion\Binaries\temp... Adding externalFiles: 564260 bytes Adding images: 1301342 bytes Adding impulses: 28 bytes Adding midiFiles: 20544 bytes Adding preset: 41154 bytes Adding samplemaps: 18455 bytes Adding userPresets: 2088 bytes Total size of binary data: 1947871 bytes 'I:\AUDIO' is not recognized as an internal or external command, operable program or batch file.
This attempt generates those resources, but it will not compile.
-
@Christoph-Hart I then place the project path back into "". It starts compiling, creating this:
HISE source is C:\HISE-develop HISE path is C:\HISE-develop\projects\standalone\Builds\VisualStudio2022\x64\Release\App\HISE.exe HISE SDK path set to C:\HISE-develop ERROR: `"I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion"` is not a valid path Exporting "Handy Drums- Flamenco Percussion" Standalone ============================================================================== EXPORT ERROR: Preset file not found ============================================================================== Re-saving file: I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion\Binaries\AutogeneratedProject.jucer Finished saving: Visual Studio 2022 Finished saving: Xcode (macOS) Finished saving: Xcode (iOS) Finished saving: Linux Makefile Compiling 64bit Instrument plugin Handy Drums- Flamenco Percussion ... MSBuild version 17.8.3+195e7f5a3 for .NET Framework CopyProtection.cpp Plugin.cpp PresetData.cpp BinaryData.cpp include_hi_core.cpp include_hi_dsp_library_01.cpp include_hi_dsp_library_02.cpp include_hi_frontend.cpp include_hi_lac.cpp include_hi_lac_02.cpp include_hi_rlottie.cpp include_hi_rlottie_1.cpp include_hi_rlottie_2.cpp include_hi_rlottie_3.cpp include_hi_rlottie_4.cpp include_hi_rlottie_5.cpp include_hi_rlottie_6.cpp include_hi_rlottie_7.cpp include_hi_rlottie_8.cpp include_hi_rlottie_9.cpp include_hi_rlottie_10.cpp include_hi_rlottie_11.cpp include_hi_rlottie_12.cpp include_hi_rlottie_13.cpp include_hi_rlottie_14.cpp include_hi_rlottie_15.cpp include_hi_rlottie_16.cpp include_hi_rlottie_17.cpp include_hi_rlottie_18.cpp include_hi_rlottie_19.cpp include_hi_rlottie_20.cpp include_hi_rlottie_21.cpp include_hi_rlottie_22.cpp include_hi_rlottie_23.cpp include_hi_rlottie_24.cpp include_hi_rlottie_25.cpp include_hi_rlottie_26.cpp include_hi_rlottie_27.cpp include_hi_rlottie_28.cpp include_hi_rlottie_29.cpp include_hi_rlottie_30.cpp include_hi_rlottie_31.cpp include_hi_rlottie_32.cpp include_hi_rlottie_33.cpp include_hi_rlottie_34.cpp include_hi_rlottie_35.cpp include_hi_scripting_01.cpp include_hi_scripting_02.cpp include_hi_scripting_03.cpp include_hi_scripting_04.cpp include_hi_snex.cpp include_hi_snex_62.cpp include_hi_streaming.cpp include_hi_tools.cpp include_hi_zstd_1.cpp include_hi_zstd_2.cpp include_hi_zstd_3.cpp include_juce_audio_basics.cpp include_juce_audio_devices.cpp include_juce_audio_formats.cpp include_juce_audio_plugin_client_utils.cpp include_juce_audio_processors.cpp include_juce_audio_utils.cpp include_juce_core.cpp include_juce_cryptography.cpp include_juce_data_structures.cpp include_juce_dsp.cpp include_juce_events.cpp include_juce_graphics.cpp include_juce_gui_extra.cpp include_juce_opengl.cpp include_juce_osc.cpp include_juce_product_unlocking.cpp C:\HISE-develop\hi_tools\hi_neural\RTNeural\modules\xsimd\arch\xsimd_sse2.hpp(1024,9): warning C4068: unknown pragma 'c lang' [I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion\Binaries\Builds\VisualStudio2022\Handy Drums- Flamenco Percussion_SharedCode.vcxproj] (compiling source file '../../JuceLibraryCode/include_hi_tools.cpp') C:\HISE-develop\hi_tools\hi_neural\RTNeural\modules\xsimd\arch\xsimd_sse2.hpp(1025,9): warning C4068: unknown pragma 'c lang' [I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion\Binaries\Builds\VisualStudio2022\Handy Drums- Flamenco Percussion_SharedCode.vcxproj] (compiling source file '../../JuceLibraryCode/include_hi_tools.cpp') C:\HISE-develop\hi_tools\hi_neural\RTNeural\modules\xsimd\arch\xsimd_sse2.hpp(1055,9): warning C4068: unknown pragma 'c lang' [I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion\Binaries\Builds\VisualStudio2022\Handy Drums- Flamenco Percussion_SharedCode.vcxproj] (compiling source file '../../JuceLibraryCode/include_hi_tools.cpp') include_hi_snex_60.c include_hi_snex_61.c include_juce_gui_basics.cpp Handy Drums- Flamenco Percussion_SharedCode.vcxproj -> I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percuss ion\Binaries\Compiled\Shared Code\Handy Drums- Flamenco Percussion.lib include_juce_audio_plugin_client_VST3.cpp Creating library .\..\..\Compiled\VST3\Handy Drums- Flamenco Percussion.lib and object .\..\..\Compiled\VST3\Handy Drums- Flamenco Percussion.exp Generating code C:\HISE-develop\hi_scripting\scripting\scriptnode\dynamic_elements\DynamicRoutingNodes.h(126): warning C4715: 'scriptno de::duplilogic::dynamic::shouldUpdateNumClones': not all control paths return a value [I:\AUDIO TEMPORARY\HISE PROJECTS \Handy Drums- Flamenco Percussion\Binaries\Builds\VisualStudio2022\Handy Drums- Flamenco Percussion_VST3.vcxproj] C:\HISE-develop\hi_scripting\scripting\engine\JavascriptEngineCustom.cpp(839): warning C4715: 'hise::HiseJavascriptEngi ne::RootObject::InlineFunction::ParameterReference::getResult': not all control paths return a value [I:\AUDIO TEMPORAR Y\HISE PROJECTS\Handy Drums- Flamenco Percussion\Binaries\Builds\VisualStudio2022\Handy Drums- Flamenco Percussion_VST3 .vcxproj] Finished generating code Handy Drums- Flamenco Percussion_VST3.vcxproj -> I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion\Bi naries\Compiled\VST3\Handy Drums- Flamenco Percussion.vst3 Exporting "Handy Drums- Flamenco Percussion" Plugin ============================================================================== EXPORT ERROR: Preset file not found ============================================================================== Re-saving file: I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion\Binaries\AutogeneratedProject.jucer Finished saving: Visual Studio 2022 Finished saving: Xcode (macOS) Finished saving: Xcode (iOS) Finished saving: Linux Makefile Compiling 64bit Instrument plugin Handy Drums- Flamenco Percussion ... MSBuild version 17.8.3+195e7f5a3 for .NET Framework Handy Drums- Flamenco Percussion_SharedCode.vcxproj -> I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percuss ion\Binaries\Compiled\Shared Code\Handy Drums- Flamenco Percussion.lib Handy Drums- Flamenco Percussion_VST3.vcxproj -> I:\AUDIO TEMPORARY\HISE PROJECTS\Handy Drums- Flamenco Percussion\Bi naries\Compiled\VST3\Handy Drums- Flamenco Percussion.vst3 Press any key to continue . . .
It compiles only vst3 plugin. If you notice from the console print, it was supposed to compile standalone, but it output vst3 instead, probably twice, as there is no app compiled, but only the vst3.
-
Is the project name exactly the same as the project xml?
-
@d-healey Yes.
-
%hise_path% export_ci "%project_dir%\XmlPresetBackups\%project_name%.xml" -t:standalone -a:x64 -p:""
What is
-p:""
? -
@d-healey I don't know. You tell me, it is your script
-
@gorangrooves lol I just checked, apparently that's what we need for exporting standalone, so all good there.
-
@gorangrooves So you get nothing output in
Binaries\Compiled\App
? -
@d-healey Correct. Nothing gets output there.