Skip to content

oskude/pipeflow

Repository files navigation

PipeFlow

Fun-In-Progress GUI for PipeWire

Features

  • Display Nodes, Ports and Links
  • Create and destroy Links
  • Set channel volume (for ALSA and PulseAudio)
  • Move Nodes (but will be reset after model changes!)

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 GUI for PipeWire

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published