Hi Christoph, and community, first, thanks for developing HISE, I'm trying to develop my first open source vst using this framework.
I was able to export a vst plugin once, but then I could not do it any more.
System Details: Windows 10. v1703. Intel 64 / Hise 0.99 b.648 / Standalone 64 / VisualBasic 2015 / Installed Intel IPP
STR
- I download the latest code from Github.
- I copied the SDK from ASIOSDK2.3, VST3 SDK, AAX to the SDK folder in the correct way (IPP too).
- Then, I executed "prejucer" ( In different approaches I have set several times IPP = enabled, single thread, other times IPP = disabled, just in case)
- I have built HISE 64bit, Release, with the following warnings:
1>------ Build started: Project: HISE Standalone, Configuration: Release x64 ------
1> DspUnitTests.cpp
1> HiseEventBufferUnitTests.cpp
1> MainComponent.cpp
1> Main.cpp
1> BinaryData.cpp
1> hi_backend.cpp
1> hi_core.cpp
1> hi_dsp_library.cpp
1> hi_lac.cpp
1> hi_modules.cpp
1>e:\hise-master\hi_lac\hlac/BitCompressors.cpp(122): warning C4100: 'numValues': unreferenced formal parameter (compiling source file ..\..\JuceLibraryCode\hi_lac.cpp)
1> hi_scripting.cpp
1>e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_scripting.cpp)
1>e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_core.cpp)
1>e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\..\..\hi_scripting\scripting\api\DspUnitTests.cpp)
1>e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\Source\Main.cpp)
1>e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\Source\MainComponent.cpp)
1>e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_backend.cpp)
1>e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_modules.cpp)
1>e:\hise-master\hi_modules\effects/fx/Filters.cpp(445): warning C4244: 'argument': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_modules.cpp)
1>e:\hise-master\hi_modules\effects/fx/Filters.cpp(446): warning C4244: 'argument': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_modules.cpp)
1>e:\hise-master\hi_modules\effects/fx/Filters.cpp(447): warning C4244: 'argument': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_modules.cpp)
1>e:\hise-master\hi_scripting\scripting/components/ScriptingContentComponent.cpp(229): warning C4457: declaration of 'i' hides function parameter (compiling source file ..\..\JuceLibraryCode\hi_scripting.cpp)
1> e:\hise-master\hi_scripting\scripting/components/ScriptingContentComponent.cpp(196): note: see declaration of 'i' (compiling source file ..\..\JuceLibraryCode\hi_scripting.cpp)
1>e:\hise-master\hi_scripting\scripting/components/ScriptingEditor.cpp(1834): warning C4189: 'p': local variable is initialized but not referenced (compiling source file ..\..\JuceLibraryCode\hi_scripting.cpp)
1>e:\hise-master\hi_core\hi_core\MainController.cpp(415): warning C4100: 'newPosition': unreferenced formal parameter (compiling source file ..\..\JuceLibraryCode\hi_core.cpp)
1> juce_audio_basics.cpp
1> juce_audio_devices.cpp
1> juce_audio_formats.cpp
1> juce_audio_processors.cpp
1> juce_audio_utils.cpp
1> juce_core.cpp
1>e:\hise-master\hi_core\hi_sampler\sampler/ModulatorSamplerData.cpp(1039): warning C4244: 'argument': conversion from 'juce::int64' to 'int', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_core.cpp)
1> juce_cryptography.cpp
1> juce_data_structures.cpp
1> juce_events.cpp
1> juce_graphics.cpp
1> juce_gui_basics.cpp
1> juce_gui_extra.cpp
1> juce_opengl.cpp
1> juce_tracktion_marketplace.cpp
1>e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\..\..\hi_core\hi_core\HiseEventBufferUnitTests.cpp)
1>LINK : warning LNK4075: ignoring '/INCREMENTAL' due to '/LTCG' specification
1> Generating code
1> Finished generating code
1> HISE Standalone.vcxproj -> E:\HISE-master\projects\standalone\Builds\VisualStudio2015\x64\Release\HISE.exe
1> HISE Standalone.vcxproj -> x64\Release\\HISE.pdb (Full PDB)
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
- I searched for Hise.exe, (I copied it to another folder and used it in the same directory in different attempts)
- Within Hise, I created a new project in another directory. I followed your steps in the video of the "5 minutes", I used the instrument in the preview. (By the way, how do you call the autocomplete? - in the video)
- The first time I exported the instrument as VST64, I foun some warnings, but I copied the file "MyFirstVst.dll", I used it in Image-line FL Studio 12 64bit, it works and I export a song 100%.
This is where the trouble starts. I tried to replicate what I had done, I cleaned everything that had to be cleaned (the Appdata folder, builds, etc) to build everything again from scratch, and from that moment on I could never export a vst again.
- The following failed output is constant when I try to export a VST64:
Re-saving file: E:\25-05\Binaries\AutogeneratedProject.jucer
Finished saving: Visual Studio 2015
Finished saving: Xcode (MacOSX)
Compiling 64bit Instrument plugin 25-05 ...
Microsoft (R) Build Engine, versión 14.0.25420.1
Copyright (C) Microsoft Corporation. Todos los derechos reservados.
CopyProtection.cpp
Plugin.cpp
PresetData.cpp
BinaryData.cpp
hi_core.cpp
hi_dsp_library.cpp
hi_frontend.cpp
hi_lac.cpp
hi_modules.cpp
hi_scripting.cpp
e:\hise-master\hi_lac\hlac/BitCompressors.cpp(122): warning C4100: 'numValues': u
nreferenced formal parameter (compiling source file ..\..\JuceLibraryCode\hi_lac.cpp) [E:\25-0
5\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
juce_audio_basics.cpp
juce_audio_devices.cpp
juce_audio_formats.cpp
juce_audio_plugin_client_utils.cpp
juce_audio_plugin_client_VST2.cpp
e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing
': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_scripting
.cpp) [E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing
': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_core.cpp)
[E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing
': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\Source\Plugin.cpp) [E:\VST d
evelop\VST DEV 2017\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing
': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_frontend.
cpp) [E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\hise-master\hi_modules\effects/fx/Filters.h(397): warning C4244: 'initializing
': conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_modules.c
pp) [E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
..\..\Source\Plugin.cpp(12): error C2039: 'userPresets': is not a member of 'PresetData' [E:\2
5-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\25-05\binaries\source\PresetData.h(6): note: see declaration of 'PresetData'
..\..\Source\Plugin.cpp(12): error C2039: 'userPresetsSize': is not a member of 'PresetData' [E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\25-05\binaries\source\PresetData.h(6): note: see declaration of 'PresetData'
..\..\Source\Plugin.cpp(12): error C2065: 'userPresetsSize': undeclared identifier [E:\25-05\B
inaries\Builds\VisualStudio2015\25-05.vcxproj]
juce_audio_processors.cpp
juce_audio_utils.cpp
e:\hise-master\hi_modules\effects/fx/Filters.cpp(445): warning C4244: 'argument':
conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_modules.cpp
) [E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\hise-master\hi_modules\effects/fx/Filters.cpp(446): warning C4244: 'argument':
conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_modules.cpp
) [E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\hise-master\hi_modules\effects/fx/Filters.cpp(447): warning C4244: 'argument':
conversion from 'double' to 'float', possible loss of data (compiling source file ..\..\JuceLibraryCode\hi_modules.cpp
) [E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
juce_core.cpp
e:\hise-master\hi_scripting\scripting/components/ScriptingContentComponent.cpp(22
9): warning C4457: declaration of 'i' hides function parameter (compiling source file ..\..\JuceLibraryCode\hi_scriptin
g.cpp) [E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\hise-master\hi_scripting\scripting/components/ScriptingContentComponent.cpp(
196): note: see declaration of 'i' (compiling source file ..\..\JuceLibraryCode\hi_scripting.cpp)
e:\hise-master\hi_core\hi_core\MainController.cpp(415): warning C4100: 'newPositi
on': unreferenced formal parameter (compiling source file ..\..\JuceLibraryCode\hi_core.cpp) [E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\hise-master\hi_core\hi_sampler\sampler/ModulatorSamplerData.cpp(1039): warning
C4244: 'argument': conversion from 'juce::int64' to 'int', possible loss of data (compiling source file ..\..\JuceLibr
aryCode\hi_core.cpp) [E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
juce_cryptography.cpp
juce_data_structures.cpp
juce_events.cpp
juce_graphics.cpp
juce_gui_basics.cpp
juce_gui_extra.cpp
juce_opengl.cpp
juce_tracktion_marketplace.cpp
Compiling finished.Cleaning up...
No se pudo encontrar E:\25-05\Binaries\Compiled\25-05 x64.exp
No se pudo encontrar E:\25-05\Binaries\Compiled\25-05 x64.lib
Presione una tecla para continuar . . .
(it can't be found) (press a key to continue..)
- Where these lines are those that come out in red in the terminal and are errors:
..\..\Source\Plugin.cpp(12): error C2039: 'userPresets': is not a member of 'PresetData' [E:\2
5-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\25-05\binaries\source\PresetData.h(6): note: see declaration of 'PresetData'
..\..\Source\Plugin.cpp(12): error C2039: 'userPresetsSize': is not a member of 'PresetData' [E:\25-05\Binaries\Builds\VisualStudio2015\25-05.vcxproj]
e:\25-05\binaries\source\PresetData.h(6): note: see declaration of 'PresetData'
..\..\Source\Plugin.cpp(12): error C2065: 'userPresetsSize': undeclared identifier [E:\25-05\B
inaries\Builds\VisualStudio2015\25-05.vcxproj]
I noticed that parts of the code related to the definition of userPresets
were changed, but that error did not come out the first time when I was able to export the VST instrument correctly.