-
Notifications
You must be signed in to change notification settings - Fork 13
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
Avahi, shutdown and volume control #2
Comments
1: These warnings are coming from nodetunes. It makes use of some depreciated API when advertizing the server. This is nothing to worry about. 2: When hitting play on your phone is has to buffer to nodetunes and then notetunes pipes the stream to node_airtunes which then has to buffer the stream to the final AirPlay destination. So you get double the lag you would get when steaming directly to an AirPlay target. The playback on the iDevice starts as soon as it is done buffering to nodetunes but you will not hear the output until if finishes buffering to the final destination. There isn't much that can be done about this. 3: Custom GUI
Currently I am ignoring the volume events coming from the iDevice. At some point I was going to trap these events and use the iDevice volume as a global volume. I will start working on this soon. |
Great. Using URLs to control the things seems to be the best, since this way it can be implemented by a website, a client GUI program or an iOS app. I will do a deep-dive next days and get back to it. Adjusting the volume is tricky: I found another bug in ALACEncoder of node_airtunes and posted it here: |
Just wanted to add my thanks for this excellent hub, and echo an interest in having the master AirPlay volume act as a global volume control for all zones. I'm also considering a small homebridge plugin to map individual zones to HomeKit sliders (pretending each zone is a light bulb, ala https://www.npmjs.com/package/homebridge-marantz-volume). Any pointers on listing the zones the hub has found and their current volume levels, and controlling individual zone volumes from another node process? Perhaps via the web server? In my case both node processes (homebridge and node-airplayhub) run on the same device, but that might not always be the case. |
That is a great idea. The project already has some endpoints to handle volume control. The URL looks like this:
So '/setvol/bathroom/100' would give you full volume in the bathroom. I am using home-bridge to control my garage door and TVs around the house. I never thought about presenting my AirPlay zones as dimmers. When I get a chance I will work on a global volume control. |
Cool. I've looked into it and am getting bogged down in the (total lack of) homebridge plugin docs. I think the right approach is to make this a new-style dynamic platform, that discovers (via /zones) all the active zones and creates a lightbulb accessory for each of them. Question: does airplayhub auto discover new zones as they appear, or notice that zones that have gone offline? Or is zone discovery a one time thing? Also, noticed you have a hidden capability. Is there an interface for temporarily hiding a zone? |
First of all: THANK YOU SO MUCH for sharing this! Up and running on a Raspbian Pi 3 B, one of four cores is busy with < 30 % in average. Running quite stable with 3 target devices.
There are 3 issues left for me:
# node-airplayhub --config=/opt/node-airplayhub/config.json
*** WARNING *** The program 'nodejs' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs
*** WARNING *** The program 'nodejs' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see http://0pointer.de/avahi-compat?s=libdns_sd&e=nodejs&f=DNSServiceRegister
Do you get the same Warnings? Something to worry about...?
When Music is stopped for some while I cannot restart playback. I did not measure, if this happens after the very exact time. This problem seems to be on the node_airtunes side, since the playback on the iOS device works (song is "running" on iPhone), but there is no output on any target device. Did you notice similar things?
I would like to programm a GUI for the Raspi with following major functions:
By now there is no change on the target device's volume, if I change the iOS volume. Do you have any hint about...
=> where to catch the actual volume of the input stream (in order to adjust the output volume level)
=> how to modify the volume of the single output streams (I cannot remember for sure, if this worked at any point, anyhow, changig the "volume" or "enabled" values in the config file /opt/node-airplayhub/config.json does not affect the current playback. Changing these values on the webinterface (Port 8089) does affect the playback. Is there a safe way to interact with these values by a 2nd GUI in parallel?
Thank you!
The text was updated successfully, but these errors were encountered: