UltraSonic for Android (1.2.0.7 / 2013/07/20)

Discussion for the UltraSonic App for Android

Moderator: moderators

Re: Updated Android Client for ICS/JB

Postby archrival » Sun Feb 10, 2013 8:46 am

@dennislee wrote:Hi Archrival,

I love your mod for the Starred Albums/Songs feature but I'm also encountering the "receive incoming msg = resume play/Bluetooth media buttons" problem. After disabling it and rebooting it stops. I'm running a Samsung Note 1 unmodded and using Parrot Ziks as my bluetooth headset. Also, when I did have the media buttons turned on, the Ziks did not have their volume/track controls enabled (but I'm not sure how they're mapped in the first place, so it's not a big issue).


I'm not sure if you saw, but build 3.9.9.16 should solve your problem.
archrival
 
Posts: 173
Joined: Wed May 26, 2010 6:02 am

Re: Updated Android Client for ICS/JB

Postby archrival » Sun Feb 10, 2013 8:47 am

GJ51 wrote:I just testd. Same issue as I have with all other variants of the Android app on my Galaxy SIII on Jelly Bean.

The first tracks plays for about 10 - 30 seconds then once the first track completes downloading it immediately jumps to the second track.

I haven't had any of the apps handle the first track properly unde JB.

I am using mp3 > ogg transcoding.

I will test without transcoding later and update if the results are any different, but mp3 > ogg is ideal for mobil use on 3g and I would be willing to donate to anyone who can solve this issue.

Thanks for the hard work.


Please try 3.9.9.17 and let me know if it solves the problem. It may not work at all for you, but I'm hoping it does.
archrival
 
Posts: 173
Joined: Wed May 26, 2010 6:02 am

Re: Updated Android Client for ICS/JB

Postby archrival » Sun Feb 10, 2013 8:48 am

rubbersoul wrote:have you looked into the playback bug on first track at all? It's been around for some time now. If you play a song that is currently downloading it will stutter during playback once or twice. if you play an already downloaded song it doesn't seem to have a problem. I know you mentioned working on gapless playback, so maybe you'd be interested in this bug as well. It is a problem with both dsub and subsonic. The dsub guy took a stab at fixing it but to no avail. haven't seen a response from Sindre about it. :(


Try 3.9.9.17... :D
archrival
 
Posts: 173
Joined: Wed May 26, 2010 6:02 am

Re: Updated Android Client for ICS/JB (3.9.9.17 / 2013/02/10

Postby rubbersoul » Sun Feb 10, 2013 2:48 pm

wow... did not expect you to fix this so quick; you are amazing. i'm using musiccabinet right now so i can't try this on my server but it works flawlessly with the demo server. i had a personal bounty on this bug and you are the official squasher so how do i go about sending you some cash?

thank you!!!!!
rubbersoul
 
Posts: 127
Joined: Thu Aug 18, 2011 2:27 pm

Re: Updated Android Client for ICS/JB (3.9.9.17 / 2013/02/10

Postby archrival » Sun Feb 10, 2013 4:05 pm

There are still some issues to work out. Offline playback right now will actually cause the app to go off into a loop and never recover. I have to fix that. There was another issue I saw where the buffer only filled about 90% but the file was downloaded. I also want to stop playback when seeking in a track until you have come to a stop. It sounds weird when seeking right now.

I will also see how much effort it is to support 1.7.0 as a lowest API level. Basically the Starred Albums, Starred Songs, By Name and By Artist items on the main screen as well as the ability to star tracks and albums require 1.8.0. My first thought was to hide those items if your API level isn't high enough. That would obviously remove them for you, even if they work in Music Cabinet.

The other alternative is to show the items but catch an exception when they don't work and just display nothing when it fails. Probably will work the easiest for everyone. This will allow me to lower the required API level without having to add fallback code.

Sent from my HTC6435LVW using Tapatalk 2
archrival
 
Posts: 173
Joined: Wed May 26, 2010 6:02 am

Re: Updated Android Client for ICS/JB (3.9.9.17 / 2013/02/10

Postby rubbersoul » Sun Feb 10, 2013 4:45 pm

Well, if you would rather receive the bounty after everything is fully worked out that is fine with me. for now, i've set up another standard subsonic server on my windows machine (music cabinet is on my linux server), so once the offline playback is fixed I can use this app for clean playback until (if) music cabinet gets updated.
rubbersoul
 
Posts: 127
Joined: Thu Aug 18, 2011 2:27 pm

Re: Updated Android Client for ICS/JB (3.9.9.17 / 2013/02/10

Postby shadow.8 » Sun Feb 10, 2013 4:45 pm

Wow, thank you so much, this works fantastically! Can't wait to see support for Rest 1.7 for my musiccabinet server. :D
676 artists
2,348 albums
26,738 songs
276.51 GB (~ 1,993 hours)
User avatar
shadow.8
 
Posts: 110
Joined: Wed Sep 26, 2012 12:12 am

Re: Updated Android Client for ICS/JB (3.9.9.18 / 2013/02/10

Postby archrival » Sun Feb 10, 2013 5:52 pm

Minor release: 3.9.9.18

Lowered REST API requirement to 1.7.0. I installed Music Cabinet and the app behaved like I expected without any changes so I just lowered the requirement. So Music Cabinet will work now. I also Improved seeking within a track. I am not sure what happened last night, it was 3 AM and I was exhausted, but Offline playback is working fine for me this morning so I removed the notes about offline playback being broken. Try out offline playback as well as Music Cabinet and let me know how it is working out for you.
archrival
 
Posts: 173
Joined: Wed May 26, 2010 6:02 am

Re: Updated Android Client for ICS/JB (3.9.9.17 / 2013/02/10

Postby archrival » Sun Feb 10, 2013 5:59 pm

rubbersoul wrote:Well, if you would rather receive the bounty after everything is fully worked out that is fine with me. for now, i've set up another standard subsonic server on my windows machine (music cabinet is on my linux server), so once the offline playback is fixed I can use this app for clean playback until (if) music cabinet gets updated.


I'm not doing this for money, I am doing it for three reasons:

    1. I have been unsatisfied with the Android client for a while and want to improve it for my own use
    2. To dive head first into Android development
    3. The joy of helping others out and adding things they want

I figure anything I learn here will help me out in the future when starting a new project or looking for a new job. That being said, I'll gladly take any money you want to give me, but I also want the features to be as rock solid as possible before doing so. I'm not crazy. :wink:
archrival
 
Posts: 173
Joined: Wed May 26, 2010 6:02 am

Re: Updated Android Client for ICS/JB (3.9.9.18 / 2013/02/10

Postby rubbersoul » Sun Feb 10, 2013 6:11 pm

I am unable to get offline playback to work. I am also unable to play cached songs when "online." this was true for last two versions with or without music cabinet. The player just stops responding when I try to play a cached song, no error is given
rubbersoul
 
Posts: 127
Joined: Thu Aug 18, 2011 2:27 pm

Re: Updated Android Client for ICS/JB (3.9.9.18 / 2013/02/10

Postby archrival » Sun Feb 10, 2013 6:16 pm

Any chance you could provide a logcat? That sounds like what I was seeing last night but I couldn't repro this morning.

Sent from my cm_tenderloin using Tapatalk 2
archrival
 
Posts: 173
Joined: Wed May 26, 2010 6:02 am

Re: Updated Android Client for ICS/JB (3.9.9.18 / 2013/02/10

Postby psmorgan » Sun Feb 10, 2013 7:02 pm

Hi,

I am experiencing an app crash when clicking on the Library button.
Logcat: http://pastebin.com/uwerXeMr

Phone: Galaxy S 3 running Slimrom's 4.2.1 RC 2.
The Subsonic server is running on a Raspberry Pi.

This occurs with both the latest 3.9.9.18 and also the Subsonic Media Stream on Google Play.
It only seems to happen clicking the "Library" button, but I can use ones such as "Recently Added" to listen to music, etc.

Is there anything I can try to stop this happening?
psmorgan
 
Posts: 2
Joined: Sun Feb 10, 2013 4:54 pm

Re: Updated Android Client for ICS/JB (3.9.9.18 / 2013/02/10

Postby rubbersoul » Sun Feb 10, 2013 7:24 pm

Not sure I did this right :

--------- beginning of /dev/log/main
W/InputEventReceiver(19719): Attempted to finish an input event but the input event receiver has already been disposed.
D/dalvikvm(19719): GC_CONCURRENT freed 4032K, 52% free 4152K/8528K, paused 5ms+4ms, total 53ms
W/InputEventReceiver(19719): Attempted to finish an input event but the input event receiver has already been disposed.
W/InputEventReceiver(19719): Attempted to finish an input event but the input event receiver has already been disposed.
D/dalvikvm(19719): GC_CONCURRENT freed 238K, 42% free 4454K/7648K, paused 4ms+13ms, total 34ms
E/SpannableStringBuilder(19719): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
E/SpannableStringBuilder(19719): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): beginBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(19719): endBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): beginBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(19719): endBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextAfterCursor on inactive InputConnection
rubbersoul
 
Posts: 127
Joined: Thu Aug 18, 2011 2:27 pm

Re: Updated Android Client for ICS/JB (3.9.9.18 / 2013/02/10

Postby archrival » Sun Feb 10, 2013 7:54 pm

psmorgan wrote:Hi,

I am experiencing an app crash when clicking on the Library button.
Logcat: http://pastebin.com/uwerXeMr

Phone: Galaxy S 3 running Slimrom's 4.2.1 RC 2.
The Subsonic server is running on a Raspberry Pi.

This occurs with both the latest 3.9.9.18 and also the Subsonic Media Stream on Google Play.
It only seems to happen clicking the "Library" button, but I can use ones such as "Recently Added" to listen to music, etc.

Is there anything I can try to stop this happening?


I have a fix for the issue, but you wouldn't see any artists. For some reason the call is returning null. I added a null check so the app won't crash, but I'm not sure why it is getting null data back. I'll have that in the next release. What does your folder structure look like in the web app?
archrival
 
Posts: 173
Joined: Wed May 26, 2010 6:02 am

Re: Updated Android Client for ICS/JB (3.9.9.18 / 2013/02/10

Postby archrival » Sun Feb 10, 2013 7:58 pm

rubbersoul wrote:Not sure I did this right :

--------- beginning of /dev/log/main
W/InputEventReceiver(19719): Attempted to finish an input event but the input event receiver has already been disposed.
D/dalvikvm(19719): GC_CONCURRENT freed 4032K, 52% free 4152K/8528K, paused 5ms+4ms, total 53ms
W/InputEventReceiver(19719): Attempted to finish an input event but the input event receiver has already been disposed.
W/InputEventReceiver(19719): Attempted to finish an input event but the input event receiver has already been disposed.
D/dalvikvm(19719): GC_CONCURRENT freed 238K, 42% free 4454K/7648K, paused 4ms+13ms, total 34ms
E/SpannableStringBuilder(19719): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
E/SpannableStringBuilder(19719): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): beginBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(19719): endBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextAfterCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): beginBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(19719): endBatchEdit on inactive InputConnection
W/IInputConnectionWrapper(19719): getExtractedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextBeforeCursor on inactive InputConnection
W/IInputConnectionWrapper(19719): getSelectedText on inactive InputConnection
W/IInputConnectionWrapper(19719): getTextAfterCursor on inactive InputConnection


I don't see much of any value in that log. You can either use ADB or some application from the Play Store to capture the logcat. Make sure to close down the app completely. Kill it in whichever task manager is available to your phone and then relaunch, capture the logcat from app launch until freeze. I would recommending getting as much data as possible and putting it on pastebin like psmorgan did.
archrival
 
Posts: 173
Joined: Wed May 26, 2010 6:02 am

PreviousNext

Return to UltraSonic for Android

Who is online

Users browsing this forum: No registered users and 6 guests