mikebrady / shairport-sync-for-openwrt

This is an OpenWrt package for building and installing Shairport Sync
45 stars 22 forks source link

confusion with versions #5

Closed damiaan closed 10 years ago

damiaan commented 10 years ago

After building and installing the 2.2.1 version, I have

root@OpenWrt:~# opkg install shairport-sync_2.1.1_ar71xx.ipk Installing shairport-sync (2.1.1) to root... Configuring shairport-sync. root@OpenWrt:~# shairport-sync -V 2.1.0d0-openssl-Avahi-ALSA-soxr

notice the reported installed version is 2.1.0.

Am I mixing up things here? Am i somehow not installing the package from the file?

I would love to use the "-t" version of 2.1.1, but get

root@OpenWrt:~# shairport -t 2 shairport: illegal option -- t

many thanks for providing this package !

damiaan commented 10 years ago

oops, I see i was using the standard shairport command in the last line. What i meant was

root@OpenWrt:~# shairport-sync --timeout 5 shairport-sync: unrecognized option `--timeout' Segmentation fault

mikebrady commented 10 years ago

Thanks for the unrecognized option bug report! I fixed it. Option arguments are still not checked for properly, but at least is doesn't crash so easily.

I just released shairport-sync 2.1.2 which has bug fixes and some work in progress. I've also updated the OpenWrt package to point to 2.1.2. Let me know how it works out for you.

Apologies for the version confusion – I'm still trying to figure all that stuff out properly.

damiaan commented 10 years ago

Hi Mike,

Thanks a bunch for providing the update. I have compiled your new version 2.1.2 and it works flawlessly with "-t 0". I am especially impressed with the smoothness transition between sources, there are no glitches whatsoever. Before (using standard shairport, not any of yours versions) i had weird cracking sounds and something sounding like a feedback loop when switching sources.

The only remaining issue is that for some reason, on my system, the service does not start up from /etc/init.d. I quickly added a single line in /etc/rc.local... but this might be due to me tampering with the configuration.

thanks again for your work and help,

Damiaan

mikebrady commented 10 years ago

Thanks Damiaan. That's good to hear, and I'll close the issue as solved.

I'm curious about the init.d issue. If you turn on -v in the command line of the configuration, you might get some clues in the log file, via logread – maybe a device isn't ready or something... Here are the last few lines of my /etc/init.d/shairport-sync file for OpenWrt modified as suggested to turn on -v:

        #echo "Arguments: arglist: \"$arglist\", belist: \"$belist\""                                                            

        if [ "x$name" = "x" ] ; then                                                                                             
                shairport-sync -v -d $arglist $belist                                                                               
        else                                                                                                                     
                shairport-sync -v -d -a "$name" $arglist $belist                                                                    
        fi                                                                                                                       
}                                                                                                                                

start() {                                                                                                                        
        config_load 'shairport-sync'                                                                                             

#hmm -- only one copy of shairport-sync can be running.                                                                          
#so this is not quite right...                                                                                                   
        config_foreach handle_shairport_sync 'shairport-sync'                                                                    
}                                                                                                                                

stop() {                                                                                                                         
        shairport-sync -k                                                                                                        
}                                                                                                                                

You can see where the -v is inserted.

damiaan commented 10 years ago

Hi Mike, from logread I get daemon.emerg shairport-sync[1987]: could not bind any listen sockets!

The issue was that i needed to provide a port in /etc/config/shairport-sync. Maybe i tampered with the file. Otherwise, perhaps you could put a default value in the file so it works even if people do not select a "stanza"? The port number for now is the only option i have uncommented in the configuration file.

Apologies if all of this is explained somewhere, I should have read the documentation.