diff options
| author | Calvin Morrison <calvin@pobox.com> | 2026-05-15 15:02:25 -0400 |
|---|---|---|
| committer | Calvin Morrison <calvin@pobox.com> | 2026-05-15 15:02:25 -0400 |
| commit | e0c8fb0cdcb9c95e3efa60322c1733df0a965650 (patch) | |
| tree | fac3f3dfd2b7d0c0e4e854387be91117088288af /src/model | |
| parent | e776bc768cf9afca1867200e25d64d315cd72a3e (diff) | |
Recording popup, level meters, UX polish
- Recording tray icon opens popup (mics + active recording streams)
- Recording stream level meters forward from parent source signal
- RecordingTray subclass for single-click (no double-click needed)
- Context menu Set Default Output/Input shows checkmark when active
- Last DeviceWidget in each row hides its right separator
- Popup horizontal layout, configurable content (output/mic/apps)
- Single-click tray, right-click menu for Open Mixer
- Desktop file, icon, CMake install rules
- Window bring-to-front across workspaces (KWin::forceActiveWindow)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'src/model')
| -rw-r--r-- | src/model/pulsedevice.cpp | 1 | ||||
| -rw-r--r-- | src/model/pulsemodel.cpp | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/model/pulsedevice.cpp b/src/model/pulsedevice.cpp index de778b9..8bdea54 100644 --- a/src/model/pulsedevice.cpp +++ b/src/model/pulsedevice.cpp @@ -110,6 +110,7 @@ void PulseDevice::startMonitoring() pa_stream_set_read_callback( m_monitorStream, monitorReadCb, this ); // For sink inputs, filter peak detection to just this stream. + // Source outputs don't support pa_stream_set_monitor_stream; they connect to the source directly. if ( m_category == Playback ) pa_stream_set_monitor_stream( m_monitorStream, m_paIndex ); diff --git a/src/model/pulsemodel.cpp b/src/model/pulsemodel.cpp index a677edc..640b918 100644 --- a/src/model/pulsemodel.cpp +++ b/src/model/pulsemodel.cpp @@ -596,7 +596,11 @@ void PulseModel::customEvent( TQCustomEvent *e ) if ( ev->cat == AudioDevice::Recording && ev->parentIndex != PA_INVALID_INDEX ) { m_sourceOutputToSource.insert( ev->paIndex, ev->parentIndex ); PulseDevice *src = findDevice( m_sources, ev->parentIndex ); - if ( src ) src->adjustRecordingCount( +1 ); + if ( src ) { + src->adjustRecordingCount( +1 ); + connect( src, TQ_SIGNAL(levelChanged(float)), + dev, TQ_SIGNAL(levelChanged(float)) ); + } } } } |
