SoongNoonien / plattenalbum

Connect to your music
GNU General Public License v3.0
181 stars 26 forks source link

Missing output chooser in new versions #121

Closed Plamper closed 4 months ago

Plamper commented 5 months ago

In earlier versions, there was an output chooser, which appears to be missing in newer versions, is this a bug or just not implemented after the libadwaita port? I think such a basic feature should be included, for example to switch between headphones and external speakers. image Old menu image New menu

SoongNoonien commented 5 months ago

In earlier versions, there was an output chooser, which appears to be missing in newer versions, is this a bug or just not implemented after the libadwaita port?

I didn't reimplement it on purpose while porting.

I think such a basic feature should be included, for example to switch between headphones and external speakers.

I don't think so. Most modern systems have a sound sever like pulseaudio or pipewire, these are already capable of switching the output.

rien333 commented 5 months ago

I think such a basic feature should be included, for example to switch between headphones and external speakers.

You should do that within the UI of gnome shell, not in an external application.

To be fair, determining what application outputs to what audio device is difficult to configure through a GUI in Gnome, but that should be coming. For now, you could just use pulsemixer (TUI program), pipewire scripting, or whatever.

Plamper commented 5 months ago

I can think of two use cases for such a switcher:

  1. External Speakers over snapcast, shoutcast, etc., where you don't want your pc's audio such as notifications cast to too, but still using headphones while at your pc.
  2. Switching between bitperfect audio via alsa or pipewire/pulse when you want non-exclusive audio (pipewire and pulse do not provide bitperfect playback AFAIK).

I see your point that for a simple setup with only one output the user shouldn't be presented a chooser, but if multiple outputs are configured in mpd.conf, I believe it should be possible to choose.

rien333 commented 5 months ago

External Speakers over snapcast, shoutcast, etc., where you don't want your pc's audio such as notifications cast to too, but still using headphones while at your pc.

I don't think the disagreement has to do with whether its theoretically useful to be able to select which audio device an application routes its audio to.

This can indeed be useful, though perhaps not very often so.

What I don't think is particularity necessary is being able to control all of this from plattenalbum's UI. This should ideally be configured through Gnome Shell (not yet possible, IIRC), or through some kind of UI for your preferred audio backend.

where you don't want your pc's audio such as notifications cast to too,

Pretty sure Gnome already mutes system/notification sounds if I'm streaming music to a networked audio device.

Also note that your points (1) and (2) are about different things; the second is about audio backends (should plattenalbum use pulseaudio, alsa, or pipewire?), the first about audio devices (should only plattenalbum play through my headphones?)

I know some music apps that let you select an audio backend, but I'm not entirely sure if that is really so important these days. One can already use pulse and alsa simultaneously (or their pipewire implementations, or whatever), if that's what you mean by "non-exclusive audio". And as you yourself state, I'm not sure if bitperfect audio is only available to alsa users these days.

Googling around shows plenty of people that have bitperfect audio playback using pipewire + alsa. In fact, since pipewire more or less manages alsa these days, I can see it becoming the only required user-facing audio backend.

In the end, there are probably very little situations that pipewire can't handle, making "switching to pulse/alsa" unneeded functionality for most, if not all, users.