Giter Club home page Giter Club logo

helvum's Introduction

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

Screenshot

Packaging status

Features planned

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

More suggestions are welcome!

Building

Via flatpak (recommended)

The recommended way to build is using flatpak, which will take care of all dependencies and avoid any problems that may come from different system configurations.

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}//41 org.freedesktop.Sdk.Extension.rust-stable//21.08 org.freedesktop.Sdk.Extension.llvm12//21.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.freedesktop.ryuukyu.Helvum.json

You can then run the app via

$ flatpak run org.freedesktop.ryuukyu.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

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

helvum's People

Contributors

tom-a-wagner avatar linkmauve avatar relulz avatar mortal avatar ac10n avatar jbeich avatar imp- avatar fufexan avatar roger-roger-debug avatar picsel2 avatar suchipi avatar trosendal avatar erfan-khadem avatar

Stargazers

Antonio Bernardini avatar  avatar Anatoly Chernov avatar Jorge Cobo avatar Wes Turner avatar Dane Lipscombe avatar Alex Hirsch avatar jannik avatar  avatar Gianfranco Ureta Carrera avatar sntx avatar martinsandfuchs avatar Alexander Aladov avatar Ricardo B. Marliere avatar bastard  avatar Amadeus Paulussen avatar  avatar

Watchers

 avatar

Forkers

rustomcspit

helvum's Issues

Ability to hide / exclusively show nodes

Let's say I want to hide a node, I right click and hide it and all of its connectors. Let's say however I want to exclusively show some nodes. I drag right click on them and click exclusively show and just see those nodes and their connectors. Exclusively show should respect the hidden property and not show those still however. To see hidden nodes you could right click the background and click show hidden nodes and then re-click the background and click hide hidden nodes to get rid of them

Persist state

Persist state between restarts, as well of nodes reappearing.

Make save-able presets / Saved "scenes"

They should be named, have category tags (that the user can add and make (e.g. "Livestreaming", "Music", "Jitsi Chat"), able to be coloured by custom hex values, accesible in app and not relying on us to go into the file explorer, etc..

Add light theme support

Issue

I often work in bright environments and would appreciate if Helvum would follow the system setting for light and dark theme.

The dark theme is not easy to read in bright environments.

I sometimes add a Flatpak environment variable GTK_THEME=Adwaita:light but unfortunately the grid in light mode makes the app's visual appearance uncomfortable for the eyes in light mode.

Expected behavior

The app's visual theme would follow the system's dark or light theme setting.

My system

  • OS: Manjaro Linux x86_64
  • Kernel: 6.3.3-1-MANJARO
  • Resolution: 3840x2400
  • DE: GNOME 43.5
  • WM: Mutter
  • WM Theme: Adwaita
  • Theme: Adwaita [GTK2/3]
  • Icons: Adwaita [GTK2/3]
  • CPU: AMD Ryzen 5 PRO 6650H with Radeon Graphics (12) @ 4.564GHz
  • GPU: AMD ATI Radeon 680M
  • Memory: 11266MiB / 15254MiB
  • Display protocol: Wayland
  • Audio server: PipeWire
  • Session and policy manager: WirePlumber

Introduce a priority input / output feature

Right click a i/o to make it the default for everything so Default Audio, Default Midi, Default Video, etc.. and have an ability for the Default to have a slightly different color and its connections have different colors which relates to #7

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.