#pragma once #include #include class TQWidget; class AudioDevice : public TQObject { TQ_OBJECT public: enum Category { Output, // sinks, hardware output Input, // sources, hardware input Playback, // sink inputs (per-app playback streams) Recording, // source outputs (per-app recording streams) }; AudioDevice( TQObject *parent = 0 ) : TQObject(parent) {} virtual ~AudioDevice() {} virtual TQString name() const = 0; virtual Category category() const = 0; virtual int volume() const = 0; // 0-100 virtual bool muted() const = 0; virtual void setVolume( int v ) = 0; virtual void setMuted( bool m ) = 0; // Creates the widget for this device. Caller takes ownership. virtual TQWidget *createWidget( TQWidget *parent ) = 0; signals: void volumeChanged( int v ); void muteChanged( bool m ); void nameChanged( const TQString &name ); };