Jump to content

EmBook - Proper support for AudioBooks


Inrego

Recommended Posts

Inrego

Still having log in issues. I've tried the app on 3 android devices (LG G5, LG G3, and Galaxy S3) and each one crashes on the server select. I do have 2 options for servers, one is my active server, the other is the first one I used to test. Thought it was deleted but I guess not. Selecting either server cause the app to crash.

An update will be rolling out soon. When the crash usually happens, you should now instead get a popup where you can copy the error message. Please copy it and send it to me, so I can get an idea of what's going wrong.

Link to comment
Share on other sites

Jack Burton

An update will be rolling out soon. When the crash usually happens, you should now instead get a popup where you can copy the error message. Please copy it and send it to me, so I can get an idea of what's going wrong.

Great, I'll keep an eye out for it. As is right now when it crashes it says Embook keeps stopping, and I get the option to close the app or send feedback, would sending feedback help?

Link to comment
Share on other sites

Inrego

Great, I'll keep an eye out for it. As is right now when it crashes it says Embook keeps stopping, and I get the option to close the app or send feedback, would sending feedback help?

Possibly! It couldn't hurt to try :)

Link to comment
Share on other sites

Inrego

Done! Checked option to include logs

I cannot see that I got anything.. Try with version 1.0.6.0 and paste the error to me here or e-mail or PM.

Link to comment
Share on other sites

Jack Burton

I cannot see that I got anything.. Try with version 1.0.6.0 and paste the error to me here or e-mail or PM.

Same thing with the new version. I don't get an error to pass on though, it just says the app stopped

Link to comment
Share on other sites

Inrego

Same thing with the new version. I don't get an error to pass on though, it just says the app stopped

Hey, sorry I had a mistake on my end regarding error handling. I just pushed 1.0.7.2 to fix it, which should be available soon.

Link to comment
Share on other sites

Jack Burton

Hey, sorry I had a mistake on my end regarding error handling. I just pushed 1.0.7.2 to fix it, which should be available soon.

Great, I'll keep an eye out for the update, reproduce the issue, and send in the feedback report/post the error here

Link to comment
Share on other sites

Sireone

Hey, sorry I had a mistake on my end regarding error handling. I just pushed 1.0.7.2 to fix it, which should be available soon.

Mine now crashes everytime on launch with that new version.

 

Sent from my Pixel using Tapatalk

Link to comment
Share on other sites

Inrego

Mine now crashes everytime on launch with that new version.

 

Sent from my Pixel using Tapatalk

When you launch app, or when you press play?

Emby has pushed a server update which broke my plugin. I've just uploaded new version of server plugin which should work again.

Link to comment
Share on other sites

Sireone

When you launch app, or when you press play?

Emby has pushed a server update which broke my plugin. I've just uploaded new version of server plugin which should work again.

Sorry, this is when I select Play. I'll try the new server plugin and try again. Btw, will this be added to the plugins catalog?

 

Sent from my Pixel using Tapatalk

Link to comment
Share on other sites

Inrego

Sorry, this is when I select Play. I'll try the new server plugin and try again. Btw, will this be added to the plugins catalog?

 

Sent from my Pixel using Tapatalk

Yes it will. But it has to be released a for a while just on the forums before it can be added to the catalog. Source

Link to comment
Share on other sites

I am also working out .net core compatibility so it is probably a good time to pause new plugin additions so that going forward every new one will be ensured to be dual-compatible.

Link to comment
Share on other sites

Inrego

I am also working out .net core compatibility so it is probably a good time to pause new plugin additions so that going forward every new one will be ensured to be dual-compatible.

Are you going for .net core 2.0? It hit stable recently, and seems pretty awesome (especially in mixed environments, since you can still reference old .NET desktop assemblies)

 

EDIT: Also now that you're around. Recent server update changed LibraryManager.UpdatePeople and UderDataManager.SaveUserData from returning Task to void. Any reason for such a breaking change? Can we expect similar breaking changes in the future? And if so, is there anywhere I can keep an eye on to stay on top of it?

Edited by Inrego
Link to comment
Share on other sites

yes but plugins are going to likely need to target .net standard 1.3 for triple compatibility with .net core, .net framework, and mono.

Link to comment
Share on other sites

EDIT: Also now that you're around. Recent server update changed LibraryManager.UpdatePeople and UderDataManager.SaveUserData from returning Task to void. Any reason for such a breaking change? Can we expect similar breaking changes in the future? And if so, is there anywhere I can keep an eye on to stay on top of it?

 

They were async signatures around sync methods. It was sort of a placeholder from long ago but async never ended up being needed. Since we are already making big changes anyway for .net core, this is the time for me to go and look tidying up things along those lines.

Link to comment
Share on other sites

Jack Burton

Ok so it still crashes when I select the server but there's an error code now:

 

An error occurred on page ServersList, at caller member Handle_ItemTapped

System.NullReferenceException: Object reference not set to an instance of an object

at EmBook.Views.ServersList+<Handle_ItemTapped>d__6.MoveNext () [0x00074] in <52f6912492194ca39c912b72ac093491>:0

Link to comment
Share on other sites

Inrego

Ok so it still crashes when I select the server but there's an error code now:

 

