Skip to content
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

Add metadata pipe support which is compatible with forked-daapd. #214

Closed
wants to merge 1 commit into from

Conversation

billsq
Copy link

@billsq billsq commented May 7, 2018

Use argument --metadata-pipe [/srv/music/librespot.metadata] to enable metadata pipe.
Recommend to use arguments --linear-volume --mixer pipe to properly send the volume.

@billsq billsq mentioned this pull request May 7, 2018
@sashahilton00
Copy link
Member

I'm hesitant to merge this, as we've entertained merging things like this in the past, but have usually stuck to keeping librespot as the core functionality for connecting to Spotify/creating a Connect device, particularly @plietar. This functionality would be better suited to the librespot daemon, though I appreciate that we haven't written that yet...

@plietar
Copy link
Contributor

plietar commented May 11, 2018

Yep, this way outside the scope for librespot, especially given how specific it is to one tool.

As I've mentioned before, I'm all for adding APIs that allow pulling that kind of stuff out, but not doing the actual I/O or hardcoding a specific format.

@plietar plietar closed this May 11, 2018
@sashahilton00
Copy link
Member

@billsq I'll try and remember to notify you once the daemon is written, which would be the appropriate place for this.

@MartB
Copy link

MartB commented May 26, 2018

@sashahilton00 drop a comment here when that happens, im interested in it.

@chimpy
Copy link

chimpy commented Mar 19, 2019

Such a shame this never happened. Providing proper metadata cleanly to forked-daapd would save time and mean the whole librespotd thing doesn't even need to happen because forked-daapd would cover it all anyway.

@Ulrar
Copy link

Ulrar commented Jul 16, 2020

Hi,

I know this was refused and the original patch doesn't apply to the current repo anymore, but since this PR seems to be referenced and talked about in various places I figured it'd be the best place to post a link to this updated patch for people looking to use this feature anyway, works like a charm.

@iVolt1
Copy link

iVolt1 commented Feb 14, 2023

Is there any way to up vote for this or a similar patch? I don't understand how it is considered a nitch uses case. I have been using librespot-java as spoticfy connect server for a few years instead of librespot because librespot-java can pipe music and metadata to owntone which can then pass to the airplay players around the house. It would be nice to see this patch added to the .50 dev branch.

Is suppose if there is an updated patch I could compile in, that would be great too.

@kingosticks
Copy link
Contributor

It sounds like you already have a solution.

For everyone else maintaining forks/hacks, what is wrong with the existing events functionality with a helper script/program to pull the track data? Your helper can write to a pipe, send an email, post to Twitter, turn your coffee machine on; whatever use-case you might have.

@michaelherger
Copy link
Contributor

For everyone else maintaining forks/hacks, what is wrong with the existing events functionality with a helper script/program to pull the track data?

My application is multiplatform, incl. Windows. It was easier to fork and expand the feature than to write a helper for Mac/Windows/Linux (ARM, x86_64).

@Ulrar
Copy link

Ulrar commented Feb 24, 2023

I haven't used it in a long time so I don't know the current status, but back then this was the only way to do it, short of writing your own application I suppose.
librespot with the above patch piped into forked-daapd (renamed owntone these days I believe) was a great easy-ish way to get a spotify connect to play to arbitrary combinations of chromecast, airplay and other connected speakers in sync

@kingosticks
Copy link
Contributor

If I was doing this, I'd write a small rust helper (and I'd re-use the existing saved librespot credentials, where available). I'd compile that along with librespot for all my platforms. But the choice and the functionality are there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants