
Veromix - volume control / soundmenu
Source (link to git-repo or to original if based on someone elses unmodified work): Add the source-code for this project on opencode.net
Veromix is a mixer for the Pulseaudio sound server.
Features:
- Media player controls (aka nowplaying)
- per application voluem control (replay & record)
- global hotkeys
- can life in system tray
- switch sound card profiles (for ex. from regular to HDMI)
- control LADSPA effects (equalizer and other effects)
- keyboard navigation (use Tab- and Arrow-keys)
Quickstart:
- middle click on panel icon mutes the default output
- mouse wheel over panel icon increases/decreases volume
- drag and drop playback streams between different output devices
- right click context menu:
-- kill playback streams
-- set default output device
-- set per channel volume
-- switch sound card profiles
- assign hotkeys
- click the add icon (bottom-right) to add a new effect
(drag and drop playback stream to the effect sink)
More Info:
- Howto: http://www.omgubuntu.co.uk/2012/02/how-to-increase-volume-over-100-in-kde/
- YouTube: http://www.youtube.com/watch?v=fph8xqsJd_g
- Review: http://padoca.wordpress.com/2011/03/18/kmix-veromix-qml-and-other-stories/
- Review: http://techlaze.com/2011/08/best-plasma-widgets-kde/
FAQ:
- Disable KMix: Set "AutoStart=false" in "[Global]" section of .kde/share/config/kmixrc
Requirements:
- plasma-scriptengine-python
- python-xdg
- python-qt4-dbus
- pulseaudio
- swh-plugins / ladspa-swh-plugins (for equalizer and other effects)
- ladspa-sdk / ladspa (dynamically detect installed ladspa plugins)
Changelog: http://code.google.com/p/veromix-plasmoid/source/browse/Changelog
Packages:
- Debian: http://packages.debian.org/plasma-widget-veromix
- Arch: https://aur.archlinux.org/packages.php?ID=60883
- openSUSE: https://build.opensuse.org/package/show?package=plasmoid-veromix&project=KDE%3AExtra
Please report bugs/wishes here: http://code.google.com/p/veromix-plasmoid/issues/list
nik3nt3
10 years ago
http://code.google.com/p/veromix-plasmoid/issues/detail?id=17
Report
madsheytan
10 years ago
Report
Murz
10 years ago
Report
nik3nt3
10 years ago
@mpd:
Thanks for your debugging. I will fix that problem tomorrow..
@volume:
Quote:Which volume does your plasmoid change in stream? As I see in pactl output, each stream has per-channel volume and base volume.
I think that better to change base volume, it have one value always, don't depend on channel number.
Hmm I never realized that there is a base-volume, but the api says:
Quote:pa_volume_t pa_sink_info::base_volume
Some kind of "base" volume that refers to unamplified/unattenuated volume in the context of the output device.
As I understand it, one cannot change that value. I use the function:
Quote:pa_context_set_sink_volume_by_index
http://0pointer.de/lennart/projects/pulseaudio/doxygen/introspect_8h.html
@bugtracker:
yes I should definitely go for one..
/nik
Report
nik3nt3
10 years ago
your icon-theme should provide icons for:
audio-volume-high
audio-volume-muted
If your monochrome icon theme provides these icons, you will have monochrome-icons in the panel. If not you get the default oxygen-icons.
_
is kmix showing monochrom icons - i think the plasmoid uses the same icons as kmix
/nik
Report
madsheytan
10 years ago
Report
nik3nt3
10 years ago
Report
madsheytan
10 years ago
Report
nik3nt3
10 years ago
/nik
Report
Murz
10 years ago
When I change the volume in plasmoid, real stream volume is not changed if I change it in 6-channel stream (Inernal Audio Analog Surround 5.1), but if I change channels to 2 (Stereo), it change normally.
Which volume does change this plasmoid? Volume for each channel in strem or base stream volume?
Report
nik3nt3
10 years ago
sorry for that (until now I only knew that this is a problem for mono-microphones(e.g. 1 channel) ).
@pulse-audio as system-service: I never tried that.. will see what I can do about that..
/nik
Report
Murz
10 years ago
I think that better to change base volume, it have one value always, don't depend on channel number.
Example of output in my 5.1 channel:
Quote:$ pactl list
...
Sink #3
State: RUNNING
Name: alsa_output.pci-0000_00_14.2.analog-surround-51
Description: Internal Audio Analog Surround 5.1
Driver: module-alsa-card.c
Sample Specification: s16le 6ch 48000Hz
Channel Map: front-left,front-right,rear-left,rear-right,front-center,lfe
Owner Module: 1
Mute: yes
Volume: 0: 31% 1: 30% 2: 42% 3: 42% 4: 40% 5: 28%
0: -30.57 dB 1: -31.52 dB 2: -22.61 dB 3: -22.61 dB 4: -23.80 dB 5: -33.01 dB
balance -0.02
Base Volume: 63%
-12.00 dB
...
And I can change the base volume using values 0-65535:
Quote:$ pactl set-sink-volume 3 10000
If you try to detect number of channels and change the volume for each of it, it can give the problems that I describe here: http://bugs.kde.org/show_bug.cgi?id=254793 - if I set volume to 100% it breaks per-channel volume setup.
So, as I think, better is to change base volume and don't touch channel volumes.
pulseaudio as system service is better for me, because it can work without xorg, and I can control music via mpd before kde is loaded. And I can connect my notebook via wifi to 5.1 system without starting xorg session in main computer.
Report
Murz
10 years ago
I use pulseaudio as system service, and veromix don't show all of playback streams, screenshot is here: http://imagebin.ca/view/kyw3og.html
It isn't shows mpd (running as service) and python streams, but show vlc.
Maybe it shows only new channels that created after plasmoid is added?
Report
Murz
10 years ago
If I use pactl list, I see all this streams, but veromix show only some of them.
Report
nik3nt3
10 years ago
First kill the process called
"VeromixServiceMain.py"
Then start the service in a terminal:
Quote:
~/.kde/share/apps/plasma/plasmoids/veromix-plasmoid/dbus-service/VeromixServiceMain.py
then in another terminal:
Quote:
cd ~/.kde/share/apps/plasma/plasmoids/veromix-plasmoid/
plasmoidviewer .
do you get some messages?
Report
Murz
10 years ago
Report
Murz
10 years ago
Quote:$ ~/.kde/share/apps/plasma/plasmoids/veromix-plasmoid/dbus-service/VeromixServiceMain.py
main loop
Pulseaudio connection ready...
Traceback (most recent call last):
File "/home/murz/.kde/share/apps/plasma/plasmoids/veromix-plasmoid/dbus-service/Pa2dBus.py", line 78, in on_sink_input_info
self.dbus.sink_input_info( index, name, muted , volume , sink.propDict() )
File "/home/murz/.kde/share/apps/plasma/plasmoids/veromix-plasmoid/dbus-service/pulseaudio/PulseSink.py", line 248, in propDict
del adict["application.process.session_id"]
KeyError: 'application.process.session_id'
Quote:$ plasmoidviewer .
Bus::open: Can not get ibus-daemon's address.
IBusInputContext::createInputContext: no connection to ibus-daemon
plasmoidviewer(5776)/kdecore (services) KServiceFactory::findServiceByDesktopPath: "" not found
plasmoidviewer(5776)/libplasma Plasma::FrameSvg::resizeFrame: Invalid size QSizeF(0, 0)
plasmoidviewer(5776)/libplasma Plasma::FrameSvg::resizeFrame: Invalid size QSizeF(0, 0)
veromix icon installed
Outputting dbus-servie file
QGraphicsLinearLayout::removeAt: invalid index 0
Report
Murz
10 years ago
Report
Murz
10 years ago
Quote:$ ~/.kde/share/apps/plasma/plasmoids/veromix-plasmoid/dbus-service/VeromixServiceMain.py
main loop
Pulseaudio connection ready...
Quote:$ cd ~/.kde/share/apps/plasma/plasmoids/veromix-plasmoid/
murz@kit:~/.kde/share/apps/plasma/plasmoids/veromix-plasmoid$ plasmoidviewer .
Bus::open: Can not get ibus-daemon's address.
IBusInputContext::createInputContext: no connection to ibus-daemon
plasmoidviewer(5254)/kdecore (services) KServiceFactory::findServiceByDesktopPath: "" not found
plasmoidviewer(5254)/libplasma Plasma::FrameSvg::resizeFrame: Invalid size QSizeF(0, 0)
plasmoidviewer(5254)/libplasma Plasma::FrameSvg::resizeFrame: Invalid size QSizeF(0, 0)
veromix icon installed
Outputting dbus-servie file
QGraphicsLinearLayout::removeAt: invalid index 0
Couldn't find node center. Skipping rendering.
Couldn't find node center. Skipping rendering.
And after that I start mpd playback, and see in first terminal:
Quote:Traceback (most recent call last):
File "/home/murz/.kde/share/apps/plasma/plasmoids/veromix-plasmoid/dbus-service/Pa2dBus.py", line 78, in on_sink_input_info
self.dbus.sink_input_info( index, name, muted , volume , sink.propDict() )
File "/home/murz/.kde/share/apps/plasma/plasmoids/veromix-plasmoid/dbus-service/pulseaudio/PulseSink.py", line 248, in propDict
del adict["application.process.session_id"]
KeyError: 'application.process.session_id'
Hope it helps!
Report
Murz
10 years ago
Middle click works perfectly! But mouse whell don't want to work :(
KDE 4.5.2, Kubuntu Maverick.
And another issie is that when I add plasmoid to panel, at first time it added full size (not iconized) but after clicking on channel image, it converts to icon.
Report
Murz
10 years ago
But can you implement feature to mute/unmute channels (select which channel must mute in settings or mute all channels) via middle-click mouse on plasmod (when it is iconized in panel)?
And will be good to change volume of favorite channel via mouse whell on plasmoid icon! Did you plan something like this?
Report
nik3nt3
10 years ago
[Don't understand why it was not working the last time I tried it. Maybe a KDE 4.4 vs 4.5 difference or just my disability ]
Report
Murz
10 years ago
http://kde-look.org/content/show.php/Xineramoid?content=102446
http://kde-look.org/content/show.php/Stream+Player?content=132590
http://kde-look.org/content/show.php?content=12097
Report
Murz
10 years ago
Report
bigbrovar
10 years ago
Report