Birch-san / juicysfplugin

Audio plugin (e.g. VST, AU) to play soundfonts on macOS, Windows, Linux
GNU General Public License v3.0
233 stars 29 forks source link

Juce 7 update. #42

Open Aleskis opened 2 years ago

Aleskis commented 2 years ago

Hi,

Juce 6 introduced accessibility for screenreader users. But it was the first release and a little bit buggy. Do you plan to update Juce to version7 : https://juce.com/discover/stories/juce-7-released

Thank you !

Birch-san commented 2 years ago

hey, I'd be happy to try upgrading.
one threat is that in the last few releases of JUCE: they broke cross-compilation targeting Windows (https://github.com/juce-framework/JUCE/issues/985, https://github.com/juce-framework/JUCE/issues/993, https://github.com/juce-framework/JUCE/issues/1028, https://github.com/juce-framework/JUCE/issues/1029). a lot of the breaks were due to their accessibility work. JUCE 7 may introduce similar landmines.

they're not generally responsive when I raise these breaks to them. I've given them minimal repros, I've shown them the workarounds I'm using, I've offered to add support in their CI to prevent future breaks (they've refused), there's even an MR raised to fix one of the problems (https://github.com/juce-framework/JUCE/pull/1073), which they've not acknowledged.
at this point I actually maintain my own fork of JUCE. I shouldn't have to.

I'm currently a few weeks into trying to get it cross-compiling for Linux (hardest platform I've attempted static linking on):
https://github.com/Birch-san/juicysfplugin/issues/25
so depending on what order I approach this: JUCE 7 may be blocked behind the (big) Linux work.

which OS do you use?

Aleskis commented 2 years ago
Ok, I understand the difficulties of implementation and the priority work on Linux. Unlucky for me, I'm on Windows :)Thanks again,De : Birch-sanEnvoyé le :lundi 27 juin 2022 19:10À : Birch-san/juicysfpluginCc : Aleskis; AuthorObjet :Re: [Birch-san/juicysfplugin] Juce 7 update. (Issue #42) hey, I'd be happy to try upgrading.one threat is that in the last few releases of JUCE: they broke cross-compilation targeting Windows (juce-framework/JUCE#985, juce-framework/JUCE#993, juce-framework/JUCE#1028, juce-framework/JUCE#1029). a lot of the breaks were due to their accessibility work. JUCE 7 may introduce similar landmines.they're not generally responsive when I raise these breaks to them. I've given them minimal repros, I've shown them the workarounds I'm using, I've offered to add support in their CI to prevent future breaks (they've refused), there's even an MR raised to fix one of the problems (juce-framework/JUCE#1073), which they've not acknowledged.at this point I actually maintain my own fork of JUCE. I shouldn't have to.I'm currently a few weeks into trying to get it cross-compiling for Linux (hardest platform I've attempted static linking on):#25so depending on what order I approach this: JUCE 7 may be blocked behind the (big) Linux work.which OS do you use?—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***> 
jacobmellin commented 2 years ago

Hi @Birch-san, thanks for your efforts in this matter (trying to get cross-compilation supported).

Did you by any chance get cross compilation to Windows from Ubuntu working with Juce v7 or 6.1.6/6.1.5?

The main problem I can identify from my limited knowledge seems to be that the UIAutomation.h and Dxgi.h headers are not available from mingw-64 or llvm-mingw. Is this related to the updates for screenreaders?

Birch-san commented 2 years ago

yes, the win32.Dockerfile in master builds juicysfplugin for Windows using JUCE 6.1.5 on Ubuntu 22.04 via llvm-mingw 20220209.

one of the problems was related to UIAutomation.h -- JUCE defined UIA_ constants, which clashed with the ones provided by newer versions of llvm-mingw.
https://github.com/juce-framework/JUCE/issues/1028

they say they fixed that 17 days ago:
https://github.com/juce-framework/JUCE/commit/045214c986c74b2427f3aab2a5d2bfab2570be85