cjd / lyricue-android

Android interface for Lyricue
www.lyricue.org
9 stars 5 forks source link

Display autodiscover? #1

Open jerivas opened 11 years ago

jerivas commented 11 years ago

Hello Chris! I saw that recently a display autodiscover feature was added to Lyricue Remote. How does this work?

cjd commented 10 years ago

Oops - forgot to reply to this email :P It works via MDNS-SD (also known as avahi or rendezvous) If you want to see what is being broadcast try installing avahi-discover and have a browse through the services shown there

On 7 September 2013 04:22, Eduardo Rivas notifications@github.com wrote:

Hello Chris! I saw that recently a display autodiscover feature was added to Lyricue Remote. How does this work?

— Reply to this email directly or view it on GitHubhttps://github.com/cjd/lyricue-android/issues/1 .

jerivas commented 10 years ago

Thank you! I'll check it out soon.

jerivas commented 10 years ago

Sorry, I haven't been able to get this working :/ This is what I've done so far:

  1. Start Lyricue in my PC, start the display
  2. Connect my phone to the same wi-fi network as the PC
  3. Start the Lyricue app in the phone
  4. The Lyricue app in the phone asks for a profile, I select "Default"

At this point, the Lyricue app shows "Loading Preferences.." for a little while and then goes into demo mode. Here is a screenshot of the running Avahi services:

avahi discovery

cjd commented 10 years ago

It seems that some versions of android don't handle multicast well (failed on every stock samsung device I've seen) I'm in the process of releasing a new version which allows you to give it a hostname/IP address instead so it doesn't worry about the auto-discover stuff. It also fixes a number of other bugs (including being able to handle IPv6, rotation, tablets and more) It should be available shortly as version 3.4 Please give it a test and let me know how it goes

On 11 May 2014 23:57, Eduardo Rivas notifications@github.com wrote:

Sorry, I haven't been able to get this working :/ This is what I've done so far:

  1. Start Lyricue in my PC, start the display
  2. Connect my phone to the same wi-fi network as the PC
  3. Start the Lyricue app in the phone
  4. The Lyricue app in the phone asks for a profile, I select "Default"

At this point, the Lyricue app shows "Loading Preferences.." for a little while and then goes into demo mode. Here is a screenshot of the running Avahi services:

[image: avahi discovery]https://cloud.githubusercontent.com/assets/2391102/2938573/094a63b2-d914-11e3-982c-dd2580a6dbb5.png

— Reply to this email directly or view it on GitHubhttps://github.com/cjd/lyricue-android/issues/1#issuecomment-42771176 .

jerivas commented 10 years ago

Thanks a lot. I'll make sure to try it out.

jerivas commented 10 years ago

Hey Chris, I just received the update from the Play Store. Sadly, the application crashes whenever I try to move from the Playlist pane to the Bible or Song list panes. I'm still unable to connect to the Display server in the PC. I'm on a Samsung Galaxy S4 mini, so maybe that's the problem.

cjd commented 10 years ago

Whoops - looks like the release build didn't link to the search widget stuff properly. I've uploaded a fixed version which has worked so far for me

On 13 May 2014 02:21, Eduardo Rivas notifications@github.com wrote:

Hey Chris, I just received the update from the Play Store. Sadly, the application crashes whenever I try to move from the Playlist pane to the Bible or Song list panes. I'm still unable to connect to the Display server in the PC. I'm on a Samsung Galaxy S4 mini, so maybe that's the problem.

— Reply to this email directly or view it on GitHubhttps://github.com/cjd/lyricue-android/issues/1#issuecomment-42853743 .

jerivas commented 10 years ago

Thanks a lot! Just got the update and now I can go into Demo mode and try out all the panes.

I gave Lyricue Remote the local IP address of my Lyricue Server (with port) according to Avahi Discovery to force the host. However, when I open Lyricue Remote, I get a blank screen for a few seconds and then it crashes.

