Skip to content

daveter9/mopidy-alsamixer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mopidy-ALSAMixer

Latest PyPI version Travis CI build status Test coverage

Mopidy extension for ALSA volume control.

Dependencies

  • A Linux system using ALSA for audio playback.
  • pyalsaaudio. Bindings for using the ALSA API from Python. The package is available as python-alsaaudio in Debian/Ubuntu.

Installation

Install by running:

pip install Mopidy-ALSAMixer

Or, if available, install the Debian/Ubuntu package from apt.mopidy.com.

Configuration

The default configuration will probably work for most use cases.

The following configuration values are available:

  • alsamixer/card: Which soundcard to use, if you have more than one. Numbered from 0 and up. 0 is the default.
  • alsamixer/control: Which ALSA control to use. Defaults to Master. Other typical values includes PCM. Run the command amixer scontrols to list available controls on your system.
  • alsamixer/min_volume and alsamixer/max_volume: Map the Mopidy volume control range to a different range. Values are in the range 0-100. Use this if the default range (0-100) is too wide, resulting in a small usable range for Mopidy's volume control. For example try min_volume = 30 and max_volume = 70 to map Mopidy's volume control to the middle of ALSA's volume range.
  • alsamixer/volume_scale: Either linear, cubic, or log. The cubic scale is the default as it is closer to how the human ear percieves volume, and matches the volume scale used in the alsamixer program.
  • alsamixer/device: select what device number you want to use. Numbered from 0 and up. 0 is the default.

Example alsamixer section from the Mopidy configuration file:

[alsamixer]
card = 1
control = PCM
min_volume = 0
max_volume = 100
volume_scale = cubic
device = 1

Project resources

Credits

Changelog

v1.1.1 (UNRELEASED)

  • Require Mopidy >= 2.0, as we from release 1.1.0 import gi.repository.GstAudio, which is incompatible with gobject which is used by Mopidy < 2.0.
  • Don't rely on all cards which use a hardware card index to be included in the list returned by alsaaudio.cards(). This can happen if an audio card is disabled, but still use up a "card index", for example when disabling the builtin audio card on a Raspberry Pi. (Fixes: #8)

v1.1.0 (2017-02-12)

  • Add alsamixer/min_volume and alsamixer/max_volume config values to make Mopidy-ALSAMixer's volume scale only use a part of the underlying ALSA volume scale. (PR: #9)
  • Add alsamixer/volume_scale to allow switching between linear, cubic, and log scales. The default value has been changed from linear to cubic, which is closer to how the human ear percieve the volume. (Fixes: #3, PR: #9)

v1.0.3 (2014-07-31)

  • Don't crash on epoll being interrupted by the machine suspending.

v1.0.2 (2014-07-27)

  • Handle mixer controls which does not support muting. (Fixes: #1)

v1.0.1 (2014-07-21)

  • Correctly require Mopidy 0.19 instead of 0.18.

v1.0.0 (2014-07-21)

  • Initial release.

About

Mopidy extension for ALSA volume control

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%