[LV2] plea to plugin UI devs

Filipe Coelho falktx at gmail.com
Fri Mar 18 03:14:44 PDT 2016


On 18.03.2016 10:16, Rui Nuno Capela wrote:
> you have to realize that gtk2 or qt4 are phased-out and all systems 
> will be fully gtk3 and qt5 in the near future, a very near future on 
> the qt5 front--on my watch, everything is already, there present, no 
> looking back ;)
>
> ...
>
> there's no way back in the progress of time.
> not even for LV2 host/plugin UI developers :)

Can we get all developers to dump gtk2 and switch to gtk3 then?
You can talk about how Qt4 is past and you already moved to Qt5, but 
you're forgetting the fact that we Qt devs are a minority in Linux audio.
(afaik it's just you and me, MusE and qmidiarp project for LV2 stuff, 
and MusE already moved to Qt5)

Our move to Qt5 is somewhat easy, but don't think the same is true for Gtk.

I mean, we currently we have these plugins using gtk2:
  - abgate
  - ams.lv2
  - amsynth
  - beatslash
  - calf
  - deteriorate
  - drmr
  - eq10q
  - invada
  - ir.lv2
  - lsp-plugins
  - guitarix
  - vocproc

I don't think we will ever see all those plugins ported to gtk3.
If any of those gets ported to gtk3, they will stop working on 
gtk2-based hosts (Ardour and Ingen at least).
Since Ardour (and consequently Mixbus) are very big players in Linux 
audio, developers will not update to gtk3 and lose the ability to show 
their UI in ardour.

There are some ways around this:
  - both ardour and plugins move to gtk3 *at the same time* (very 
unlikely to happen, I'd say impossible)
  - plugin devs begin supporting both gtk2 and gtk3

But then, the last option does not work for plugins that use the same 
binary for both DSP and UI (like calf and ir.lv2).


Oh, and you're not safe from this just because you use Qt.
Here's a few scenarios that will trigger a host crash:
1. Load a plugin that uses a different Qt version (but this can be 
avoided by proper distro packaging)
2. Load a plugin that has gtk2 symbols, then later on a plugin with gtk3 
ones
3. Use Qt's gtk2 theme and load a gtk3-based plugin
4. (Whenever Qt's gtk theme gets ported to gtk3) Load a plugin that uses 
gtk2

As you say, we're moving from "old" toolkits to new ones.
I agree with this, so I believe it's only a matter of time until Qt5 
switches its gtk theme to gtk3.
When this happens, some of your users will be unable to load gtk2 UIs.




More information about the Devel mailing list