cjd commented 10 years ago

Which version of lyricue are you running? Can you please grab the ~/.local/share/lyricue/server-*.log files to see if the queries are making it to it?

Thanks, Chris

On 14 May 2014 00:46, Eduardo Rivas notifications@github.com wrote:

Thanks a lot! Just got the update and now I can go into Demo mode and try out all the panes.

I gave Lyricue Remote the local IP address of my Lyricue Server (with port) according to Avahi Discovery to force the host. However, when I open Lyricue Remote, I get a blank screen for a few seconds and then it crashes.

— Reply to this email directly or view it on GitHubhttps://github.com/cjd/lyricue-android/issues/1#issuecomment-42964356 .

jerivas commented 10 years ago

Here you go: http://pastebin.com/25Qdwweq.

Running lyricue -v outputs: Lyricue Interface version 3.6.6-1

cjd commented 10 years ago

By any chance do you have adb installed? If so, would you be willing to test a debug version of lyricueremote?

On 14 May 2014 12:05, Eduardo Rivas notifications@github.com wrote:

Here you go: http://pastebin.com/25Qdwweq.

Running lyricue -v outputs: Lyricue Interface version 3.6.6-1

— Reply to this email directly or view it on GitHubhttps://github.com/cjd/lyricue-android/issues/1#issuecomment-43035051 .

jerivas commented 10 years ago

I just installed ADB, and enabled USB Debugging in my S4 mini. Then I ran adb devices:

List of devices attached 0af82751 offline

So I assume it's working, right? If that's all I need, I'll gladly give the dev version of Lyricue Remote a try.

jerivas commented 10 years ago

Ooops, sorry. I just read online that the device should not appear as offline. I tried rebooting the phone with USB debug turned on, but it still reports as offline.

cjd commented 10 years ago

When you connect the phone a dialog should popup on the phone asking if you authorise the connection (and you can tell it to remember that) Once you accept it the device should show up as 'online' in adb devices output

On 15 May 2014 11:40, Eduardo Rivas notifications@github.com wrote:

Ooops, sorry. I just read online that the device should not appear as offline. I tried rebooting the phone with USB debug turned on, but it still reports as offline.

— Reply to this email directly or view it on GitHubhttps://github.com/cjd/lyricue-android/issues/1#issuecomment-43160408 .

jerivas commented 10 years ago

I wasn't getting any dialog because I had and old version of ADB. I updated and everything is working now. For future reference to anyone reading, you can get the latest ADB without the whole SDK in Ubuntu with:

sudo add-apt-repository ppa:nilarimogard/webupd8 sudo apt-get update sudo apt-get install android-tools-adb android-tools-fastboot

Source: http://www.webupd8.org/2012/08/install-adb-and-fastboot-android-tools.html

jerivas commented 10 years ago

Hey Chris, let me know when you have the development version of Lyricue Remote ready for my to try.

cjd commented 10 years ago

I'm just in the middle of a bit of a rewrite (making image loading async) so building is failing at the moment. While I sort that out - could you try collecting a logcat output when the problem occurs? To do this connect to the device via USB and run '"adb logcat > logcat.out' Then reproduce the problem and upload the created logcat.out file Hopefully that will contain enough info on why it is failing (my guess is the notification stuff since that has given me problems already)

cjd commented 10 years ago

I just released a newer version with a bunch of fixes and improvements. Can you please give that a test - and if it fails grab the logcat output so I can have a look.

jerivas commented 10 years ago

Thank you, I have installed the update and Lyricue Remote isn't crashing anymore on start. For this test, I deleted the application data and launched Lyricue Remote. It prompted me to select a profile, I selected Default. "Loading Preferences..." appears for a while, and then I'm in! However, all panes are empty, no Playlists to be selected, no songs, no Bibles, etc.

Here is the log output. I did adb logcat -v long Lyricue:V *:E > log.txt

