New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare for loosing gst mixers #665

Closed
adamcik opened this Issue Jan 24, 2014 · 3 comments

Comments

2 participants
@adamcik
Member

adamcik commented Jan 24, 2014

When the switch to GStremer 1.0 comes mixers are going away, to prep for this we should start abstracting out the mixer interface to something that extensions can provide. Initially we can provide mixers that simply wrap gst, but eventually some one needs to make ones that talk to pulse, alsa, ... directly.

@jodal jodal added this to the v0.20 - Audio and mixer cleanup milestone Jun 22, 2014

@jodal jodal self-assigned this Jun 22, 2014

@jodal

This comment has been minimized.

Member

jodal commented Jun 22, 2014

Imagined normal usage:

  1. Extensions install mixers: pip install mopidy-alsamixer
  2. The audio/mixer config value is used to select which mixer to use by the extension's ext_name, e.g. alsamixer.
  3. If audio/mixer isn't "software", the selected extension's mixer actor is started when Mopidy is started.
  4. A frontend requests volume up/down/mute from core.
  5. Core talks with the mixer actor instead of the audio actor.

I think it makes sense to have all mixers as external extensions. We already have the software mixer builtin which will be good enough for most users. Every additional mixer adds extra dependencies.

Tasks:

  • Make a new mixer API at mopidy.mixer, totally independent of GStreamer.
  • Make a Mopidy-ALSAMixer extension wrapping pyalsaaudio.
  • If audio/mixer isn't "software", we'll start the selected mixer when Mopidy starts.
  • Update core to use the new mixer actor.
  • Update the Mopidy-NAD extension to the new mixer API.
  • Open issues with all known mixer extensions:
    • Mopidy-Yamaha
    • Mopidy-Arcam

@jodal jodal referenced this issue Jun 22, 2014

Merged

New mixer API #760

@jodal

This comment has been minimized.

Member

jodal commented Jun 23, 2014

I've started on a Mopidy-ALSAMixer at https://github.com/mopidy/mopidy-alsamixer. It lacks some configurability of card/device/subdevice/control. Other than that, it should be quite good to go.

  • Make card/device/subdevice/control configurable in Mopidy-ALSAMixer
@jodal

This comment has been minimized.

Member

jodal commented Jul 16, 2014

Status:

  • PR #760 has been merged.
  • Mopidy-ALSAMixer is working, pending release after Mopidy 0.19 release.
  • Mopidy-NAD 2.0 is working, pending release after Mopidy 0.19 release.
  • Mopidy-Yamaha issue opened: knutz3n/mopidy-yamaha#1
  • Mopidy-Arcam issue opened: TooDizzy/mopidy-arcam#3

Closing.

@jodal jodal closed this Jul 16, 2014

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment