Reaper VSTi
-
The crash is from HLAC compression. Setting to no compression works.
-
and here's a video showing successful creation of monolith, but crashes plugin host.
-
Ah I think I got the problem now.
After you export as Monolith, you have to reload the Samplemap, otherwise it is in a weird intermediate state (the
SaveMode
is set to2
which means Monolith, but there is no information about the Monolith sample cues).I'll fix this, but you can already try to just load the Samplemap again just after exporting as Monolith.
I didn't encounter this because I am constantly swapping the sample maps (in fact, it is good practice to remove every samplemap from the initial project so that it doesn't load samples twice, that's what the Tools -> Clear all Samplemaps command is for). If you have setup a script control that somehow loads samplemaps, it will be loaded when the preset state is restored.
-
@christoph-hart thanks for the reply.
I forgot the reload step... but unfortunately, it still does the same thing.
Updated video:
https://youtu.be/5XEVFESpl3M -
Alright, it should work now.
The problem was indeed that when directly exporting the project after converting to Monolith, the XML file looks like this:
<?xml version="1.0" encoding="UTF-8"?> <Processor Type="StreamingSampler" ID="Sampler" Bypassed="0" Gain="1" Balance="0" VoiceLimit="256" KillFadeTime="20" IconColour="0" PreloadSize="8192" BufferSize="4096" VoiceAmount="256" SamplerRepeatMode="-842150464" RRGroupAmount="1" PitchTracking="1" OneShot="0" CrossfadeGroups="0" Purged="0" Reversed="0" NumChannels="1" Group0Table="24...............vO...f+....9C...vO" Group1Table="24...............vO...f+....9C...vO" Group2Table="24...............vO...f+....9C...vO" Group3Table="24...............vO...f+....9C...vO" Group4Table="24...............vO...f+....9C...vO" Group5Table="24...............vO...f+....9C...vO" Group6Table="24...............vO...f+....9C...vO" Group7Table="24...............vO...f+....9C...vO" SampleMap=""> <EditorStates BodyShown="1" Visible="1" Solo="0" MapPanelShown="1" BigSampleMap="1" GainModulationShown="1" CrossfadeTableShown="0" WaveformShown="1"/> [...] <RoutingMatrix NumSourceChannels="2" Channel0="0" Send0="-1" Channel1="1" Send1="-1"/> <channels> <channelData enabled="1" level="0" suffix=""/> </channels> <samplemap ID="S" SaveMode="2" RRGroupAmount="1" MicPositions=";"> <sample ID="0" FileName="{PROJECT_FOLDER}SN_UP_V6-08_111_127_D1.wav" Root="29" HiKey="29" LoKey="29" LoVel="0" HiVel="127" RRGroup="1" Volume="0" Pan="0" Normalized="0" Pitch="0" SampleStart="0" SampleEnd="197451" SampleStartMod="0" LoopStart="0" LoopEnd="197451" LoopXFade="0" LoopEnabled="0" LowerVelocityXFade="0" UpperVelocityXFade="0" SampleState="0" NormalizedPeak="-1" Duplicate="0"/> </samplemap> </Processor>
What's missing is the
MonolithOffset
andMonolithLength
property in thesample
element, which caused the sample loading in the compiled plugin to load a zero length sample and crash. -
Please try again (you need to rebuild HISE too).
If this doesn't solve the issue, you need to debug the compiled plugin:
- Open
TEST/Binaries/Builds/VisualStudio2017/TEST.sln
in Visual Studio - Set the build configuration to Debug 64bit (it's a dropdown in the top icon bar)
- Go to Project -> Properties and change the Debug executable to the AudioPlugin host binary (In the Debug tab it's called something like Target path)
- Now compile the plugin from within Visual Studio. When it's finished, it should open the plugin host. Now drag the TEST x64 Debug.dll file to the host and it should point you to the crash location.
- Please post a screenshot of the stack trace as well as the crash location, this is the most helpful information.
- Open
-
@christoph-hart u da man! Gonna check it now.
-
@christoph-hart Back to square one. Debug version loads okay. Release crashes.
-
I don't know if it's useful, but here's what happens when I debug the release version:
-
Can you post the exact state before you export (as HISE snippet) then I try to reproduce it.
-
HiseSnippet 1254.3oc4W07baSDEeUbT.GJeTldfYfC9.vjNjlwJMeTldnNwNtMD6XOVId5MOakWauSj1UypUNX5zANxeNbmCv+LbO+G.uUqUzphSH5PBc.cvi22W526812Gpqf6Qhh3BjU4SlERPV2y1cFSNo9DLkgNrAxZEaIIRh1eVHNJhLDYYU54JdVkWFk7bwy1G6iYdjLRHTeN0izhFPkYTCqcD02uIdH4DZfgzaU6PONqN2mGC3njcUTH16L7XxwXkXKYirrOXHUxEtRL.Fj0x6yGNycB+blV99zH5q7IpCNHWvPZxM49CUHVQEUeB0eX2T+MBAFsal2WR68OvtMcH8R5YQgOIgQkLMLiGVKccvywDdUu4vyx.dKqg28sc8DzPYFGE19.6CYRhXDFRAlvRKKx5WsqyAAXxMBvmQZJfCWpvZ6Ts55U1tZ0G9zQwLOIkypvYGykjNr0d3pud0xq9lUeaNiFsHVpWhf66SDKhqJkKtF0ViEG7JhX8JSw9wjT4.OOen09pCslYdOsCaHHmcHiJ6DRXWU.GMOJA+6zCafkXUNXNMPtPhPRUPvpAYJb4VmQJa2fDcljGhP+8zEbogOL1GKyeSRU9LmADBxkxT4EVDUNyr75V450MEt22tKU5MYw3coEfWHpcai24Eqen8AiFQ7jYfcY6lu71uxzDJegFJepsqTPvAT1XWbPHTCjfmx1omtSae1UP743gtzevPreu19wP3Rjm5uTK4UsW.Olk6cMG38HgDrDx9Y5D9w60q2yE73v2VqKdVxckSDP6aHRXxnCi.gcooOVWvihFAtShshLY0MVLVEqxnziLkHhxS633.H0yXDeUiAKKfThopdBNIm9U1at0F4el1A9Yz2n962VO4rVEmhqxlEWkGWbU1p3prcwUYmhqxtERE8so13vENN+8tYM0A06hgrsgj6SGaXZEkrR2pY2vRvpw9BKXZ6JuSuLvc2vkR2L39OruR4TL5RUYmCXSgNR.E8DkFjQ3Xe4kTMAYaNiGNgynd4K+kB53wDgIzWn+rmTBcexn7fZ8H9DbjQOuurVKJifE45pUrPgyMOTbcoqOyVC2JpN5U9uwNAk9e+NAWWn6iluQPE3sKjuimmumcRq9JpcN92Bp83wRXWh1XnAv2CSNfg9tvhNdDyQ+KoVmPetp5rBPtD1vjC+I7LmoS5dBJlNoLQdolB7s4+OY+eqRDlZxQxpt9vFH9lWoif0oTPBFnghRRpApgPKq+jrrwRt3oDcqFMPuxkmZS85xgnJTPo59X+T30pMLx5yUVU6XMo9y+x30sec2dc9tCpexflcZ03fduw83Am1cP+cdT0mLvwwYfyl6NngyFmimBAR05W1VeMXhWPOhLK8PKdtC8Udo9M8B57C+XFrSif849wA41YElMmp3wbQ.1GVzL41RRyBSI0wFcEPZ1BqmSLTQ3nRkLkABdoh0hyCyomhfgVpiuL45ZN9oIwRs3mSDfSw8fKu4D7zvvqfykHQRTlHy25RvFCZt32Tit7oxIv2GGQTY1URc3TNsHrwRUnXEEXyLduDaqszO8y+QsFwg9Tu4uv6jRf.rmfOvS+s3pBg2OgBbMjkbUqrca04JNnjuOWW5F.aAMvyS0i8QPw6h0XyBqwiKrFaUXM1tvZrSg0X2BqwStFMTqbtWrjGnm3hP+00lLQY
-
hopefully I did that correctly
-
@Christoph-Hart any luck with this?
-
Unfortunately no, I can't reproduce the crash. Debugging the release version is the right way, but you need to manually enable the debug symbols, then it should point you to the faulty spot (it's a bit less verbose and accurate because of compiler optimisations though):
- Export the plugin from HISE, but abort the command line compilation
- Open the autogenerated projucer file with the Projucer
- Go to the Exporter tab, select the Visual Studio Exporter -> Release Configuration (there are two of them, one for 32bit, one for 64bit). Do the next step for both.
- Tick the box that says ("Force generation of debug symbols")
- Press Save and open in IDE
- Switch the configuration in VS to Release 64bit (it's a drop down in the top bar).
- Repeat these steps from above:
- Go to Project -> Properties and change the Debug executable to the AudioPlugin host binary (In the Debug tab it's called something like Target path)
- Now compile the plugin from within Visual Studio. When it's finished, it should open the plugin host. Now drag the TEST x64.dll file to the host and it should point you to the crash location.
- Please post a screenshot of the stack trace as well as the crash location, this is the most helpful information.
-
@christoph-hart compiling release via VS2017 works
-
And can you run the plugin outside of Visual Studio (not having attached it)?
-
@christoph-hart yup. What's the difference between compiling in HISE and VS?
-
Actually, nothing that should matter. HISE is calling the command line version of the compiler used by Visual Studio.
Can you post the batchCompile.bat file, maybe you're calling an deprecated version of
msbuild
(there are multiple versions of this and maybe you call the one belonging to an old VS2015 install. -
Maybe I spoke too soon. It worked for my simple test project, but not for my more involved design. Investigating further...
-
just in case... here's the .bat file
@echo off set project=BACK TO SCHOOL set build_path=C:\Users\BasicDrumCo\Documents\BACK TO SCHOOL VST\Binaries set msbuild="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MsBuild.exe" set vs_args=/p:Configuration="Release" /verbosity:minimal set PreferredToolArchitecture=x64 set VisualStudioVersion=15.0 "C:\Program Files\HISE-master\tools\Projucer\Projucer.exe" --resave "%build_path%\AutogeneratedProject.jucer" echo Compiling 64bit Instrument plugin %project% ... set Platform=X64 %msbuild% "%build_path%\Builds\VisualStudio2017\%project%.sln" %vs_args% pause