mirror of
https://github.com/aome510/spotify-player.git
synced 2026-04-26 09:25:49 +03:00
[GH-ISSUE #444] Add option to specify audio playback device #245
Labels
No labels
bug
documentation
enhancement
good first issue
help wanted
pull-request
question
third-party
third-party
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/spotify-player#245
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @aurismat on GitHub (May 3, 2024).
Original GitHub issue: https://github.com/aome510/spotify-player/issues/444
Is your feature already implemented in the latest
master?Not that I am aware of; please correct me if that's the case.
Is your feature request related to a problem? Please describe.
I've been using
spotify-playerfor a couple weeks now and it has been excellent for daily use, except for one issue that I have run into on my Windows system - I cannot specify the playback device to output to my virtual audio cables(which I use for leveling audio for specific app groups: music, games, other programs etc).librespot, which from what I understandspotify-playerdepends on as a library, has this option built-in (-dflag), and I think it'd be useful to implement something to that extent tospotify-player.I have attempted to specify the audio device in the config file via
device = "Playback device's name", but it had no effect(from what I glanced over the source, only seems to parse options listed in docs/config.md#device-configurations?)Describe the solution you'd like
I'd like to see one of these implementations added:
librespot, a-dflag) to override the playback device from the OS default;[device]block to specify the playback device, e.g.device = "Different playback audio device";Describe alternatives you've considered
My current botched solution to this is to launch
librespotin the background with my specified audio device and then pointspotify-player's config to that, and killlibrespotwhen I'm done withspotify_playerbut IMO that is not exactly an elegant solution whenspotify-playeralready haslibrespotas a library, hence me creating this FR. Below is the script that I use to do this, it is a Powershell script(and a very crude one), but it does the job for my use case.Additional context
I am not familiar with Rust myself, and I am aware that Windows support is probably low-priority, but I hope this FR will be considered. Thank you for your great work on this project!
@paintthinnerrage commented on GitHub (May 4, 2024):
This can be done on windows. See: https://winaero.com/audio-output-device-apps-individually-windows-10/
@aurismat commented on GitHub (May 4, 2024):
Normally, under Windows it can be done and I'm well aware of it; except it doesn't do anything at all in the case of
spotify-player, and I have verified this with OBS by capturing that specific virtual audio cable's output between whatspotify-playerdoes on it's own vs what is supposed to happen by utilizinglibrespotand pointing it to that audio device.Current behaviour, where

spotify-playerdoes not remap to the virtual cableWhat it should be doing, portrayed by having a

librespotopen and pointed to VB-Audio's Cable C Input. Note that Windows 10's audio device preferences has no effect over this.@instinctualjealousy commented on GitHub (Feb 10, 2025):
https://github.com/hrkfdn/ncspot/issues/925 spotify_player needs a backend-agnostic option to specify "backend_device" in its expected format like ncspot has. The name format of your audio devices can and will change depending on the backend you are using, but it's not hard to figure out rodio's format.
getcommand #683getcommand #1617