Skip to content

stuin/pipeflowQt

Repository files navigation

PipeFlow

Fun-In-Progress GUI for PipeWire, originally by Oskude

Now working on a rewrite at https://github.com/stuin/PipeflowIm, hopefully planning to keep the features comparable

Features

  • Display Nodes, Ports and Links
  • Create and destroy Links
  • Set channel volume (for ALSA and PulseAudio)
  • Lock channel volumes together
  • Configurable max volume > 1
  • Configure hidden nodes
  • Mute nodes
  • Move Nodes (but will be reset after model changes!)
  • Auto layout based on different groupings

Todo

Bugs

  • find them polish loops... (and why does it still work, or what is not working?!)

Theme

theme.ini file is loaded from these dirs in this order:

  • Next to program
  • User: $XDG_CONFIG_HOME/pipeflow (default $HOME/.config/pipeflow)
  • System: pipeflow dir in $XDG_CONFIG_DIRS (default /etc/xdg/)

Requirements

Packaging

  • Copy dir libpipeflow to Pythons system include dir
  • Copy dir PipeFlow to QMLs system include dir
  • Copy file pipeflow to system bin dir
  • Copy file main.qml to /usr/lib/pipeflow/main.qml
  • Copy file theme.ini to /etc/xdg/pipeflow/theme.ini

see distro/archlinux/PKGBUILD for an example

Development

The python code provides following things to QML:

thing description
NodeModel List Model of PipeWire Nodes
LinkModel List Model of PipeWire Links
PwLink Functions to call pw-link
PwCli Functions to call pw-cli
Theme Theme properties

And the QML UI "simply" builds around these models, and calls functions to request changes to PipeWire...

If you have entr installed, you can start pipeflow in "hot reloading" way with:

$ make hot

restart this if you add files

Links

Licence

MIT

About

Fun-In-Progress Qt based GUI for PipeWire

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors