My 2 cents: baby, bathwater.

The IME GUIs may not be *perfect* but they, so far, have been *good enough*. I am always fearful of trying to design & implement the "one *whatever* to rule them all" as making something too generic ends up being more complicated then the simplest approach, with some amount of code sharing to avoid redundancy. (That being said, I am only reacting and maybe you have something in mind which deals with this.)

I think we can consider ways to overhaul the existing ones for sure.

For instance, I have a balanced approach to implementing the GUIs in Pdparty using Apple frameworks using single-inheritance OO:

https://github.com/danomatika/PdParty/tree/master/src/gui

There is a Widget class which everything else inherits from. Then shared code within IEMWidget class which Bang, Slider, etc use.

I don't think this is far off from the recent refactors in the IEM widget code base over the last years.

On Mar 15, 2024, at 12:00 PM, pd-dev-request@lists.iem.at wrote:

Date: Thu, 14 Mar 2024 14:36:50 +0100
From: Christof Ressi <info@christofressi.com>
To: pd-dev@lists.iem.at
Subject: Re: [PD-dev] release April?
Message-ID: <24adbd83-47b5-4fbd-bbc9-2fb56d69f7b7@christofressi.com>
Content-Type: text/plain; charset=UTF-8; format=flowed

Anyway, I've been holding off on introducing yet one more ad-hoc GUI 
device until I (or someone :) can make a properly unified GUI for 
numerical controls. 
Is this realistic? And does it really warrant withholding a proper knob 
UI for another couple of years (or even forever)?

A knob would not prevent a "unified numerical control" in the future. 
Yes, it would be one more legacy object to deal with, but does it really 
matter at this point? It's not like we're constantly adding new UI 
elements. The last time was probably 20 years ago :) I guess if Thomas 
Musil made one back in the day, we would have it anyway.

A more general question: what would the advantage of such a "unified" 
GUI object, in particular for the user? I guess the idea is that you can 
easily turn any numeric GUI element into another?

Cheers,

Christof