Tom A. Wagner 0b3b124cdf graph: Refactor graph item management into new graph_manager object
The graph widgets management (watching a glib receiver, adding and removing
Nodes, Ports and Links) currently done in the `Application` and `GraphView`
objects has been extracted into a new GraphManager object, which watches the
receiver instead, pushes changes directly to the widgets, and reacts to their signals.

This seperates widget logic and management logic cleanly instead of both
being mixed into the GraphView, and also reduces the code size for the
Application object.
2023-08-01 09:15:40 +02:00
2023-02-12 13:30:49 +01:00
2023-02-12 21:23:12 +01:00
2021-07-22 11:35:12 +02:00
2023-02-12 21:23:12 +01:00
2023-02-12 21:23:12 +01:00
2023-02-12 21:23:12 +01:00
2023-02-12 13:30:49 +01:00

Helvum is a GTK-based patchbay for pipewire, inspired by the JACK tool catia.

Screenshot

Features planned

  • Volume control
  • "Debug mode" that lets you view advanced information for nodes and ports

More suggestions are welcome!

Building

Via flatpak

If you don't have the flathub repo in your remote-list for flatpak you will need to add that first:

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Then install the required flatpak platform and SDK, if you dont have them already:

$ flatpak install org.gnome.{Platform,Sdk}//43 org.freedesktop.Sdk.Extension.rust-stable//22.08 org.freedesktop.Sdk.Extension.llvm14//22.08

To compile and install as a flatpak, clone the project, change to the project directory, and run:

$ flatpak-builder --install flatpak-build/ build-aux/org.pipewire.Helvum.json

You can then run the app via

$ flatpak run org.pipewire.Helvum

Manually

For compilation, you will need:

  • Meson
  • An up-to-date rust toolchain
  • libclang-3.7 or higher
  • gtk-4.0 and pipewire-0.3 development headers

To compile and install, run

$ meson setup build && cd build
$ meson compile
$ meson install

in the repository root. This will install the compiled project files into /usr/local.

License and Credits

Helvum is distributed under the terms of the GPL3 license. See LICENSE for more information.

Parts of the build system were taken from the gtk-rust-template project, which is provided under the terms of the MIT license.

Description
Mirror of helvum since freedesktop.org has my ip banned for some reason
Readme GPL-3.0 886 KiB
Languages
Rust 95.8%
Meson 2.6%
CSS 1.4%
Shell 0.2%