Hello! I have a working beta version on my Synthesiser that I’d like to share with my friends to test out. When I use the “debugging” configuration on Visual Studio - the synth works fine and I can use it with the AudioPluginHost or Reaper. However, when I compile the release version (so that the libraries would be included etc… I’m not very versed yet on the programming stuff just yet), there is not audio playback. The GUI loads just fine but the synth does not produce any sound. I compiled a Reverb and Delay earlier with the release configuration and they work fine as a plugin but it seems there’s something wrong with the MIDI.
The most likely culprit for debug/release build differences is uninitialised variables, so I would check your synth code and see if there are any places where you haven’t initialised variables that you are using.
But shouldn’t these problems become apparent while running on debugging mode? I don’t have any errors and/or memory leaks etcs. Usually if I have an unitiliased variable, JUCE error is called or the app crashes due to overflow/nullptr.
When running in debugging mode, all memory will be reset to zero, so all uninitialized pointers will be null and all uninitialized integers will be zero. In Release configuration, the memory is not reset, so uninitialized pointers will have random (invalid) values and all uninitialized integers will have random (potentially huge) values.
This makes sense. I actually got this working earlier, when I allowed debugging on the release version. Thank you.
Another one is to put code in
jassert();. This is gone in a release build.