← Back to context

Comment by Joel_Mckay

17 hours ago

Most people that have never maintained >=Qt5 projects assume free wxWidgets native cross platform OS interface support is less hassle.

Refactoring the application core means their team should have forked the project to audacity-qt rather than inject long term Qt library and license dependency issues into the original package.

Qt on occasion has proven to cause problems with license term changes, GL library bugs on Linux window managers no one ever fixes, and a chain of legacy build issues.

Microsoft people tend to design around entertainment eye candy rather than functional long-term reliability. A interface use-case context pop-up isn't a design choice, but rather just chaotic depending on who is using the seat.

The Audacity 3 interface certainly needed a lot of work, but nuking it for v4 re-write is simply packaging a different program as the original.

Hopefully the remake works out. The odds are not in their favor though... =3

https://en.wikipedia.org/wiki/Second-system_effect

My understanding is that the Qt 6 build system is vastly easier to work with.

Also, Audacity is not the first major FOSS project to successfully migrate from wxWidgets to Qt: Dolphin, the GameCube/Wii emulator, made a similar migration several years ago[0][1][2][3].

[0]: https://dolphin-emu.org/blog/2017/06/03/dolphin-progress-rep...

[1]: https://dolphin-emu.org/blog/2018/02/03/dolphin-progress-rep...

[2]: https://dolphin-emu.org/blog/2018/05/02/legend-dolphin-lens-...

[3]: https://dolphin-emu.org/blog/2018/07/06/dolphin-progress-rep...

  • >Qt 6 build system is vastly easier to work with.

    The Audacity team imported their existing Qt interface code from a previous project. Depending on the design, the code smell could have a lot of vestigial parts unrelated to the new project.

    I have always seen FOSS as the last stop for public domain software. It is supposed to become the stable road future kids walk down to become professionals. The Qt framework is often antithetical to that goal in my opinion. =3

    Rule #3: popularity is not an indication of utility.

I don't know, it took me a while to get used to but i actually prefer Qt6+CMake over Qt5. Porting the first application was kind of a nightmare due to how many things i had to change.. though they were code smells to begin with, now everything run smoothly.

  • Could also look at https://quasar.dev/ if you do rapid release cycles. =3

    • imagine picking some Vue framework over Qt when talking about "the stable road future kids walk down to become professionals". There's software written today in Qt that traces back all the way to the mid 90s and are still top-of-the-line for their business.

      The project I'm working on has been based on Qt since Qt 4 era, has been through people vouching for JavaFx, Angular, JUCE, React, Electron, and a dozen other frameworks over Qt, and had entire competitors based on web tech come and wither. How many Vue software will still be written in Vue 20 years from now ?

      1 reply →