cjd commented 10 years ago

Thanks for that - sadly the tag used for that version was more than just 'Lyricue' (it used separate tags for different fragments) I've changed it now so that everything is logged with Lyricue for the tag and attached a debug-compiled version. Can you give this one a test and re-grab the logs?

On 21 May 2014 00:09, Eduardo Rivas notifications@github.com wrote:

Thank you, I have installed the update and Lyricue Remote isn't crashing anymore on start. For this test, I deleted the application data and launched Lyricue Remote. It prompted me to select a profile, I selected Default. "Loading Preferences..." appears for a while, and then I'm in! However, all panes are empty, no Playlists to be selected, no songs, no Bibles, etc.

Here is the log output http://pastebin.com/xjeSnm70. I did adb logcat -v long Lyricue:V *:E > log.txt

— Reply to this email directly or view it on GitHubhttps://github.com/cjd/lyricue-android/issues/1#issuecomment-43630141 .

jerivas commented 10 years ago

Did your last message contain an attachment? It seems it didn't go through github.

jerivas commented 10 years ago

Thanks a lot! I've installed the debug version now. I reproduced my last test, it starts at line 2747. I got the same results (no content in the panels). I then closed the app normally and opened it again (line 4702); this time it didn't ask for the profile, it only showed "Loading preferences" for several seconds and then crashed (line 6384). Hope it helps! http://pastebin.com/ReDb9fx1

cjd commented 10 years ago

In the logs I see messages such as "Couldn't get I/O socket for the connection to: LenovoG780" It could be that your local dns/dhcp server is not responding with IP addresses for local hostnames I've had this problem at my church where the dhcp server wasn't updating the dns tables with suitable entries. Can you try going to the settings section and specifying the IP address of the lyricue_display to override "LenovoG780"? That allowed it to work on my system so may help in your case as well.

On 23 May 2014 00:13, Eduardo Rivas notifications@github.com wrote:

Thanks a lot! I've installed the debug version now. I reproduced my last test, it starts at line 2747. I got the same results (no content in the panels). I then closed the app normally and opened it again (line 4702); this time it didn't ask for the profile, it only showed "Loading preferences" for several seconds and then crashed (line 6384). Hope it helps! http://pastebin.com/ReDb9fx1

— Reply to this email directly or view it on GitHubhttps://github.com/cjd/lyricue-android/issues/1#issuecomment-43893295 .

jerivas commented 10 years ago

Ha! There it is. Manually setting the IP address fixes the issue. I've been trying at home so far, so hopefully autodiscovery will work at church; but if it doesn't at least I know what to do now.

It's weird, though, because the logs show that Lyricue Remote is picking up the IP address (192.168.0.102 in my LAN) at some point. Anyways, thanks a lot for your help, and count me in for any other testing you wish to do :)

cjd commented 10 years ago

The auto discovery bit finds hosts via MDNS (multi-cast dns) which replies with IP addresses. But then Lyricue Remote asks one of the hosts that answer for a list of known hosts (so it can find hosts with the desired profile) The problem is that this list of hosts is by hostname - not IP - and so if name lookups are not working fully it can fail. I'm trying to make some changes the lyricue_display so it determines the external IP and uses that instead to identify itself but still working out the best way to do that. Once I figure that out - this issue should go away ;)

On 23 May 2014 14:09, Eduardo Rivas notifications@github.com wrote:

Ha! There it is. Manually setting the IP address fixes the issue. I've been trying at home so far, so hopefully autodiscovery will work at church; but if it doesn't at least I know what to do now.

It's weird, though, because the logs show that Lyricue Remote is picking up the IP address (192.168.0.102 in my LAN) at some point. Anyways, thanks a lot for your help, and count me in for any other testing you wish to do :)

— Reply to this email directly or view it on GitHubhttps://github.com/cjd/lyricue-android/issues/1#issuecomment-43969580 .