elvyria / mixxc Goto Github PK
View Code? Open in Web Editor NEWMinimalistic volume mixer.
License: MIT License
Minimalistic volume mixer.
License: MIT License
I've been shamelessly stealing referencing your PA code for my own project and I've come across a bug in the way it's displaying volumes currently.
Using the libpulse LinearVolume
seems to result in some weird not-actually-percentage value. I assume it's something to do with the log scale, and it's supposed to be linear to human hearing.
The issue with that is that just about every other volume program calculates the percentage differently, causing Mixxc to show very different values. For example, I'm using ncmpcpp
for music and that allows controlling the sink input volume directly, and is always out of alignment. pavucontrol
seems to agree with ncmpcpp and not Mixxc.
I have found another Rust mixer project which has a couple of helper methods for calculating to/from a percentage which seem to line up with the other mixers. I believe you could grab these and stick them in to correct this:
https://github.com/jantap/rsmixer/blob/a35039adaaf9dcf5e27d939df58d83335f76dea3/src/util.rs#L3-L25
I've not managed to get anywhere with a PA client before now and I've been searching months for an example, so this has been a lifesaver. I hugely appreciate the amount of work put into creating this and I will definitely give the project a shout-out.
Hi, thanks for the interesting project!
I have issue building it on my Arch, here is what I tried:
git clone --depth 1 <repo>
cd mixxc
cargo build --release --features=Sass,Wayland
output:
Compiling gdk4-sys v0.7.2
Compiling gsk4-sys v0.7.3
Compiling gtk4-sys v0.7.3
Compiling gtk4-layer-shell-sys v0.1.2
The following warnings were emitted during compilation:
warning: `PKG_CONFIG_ALLOW_SYSTEM_CFLAGS="1" "pkg-config" "--libs" "--cflags" "gtk4-layer-shell-0" "gtk4-layer-shell-0 >= 1"` did not exit successfully: exit status: 1
error: failed to run custom build command for `gtk4-layer-shell-sys v0.1.2`
Caused by:
process didn't exit successfully: `/tmp/cargo-installBvtVwJ/release/build/gtk4-layer-shell-sys-3911a91337e99d03/build-script-build` (exit status: 1)
--- stdout
cargo:rerun-if-env-changed=GTK4_LAYER_SHELL_0_NO_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_PATH
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
cargo:warning=`PKG_CONFIG_ALLOW_SYSTEM_CFLAGS="1" "pkg-config" "--libs" "--cflags" "gtk4-layer-shell-0" "gtk4-layer-shell-0 >= 1"` did not exit successfully: exit status: 1
error: could not find system library 'gtk4-layer-shell-0' required by the 'gtk4-layer-shell-sys' crate
--- stderr
Package gtk4-layer-shell-0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk4-layer-shell-0.pc'
to the PKG_CONFIG_PATH environment variable
Package 'gtk4-layer-shell-0', required by 'virtual:world', not found
Package 'gtk4-layer-shell-0', required by 'virtual:world', not found
warning: build failed, waiting for other jobs to finish...
error: failed to compile `mixxc v0.1.5`, intermediate artifacts can be found at `/tmp/cargo-installBvtVwJ`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
Needed to sudo apt install libgtk-4-dev
Then installed with: cargo install mixxc --locked --features X11
Window pops up ok:
After some time it crashes, and I think if I change focus to another window it crashes instantly - here's the logs:
I'm not rust master but very experienced developer, so not afraid to get my hands dirty if required (might need a hand getting dev env set up ๐ )
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.