Very nice looking UI! Powered by forked GTK+ 2 [1]. (First release almost 24 years ago [2]).

[1] https://github.com/Ardour/ardour/tree/9.0/libs/tk/ytk

[2] https://mail.gnome.org/archives/gtk-list/2002-March/msg00136...

GTK doesn't play much of a role in our GUI. When you're looking at most of the main tabs in Ardour (editor, mixer, recorder window, cue page) almost everything you're looking at is either our own Canvas or custom widgets. Still we do sit on top of GTK+ 2's basic infrastructure and still rely on it for the "big widgets" (file browser, tree/listviews, menus, color dialogs, text entry).

How are you approaching a Wayland port?

> custom widgets

Implemented like any custom GTK+ 2 widget?

Some are, some have a layer between them called CairoWidget so that they can just draw directly in Cairo. We also tend to use Gtkmm to derive, so that we don't have to do a lot of C boiler-plate code (and you won't find a "full widget implementation" anywhere, because of this).