An error occurred on page ServersList, at caller member Handle_ItemTapped

System.NullReferenceException: Object reference not set to an instance of an object

at EmBook.Views.ServersList+<Handle_ItemTapped>d__6.MoveNext () [0x00074] in <52f6912492194ca39c912b72ac093491>:0

Thank you. I'm sorry this is so tedious, but I've just pushed a new update (1.0.8.3) which will include some more info that I need in that error message.

Will you repeat again once this version goes live?

Link to comment
Share on other sites

Jack Burton

Thank you. I'm sorry this is so tedious, but I've just pushed a new update (1.0.8.3) which will include some more info that I need in that error message.

Will you repeat again once this version goes live?

No problem

 

Here's the new error

 

An error occurred on page ServersList, at caller member Handle_ItemTapped

System.NullReferenceException: Object reference not set to an instance of an object

at EmBook.Views.ServersList+<Handle_ItemTapped>d__8.MoveNext () [0x0009d] in <b5144830df744a6b9be421c4aa75ccae>:0

Edited by Jack Burton
Link to comment
Share on other sites

The biggest issue I'm seeing so far is the resume capabilities.  When the app is idle for while (10 mins +) and you try to play/resume a chapter, it tends to either start that chapter from the beginning or don't play at all (mostly the latter).  This all can be due to the fact that it looses connection to the server and requires that you first kill the app, then step through the connection process (I've outlined in a previous post), and re-download a new cache file.  One thing that may probably help is to have the app save the play state (chapter, minutes, seconds) immediately on pause/stop.  It should at least know where it left off as it caches x seconds of a chapter before it starts playing.  Then when the user hits the play button (or starts the app from the beginning), it should first check for a connection to the Emby server (can present a small dialog box during this process), then check the play state from the last cache file that exists, download additional cache data if needed and finally play where it left off.  Not sure if this is all possible, but throwing out suggestions here.  Hope this helps.

Link to comment
Share on other sites

The biggest issue I'm seeing so far is the resume capabilities.  When the app is idle for while (10 mins +) and you try to play/resume a chapter, it tends to either start that chapter from the beginning or don't play at all (mostly the latter).  This all can be due to the fact that it looses connection to the server and requires that you first kill the app, then step through the connection process (I've outlined in a previous post), and re-download a new cache file.  One thing that may probably help is to have the app save the play state (chapter, minutes, seconds) immediately on pause/stop.  It should at least know where it left off as it caches x seconds of a chapter before it starts playing.  Then when the user hits the play button (or starts the app from the beginning), it should first check for a connection to the Emby server (can present a small dialog box during this process), then check the play state from the last cache file that exists, download additional cache data if needed and finally play where it left off.  Not sure if this is all possible, but throwing out suggestions here.  Hope this helps.

 

I am partly experiencing these problems myself, too. I do have a question, though: When you resume and it starts the chapter from beginning - do you resume from the media notification, or press play from within the app?

 

EDIT: Also, I would like to say that many of these problems with probably be solved once offline support is properly implemented.

Another thing - I send current location to server every 10 seconds of playback, and whenever the audio stops/pauses. However, I am seeing some issues with this when the phone is playing from locked state for a while. It's something I will dig further into. However, it's not easy/fast to fix I think, because it usually only happens for me when I play for more than 15 minutes at a time while the phone is unlocked. I also fear the behavior may be different in a debug environment. I am considering that it may be related to doze mode.

Edited by Inrego
Link to comment
Share on other sites

I never try to play/resume from the notification interface as it never works properly, not even with the Emby notification. I'm thinking this may purely have to do with server connection. Offline mode might just do the trick.

 

Sent from my Pixel using Tapatalk

Link to comment
Share on other sites

I never try to play/resume from the notification interface as it never works properly, not even with the Emby notification. I'm thinking this may purely have to do with server connection. Offline mode might just do the trick.

 

Sent from my Pixel using Tapatalk

You are right that the notification doesn't really work properly. I am currently using a framework that works across all the platforms to play media and show notification. But at some point, I will probably rework that whole thing on Android so I can work out the kinks. First priority though, is stability in other usage.

Link to comment
Share on other sites

mediacowboy

Loving this app with one down fall. It has been stated before but I'll pipe in a well. The 10-15 minute window is annoying. Even more so when trying to drive. What would it take to make that go away. I'm driving back home from vacation and constantly having g to unlock my phone and make sure the app is still running. I say still running because if. Y phone is locked for a long time and it stops playing. I have to unlock my phone and relaunch the app.

Link to comment
Share on other sites

In latest version of server beta, login process has been broken. This results in a login popup coming up every time you open the app. I am investigating, and have found the root cause. Will hopefully release a fix tonight.

 

Loving this app with one down fall. It has been stated before but I'll pipe in a well. The 10-15 minute window is annoying. Even more so when trying to drive. What would it take to make that go away. I'm driving back home from vacation and constantly having g to unlock my phone and make sure the app is still running. I say still running because if. Y phone is locked for a long time and it stops playing. I have to unlock my phone and relaunch the app.

 

Yes I am running into the same, and it is indeed annoying. It's my first priority to fix once I've solved the login issues stated above.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...