From e776bc768cf9afca1867200e25d64d315cd72a3e Mon Sep 17 00:00:00 2001 From: Calvin Morrison Date: Fri, 15 May 2026 10:10:04 -0400 Subject: Full mixer implementation — tray, popup, prefs, devices tab with port indicators MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds the complete tmix feature set built since the initial skeleton: balance knob, level meters, KLed mute button, system tray with scroll-wheel volume and recording indicator, tray popup, preferences dialog, right-click context menus, single-instance enforcement, scroll area, window geometry persistence, and Devices tab with PA card profile switcher and live port availability indicators (2-column layout, in-place updates on plug/unplug). Co-Authored-By: Claude Sonnet 4.6 --- src/model/audiodevice.h | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/model/audiodevice.h') diff --git a/src/model/audiodevice.h b/src/model/audiodevice.h index e753fc9..854ba35 100644 --- a/src/model/audiodevice.h +++ b/src/model/audiodevice.h @@ -21,12 +21,16 @@ public: virtual ~AudioDevice() {} virtual TQString name() const = 0; + virtual TQString iconName() const = 0; virtual Category category() const = 0; virtual int volume() const = 0; // 0-100 virtual bool muted() const = 0; + virtual int pan() const = 0; // -50 (left) .. 0 .. +50 (right) + virtual void setVolume( int v ) = 0; virtual void setMuted( bool m ) = 0; + virtual void setPan( int p ) = 0; // Creates the widget for this device. Caller takes ownership. virtual TQWidget *createWidget( TQWidget *parent ) = 0; @@ -34,5 +38,8 @@ public: signals: void volumeChanged( int v ); void muteChanged( bool m ); + void panChanged( int p ); + void levelChanged( float level ); void nameChanged( const TQString &name ); + void recordingActiveChanged( bool active ); }; -- cgit v1.2.3