mtytel / helm

Helm - a free polyphonic synth with lots of modulation
http://tytel.org/helm
GNU General Public License v3.0
2.34k stars 201 forks source link

Helm stuck when having no Internet access?! #305

Open 6-AND-9 opened 1 year ago

6-AND-9 commented 1 year ago

Hi there,

Tried to use your plugin on Linux with Reaper. Whenever I first add it into a session it asks for Internet access. If I don't let it, it freezes my DAW and just sits there for a few minutes before showing the GUI. But if I allow it access, even just once, it loads without any issues. After that first load with or without/blocked acess, it still loads immediately in new instances.

Why is this the case?

6-AND-9 commented 1 year ago

Also unchecked 'Check for updates', but still blocked for the same amount of time.

BilldarBagdar commented 1 year ago

I am not an expert by any means. However, do you know what domain the requested access is trying to reach? (reaches if granted) Is it a Juce domain or mtytel?

I suspect maybe the reason you experience the hang is related to what is allegedly "fixed" by Pull request #271. Unfortunately, that fix is a hack. The changed file (everything under the /JuceLibraryCode folder) gets (or could get) overwritten every time you click "Save project and Open in selected exporter" within the Projucer. You'd have to go in and possibly make that same change in that file over and over again, every time you "get busy coding" by going through the Projucer project to Visual Studio or whatever.

Contrary to the #271 title, I don't think it would be OK with the terms of the Projucer license unless you make corresponding project configuration updates in the Projucer project settings so the same two property values change from 1 to 0 automatically every time Projucer saves the project.

I'm guessing the reason it only hangs on you once per session is due to some long running blocking process that eventually times out. Once the timeout occurs though, a NO_INTERNET_ACCESS_OFFLINE flag gets set somewhere and the system stops trying to reach whatever domain until you restart.

It's possible the issue has already been addressed with more recent releases of the JUCE framework. However Helm is officially still on JUCE 5.3.x. While JUCE itself has moved on to version 7.0.2 (last time I checked).