You are not logged in.
This project was previously known as pulsemix.
Like many of my other projects, I've written this because I've been unhappy with the current offerings and I felt I could do better.
This was basically a 1 day hack to create a simple CLI pulseaudio controller. It's quite rudimentary, but it gets the job done. I know there's various scripts around to do this via pacmd, but I dislike parsing command output when volume control should be straightforward. I know about pamixer, but I think it's insane to use boost for option parsing when something like getopt exists, and I don't really care for the interface it provides. Despite that, pamixer gets a bunch of credit for making this as easy as it was to duct tape together. As of this posting, it's ~450 lines of C with no dependencies beyond pulse.
usage: ponymix [options] <command>...
Options:
-h, --help, display this help and exit
-s, --sink <name> control a sink other than the default
Commands:
list list available sinks
get-volume get volume for sink
set-volume VALUE set volume for sink
increase VALUE increase volume
decrease VALUE decrease volume
mute mute active sink
unmute unmute active sink
toggle toggle mute
set-sink SINKNAME set default sink
AUR: http://aur.archlinux.org/packages.php?ID=61976
git: https://github.com/falconindy/ponymix
Feature requests and bug reports welcome.
Last edited by falconindy (2012-08-16 04:05:28)
Offline
You seem to have put a link to cower in the package instead of to pulsemix, haha. Besides that this looks really great! is it possible to set the volume above 100% with this? If it could, I'm sold and I'd even install pulse again!
Offline
Offline
thanks, also like that it can get >100%.
found some problems though:
- "set-sink" doesn't work. it says "unknown action". seems like a check missing in string_to_verb()
- "list" only outputs one of my two sinks
- when I increase by n it actually increases by n-1 / when I decrease by n it actually decreases by n+1 . but that's a little nitpicking and not really a problem.
Offline
- "set-sink" doesn't work. it says "unknown action". seems like a check missing in string_to_verb()
Yep, spot on. Fixed.
- "list" only outputs one of my two sinks
Crappy linked list logic on my part. It should be fixed (and I really need to find a way to test this).
- when I increase by n it actually increases by n-1 / when I decrease by n it actually decreases by n+1 . but that's a little nitpicking and not really a problem.
Aww, my lazy rounding has been caught. It's less lazy now.
Thanks. In the meantime, I've also added a cap of 150% on volumes. Over that is probably not useful due to clipping. If you desperately want to go above this, set-volume is unbounded.
Offline
all fixed, thanks.
150% cap makes sense, pavucontrol also doesn't allow any higher.
Offline
Haven't checked, but did you mention this project on the PA mailing list? Seems like something that should be put on their website.
Allan-Volunteer on the (topic being discussed) mailn lists. You never get the people who matters attention on the forums.
jasonwryan-Installing Arch is a measure of your literacy. Maintaining Arch is a measure of your diligence. Contributing to Arch is a measure of your competence.
Griemak-Bleeding edge, not bleeding flat. Edge denotes falls will occur from time to time. Bring your own parachute.
Offline
YES! thank you so much. I was having so much trouble finding a script to do this. I just needed something light weight and fast to go directly to the pulse audio and get the current volume or modify it / toggle the mute. Thank you so much.
Offline
I can not change the volume of source 0. How can I achieve this? If I can modify the sink and source 1 and sink 0. Any ideas?
Fixed ;-)
i just to add -d device --source set-volume my-value
and that's it!
Last edited by ice (2017-02-11 06:21:48)
My Blog Archer
Telegram Group Arch Linux in Spanish.
Telegram Group LinuxerOS GNU/Linux in Spanish.
Offline