jameshball / osci-render

〰📺🔊 Synthesiser audio plugin for making music by drawing objects on an oscilloscope using audio.
https://osci-render.com/
GNU General Public License v3.0
423 stars 22 forks source link

osci-render causes DAW to hang when not in view + mouse movement required for interaction. #247

Open CattoByte opened 2 months ago

CattoByte commented 2 months ago

I am on Ubuntu 23.04, and run Wayland. This may be the core of the issue, but we'll get to that later.

When using osci-render (downloaded, compiled on debug, or compiled on release (also tried using -march)), all interactable elements freeze until the mouse is moved. This can be seen in the first half of the attached video, in which, while hard to show, the elements were clicked yet didn't update until the cursor was moved. This may be related to the larger issue.

As for this larger issue, the plug-in practically shuts down the DAW (Ardour 8). I have tried compiling with different JUCE versions (or the ones that let me, really) but the result was the same. The 'Surge XT' plug-in, which also uses JUCE, doesn't suffer from these issues.

All of this might be caused by the windowing system (Wayland), since it updates applications very slowly when not in view to save resources. I have confirmed this—albeit by accident—when using osci-render stand-alone, where I connected the audio output to a real oscilloscope and saw the animation slow down to a practical halt when tabbed out of the window (IIRC). I will see if these issues occur in X11 when I can.

The video. Every time something isn't happening in the DAW is actually me attempting to move the view around. https://github.com/user-attachments/assets/4ac11a15-56da-467d-8973-5bbc5d6b327c

jameshball commented 1 month ago

Thanks for reporting! I would be keen to see if you can replicate the issue in another window manager - although I make sure that osci-render compiles on Linux, I don't test it ahead of release as there are very few users on Linux. Please do let me know if you are able to diagnose the issue though and I can take a look :)