-
-
Notifications
You must be signed in to change notification settings - Fork 565
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
Pause / Stop / Next commands from Client? [Resolved -- Use the D-Bus Interface] #223
Comments
Thanks for your kind words! As regards the remote control idea, it has gone through a number of phases. Ultimately, it became clear – to me at least – that it would require some work in the Zeroconf / Bonjour area which could be implemented using Avahi, but not with Instead, the information needed to identify the source is exported in the metadata stream. Conceivably, therefore, one could write an app that received metadata from Shairport Sync and used it in conjunction with some Avahi services to locate the audio source and then send remote control commands to it. It may be that someone has already done this, BTW – if so, please forgive my ignorance. On a slightly more practical point, the effort that can be put into something like Shairport Sync is limited, and it still contains bugs, so it's probably better to concentrate on its core functions. That's my 2¢ anyway. |
Thanks for the clarification. I'm glad the app works and it makes things so much nicer for me without an Apple TV. I was mostly just checking in to see what the status was, not making a feature request. Thanks again for your efforts here and for sharing. |
I'm working on something like this (in node) for quite some time ;) (but I really don't have spare time lately) |
I'm closing this issue, if that's okay. Please feel free to reopen it if there are any developments. |
Does anyone have working example of this? |
Will it be possible to output the client name and the received RTSP headers? We could then use a simple bash script to lookup dacp ip and port via |
Thanks for the post. There's a D-Bus interface now in Shairport Sync that does most of this for you, including sending DACP commands to the player. And there's an MQTT interface in development. Also, if you you at the Shairport Sync metadata interface (see here for a reader), it will give you the DACP-ID and port number of a playing session. |
Thanks for the awesome piece of software! The problem with metadata-reader is that it outputs the |
No documentation yet, I'm afraid. But if you look at the sample bus commands in the documents folder and then if you look at the |
I just tried running one of the commands |
Thanks. There are a few things, and sorry there's no documentation yet. You must build Shairport Sync with the extra configuration flag |
So I rebuilt |
Great. If you could list the steps, from your experience, it would be very useful for me making up a guide -- sometime I forget something important because I've been using it for so long... |
For anyone who comes looking for this. I basically ran the following commands.
Then uncommented the line
Now I can use |
Super, thanks. I'm actually going to reopen this issue, make it easier for people to find. |
Glad I could contribute back. Cheers! |
This also fixes #5 |
Thanks! |
Would be nice to be able to use the dbus-interface on a non-systemd system. Is that possible? |
Haven't looked, TBH. What system are you thinking of? |
I'm using it on FreeBSD. But systemd isn't the issue, I misunderstood. The issue is that the dir it's installing the shairport-sync-dbus.conf file in doesn't exist:
Also, there's another issue in that the shairport-daemon runs as |
Let me have a look. |
So, it seems that the D-Bus installation must go into |
That doesn't seem right. I have:
and it seems to be working fine. |
Hmm -- Anyway, I was just checking on a FreeBSD system. Everything seems to work properly following the standard installation but adding
So, the |
Yes,
line to the |
Aagh -- sorry for being so dense; I just didn't read your suggested addition properly. I'll certainly add that in. It looks like the part of the script that defines the |
Thanks! The user issue is likely a separate one. I'm packaging shairport-sync via the FreeBSD port which doesn't currently create a user, although it could be made to do so fairly easily. But, it's a long story. My goal is to have obs-studio capture sound from shairport-sync. But obs-studio doesn't support sndio, only pulseaudio. The pulseaudio port/package currently doesn't create a user or have an init script, so I just run pulseaudio as my user (I could write a script, but just running it as myself is easier for now). So, I'm using shairport-sync to send data to a pulseaudio server running as my own user, which seemed to require that I run shairport-sync as my user as well (I forget the details here) rather than the default Right now this is all working because of:
It seems like even if I were using the standard installation you mention above, I would still have this issue, because I would still need to change the user in the (For what it's worth, the port/package allow users to run |
Interesting project. Does OBS Studio allow you to take audio from a Unix pipe, I wonder? I'm no D-Bus expert myself, but the following policy document would allow any user to run a Shairport Sync DBus server:
Not sure it's what you're looking for, TBH... |
I don't think OBS supports anything except PulseAudio. I will have to re-try and see what happens when shairport-sync is running as a different user than pulseaudio, I think that will help clarify the need. Are you saying that config file would replace the one that comes with shairport-sync or be one to add so that the default one can be used and then be overridden? |
Fair enough. Yes, the policy document above would completely replace the one that comes with shairport-sync. (I've found and fixed one or two errors with how Shairport Sync demonises and pushed them out in the development branch. They would manifest by e.g. |
Closing this inactive issue. Please open a new one if necessary. |
Hi, first, thanks for such an incredibly useful piece of software.
I'm hoping to use a remote control to pause / play / skip tracks using my Raspberry Pi (it's not always easy for me to get out a phone to do this). I read through the old issue on this topic, but couldn't follow what the ultimate result was. Are there command line controls for pausing / skipping tracks?
Thanks!
The text was updated successfully, but these errors were encountered: