[Plexamp/Linux] Pulseaudio support?


#1

Hello,

First of all thanks for Plexamp. having a minimalistic linux client + gapless playback really rocks.

As far as I can tell, currently Plexamp runs using mpd, configured to use ALSA primarily on linux. This means that managing its volume, and doing things like sending Plexamp to bluetooth, is unnecessarily hard.

mpd can be configured to use pulseaudio (see https://wiki.archlinux.org/index.php/Music_Player_Daemon#Configure_audio) but I've poked around Plexamp's config folder and I cannot find the mpd.conf file. I did find it at runtime in /tmp/ but that'll be overwritten at next restart I'd assume.

Is there a way you guys could add pulseaudio support in the future, or expose the mpd.conf file so us linux users can tweak it for our needs? I unfortunately cannot use Plexamp as my main player until I can easily manage its volume through pulse.

Also just generally if we could get some sort of public documentation for all the ways we can configure plexamp that'd be nice, as is the config.json file is a bit obscure and google searches don't give many results.

Many loves,
Thomas


#2

Thanks for the kind words! We gave PulseAudio a try, but the MPD driver for ALSA seemed more advanced, and it provided the lower latency we needed for the visualizers to work well, hence why we didn’t pursue the other driver.


#3

Thanks for the reply elan. That’s very understandable, and mpd is primarily designed to work with ALSA so it makes sense.

But would you at least consider exposing the mpd.conf in the config folder so we can mess around with it? Not being able to control volume easily & to send music to bluetooth is a big no-no, and it’s not like you guys need to figure out how to make it work on linux - just give us access to the configuration file and the linux community will figure it out themselves. Having higher latency for the visualizer is a tradeoff i’ll gladly make to get plexamp to use the same audio API as every single other program on my computer!

Thanks for your time, love the work you guys do.


#4

@“Tom’” said:
Not being able to control volume easily

You can use keybindings to control the “soft” volume of Plexamp already, in case you didn’t know.

In terms of a custom mpd.conf file, I think MPD already looks in a few places for an override? But I could be wrong.


#5

@elan said:
In terms of a custom mpd.conf file, I think MPD already looks in a few places for an override? But I could be wrong.

I have tried installing mpd on my system and modifying my own conf file (/etc/mpd.conf) but plexamp still picks its own configuration file. mpd uses whatever it’s given as argument as its config file and, as it stands, plexamp creates a folder in /tmp/ and generates a mpd.conf file there, before pointing mpd to it by passing the path to the file as argument to the mpd daemon.

One way this could be improved is by letting users define the path to the mpd.conf file in plexamp’s config.json for example, if that setting is exposed to you by whatever abstraction you’re using to run mpd that is.


#6

One way this could be improved is by letting users define the path to the mpd.conf file in plexamp’s config.json for example, if that setting is exposed to you by whatever abstraction you’re using to run mpd that is.

I’d also advocate for looking at a user’s environment variables. Perhaps something like, ENV['MPD_CONFIG_PATH'] or something?