Skip to content
Commit d1344b63 authored by Harald Sitter's avatar Harald Sitter 🐧
Browse files

implement runtime KSNI updates

previously kmix would throw away the KSNI and completely recreate it to
pick up mixer changes. incidentally enough doing that triggers repaints
and rescaling in plasma leading to utterly silly flickering. paritcularly
since pulseaudio stream changes (e.g. a track change in amarok) would
cause such an "update" you'd have a steady flow of flickering systray

the situation was resolved by introducing a MetaMixer in the DockWidget.
MetaMixer behaves like an abstraction wrapper around the actual Mixer. it
replicates the necessary interfaces/signals/slots and internally
controls the wiring to the actual mixer. that way the dockwidget can
connect() once to the metamixer signals while internally the mixer might
be constantly changing. then when an update is required the new update()
function is called, which calls reset() on the metamixer, which rewires
against the new master mixer and then automatically triggers UI updates
parent d6ff1b0c
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment