FrostByte 5392 Posted July 5, 2024 Posted July 5, 2024 Ahh, nice. It would be nice if they had different names in addons, but I just look for the right one by looking at the version or go to recently updated section because it's usually the service one that gets updated.
quickmic 1703 Posted July 5, 2024 Author Posted July 5, 2024 1 minute ago, FrostByte said: It would be nice if they had different names in addons compatibility reasons. You can access the settings also via context menu. 1
quickmic 1703 Posted July 6, 2024 Author Posted July 6, 2024 New BETA version available 10.0.36: Delta changelog 10.0.36 -> 10.0.37 fix remote playback client selection fix remote playback commands fix nodes sort order fix minor shutdown issue add translations Comment: node reset is recommended to apply sort order fixes This might be the next stable version. 1
Kyrunner 86 Posted July 6, 2024 Posted July 6, 2024 @quickmicwhats the next big features that your working on for kodi for Emby next gen.
quickmic 1703 Posted July 6, 2024 Author Posted July 6, 2024 (edited) 3 hours ago, Kyrunner said: @quickmicwhats the next big features that your working on for kodi for Emby next gen. 10.X nothing, just bugfixes and release it asap as stable. 11.X Not too much, Kodi's native multiversion support and realtime sync of themes are on the list. Several minor improvements are also on the agenda, but I wouldn't call them features. Code design is pretty clean in 10.X Edited July 6, 2024 by quickmic
OpenHT 8 Posted July 7, 2024 Posted July 7, 2024 Thanks for the updates, just a small thing: Please rename the skip intro/credits skin files to "script-emby-xyz", so that skins can provide their own version of these dialogs. Thanks! plugin.service.emby/resources/skins/default/1080i: script-emby-SkipCreditsDialog.xml script-emby-SkipIntroDialogEmbuary.xml script-emby-SkipIntroDialog.xml --- helper/player.py +++ helper/player.py @@ -31,9 +31,9 @@ SkipCreditsJumpDone = False TasksRunning = [] PlayerEventsQueue = queue.Queue() -SkipIntroDialog = skipintrocredits.SkipIntro("SkipIntroDialog.xml", *utils.CustomDialogParameters) -SkipIntroDialogEmbuary = skipintrocredits.SkipIntro("SkipIntroDialogEmbuary.xml", *utils.CustomDialogParameters) -SkipCreditsDialog = skipintrocredits.SkipIntro("SkipCreditsDialog.xml", *utils.CustomDialogParameters) +SkipIntroDialog = skipintrocredits.SkipIntro("script-emby-SkipIntroDialog.xml", *utils.CustomDialogParameters) +SkipIntroDialogEmbuary = skipintrocredits.SkipIntro("script-emby-SkipIntroDialogEmbuary.xml", *utils.CustomDialogParameters) +SkipCreditsDialog = skipintrocredits.SkipIntro("script-emby-SkipCreditsDialog.xml", *utils.CustomDialogParameters) # Player events (queued by monitor notifications) def PlayerCommands():
quickmic 1703 Posted July 8, 2024 Author Posted July 8, 2024 (edited) 10 hours ago, OpenHT said: Thanks for the updates, just a small thing: Please rename the skip intro/credits skin files to "script-emby-xyz", so that skins can provide their own version of these dialogs. Thanks! plugin.service.emby/resources/skins/default/1080i: script-emby-SkipCreditsDialog.xml script-emby-SkipIntroDialogEmbuary.xml script-emby-SkipIntroDialog.xml --- helper/player.py +++ helper/player.py @@ -31,9 +31,9 @@ SkipCreditsJumpDone = False TasksRunning = [] PlayerEventsQueue = queue.Queue() -SkipIntroDialog = skipintrocredits.SkipIntro("SkipIntroDialog.xml", *utils.CustomDialogParameters) -SkipIntroDialogEmbuary = skipintrocredits.SkipIntro("SkipIntroDialogEmbuary.xml", *utils.CustomDialogParameters) -SkipCreditsDialog = skipintrocredits.SkipIntro("SkipCreditsDialog.xml", *utils.CustomDialogParameters) +SkipIntroDialog = skipintrocredits.SkipIntro("script-emby-SkipIntroDialog.xml", *utils.CustomDialogParameters) +SkipIntroDialogEmbuary = skipintrocredits.SkipIntro("script-emby-SkipIntroDialogEmbuary.xml", *utils.CustomDialogParameters) +SkipCreditsDialog = skipintrocredits.SkipIntro("script-emby-SkipCreditsDialog.xml", *utils.CustomDialogParameters) # Player events (queued by monitor notifications) def PlayerCommands(): Yes I will do, may I ask, what's the benefit renaming the xmls? Seems technically unnecessary. Maybe beautification? Edited July 8, 2024 by quickmic
OpenHT 8 Posted July 8, 2024 Posted July 8, 2024 5 hours ago, quickmic said: Yes I will do, may I ask, what's the benefit renaming the xmls? Seems technically unnecessary. Maybe beautification? Sure, it's an internal KODI thing. If an addon skin file has this prefix, KODI will first check if that xml file exists in the current active skin directory, if it's there it will use that instead of the one you provided with your addon. This feature allows skin developers to modify addon dialogs, e.g. if I want to change the look of the skip intro dialog, I could simply create a file named "script-emby-SkipIntroDialog.xml" in my skin directory and KODI would use that instead of yours. I haven't looked at KODIs source code but last time I checked this feature won't work without that "script-ID-" prefix, possibly to avoid duplicates (e.g. script-emby-context.xml and script-otheraddon-context.xml would be a problem without that prefix) and it makes it easier to identify what skin addon dialog belongs to which addon. 1
quickmic 1703 Posted July 9, 2024 Author Posted July 9, 2024 New BETA version available 10.0.38: Delta changelog 10.0.37 -> 10.0.38 rename dialog files fix remote playback issue Comment: This might be the next stable version.
OpenHT 8 Posted July 9, 2024 Posted July 9, 2024 Thanks! Just one more performance thing I noticed : The default logging for the initial sync is very noisy, especially the 100k+ person, episode, etc "ADD" lines are eating a substantial amount of IO and some CPU resources. In this situation the sync is already hammering the sqlite db, so having to deal with this additional IO isn't really helping. While this isn't a huge problem for modern nvme ssds, it's really noticeable on machines with slower storage (builtin storage, sdcards, hdds). I would suggest to suppress these "ADD" log lines at least for the initial sync. to summarize: changing the log level from info to debug for "ADD" items can reduce the initial sync time on slower systems/storage by almost 1/3 (depends on how big your library is) core/* (EMBY.core.xyz: ADD lines) : - xbmc.log(f"EMBY.core.person: ADD [{Item['KodiItemId']}] {Item['Name']}: {Item['Id']}", 1) # LOGINFO + xbmc.log(f"EMBY.core.person: ADD [{Item['KodiItemId']}] {Item['Name']}: {Item['Id']}", 0) # LOGDEBUG 2
quickmic 1703 Posted July 12, 2024 Author Posted July 12, 2024 On 7/9/2024 at 2:12 PM, OpenHT said: Thanks! Just one more performance thing I noticed : The default logging for the initial sync is very noisy, especially the 100k+ person, episode, etc "ADD" lines are eating a substantial amount of IO and some CPU resources. In this situation the sync is already hammering the sqlite db, so having to deal with this additional IO isn't really helping. While this isn't a huge problem for modern nvme ssds, it's really noticeable on machines with slower storage (builtin storage, sdcards, hdds). I would suggest to suppress these "ADD" log lines at least for the initial sync. to summarize: changing the log level from info to debug for "ADD" items can reduce the initial sync time on slower systems/storage by almost 1/3 (depends on how big your library is) core/* (EMBY.core.xyz: ADD lines) : - xbmc.log(f"EMBY.core.person: ADD [{Item['KodiItemId']}] {Item['Name']}: {Item['Id']}", 1) # LOGINFO + xbmc.log(f"EMBY.core.person: ADD [{Item['KodiItemId']}] {Item['Name']}: {Item['Id']}", 0) # LOGDEBUG I'll switch it permanently to debug log in 10.X (for all added content) and add a proper fix 11.X. A proper fix affects many lines in the code, the risk missing/breaking something is too big.
quickmic 1703 Posted July 12, 2024 Author Posted July 12, 2024 New BETA version available 10.0.39: Delta changelog 10.0.38 -> 10.0.39 change log modes Comment: This might be the next stable version.
quickmic 1703 Posted July 13, 2024 Author Posted July 13, 2024 (edited) New BETA version available 10.0.40: Delta changelog 10.0.39 -> 10.0.40 fix realtime sync issue for unsyncable content e.g. photos (plugin crash) Comment: This might be the next stable version. Edited July 13, 2024 by quickmic
Kocane 14 Posted July 13, 2024 Posted July 13, 2024 Hi quickmic. I'm trying to get Emby for Kodi webOS up and running and it works ok for the most part but seemingly fails to actually play anything. The debug log shows that it tries again and again to connect to the server and it just spams the following error indefinitely: 2024-07-13 14:33:48.692 T:6156 debug <general>: EMBY.hooks.webservice: send_delay_content: p-227834-0-p-8a3e62201d4a6ca8096df2b75995dc22 2024-07-13 14:33:48.721 T:6153 debug <general>: EMBY.hooks.webservice: send_delay_content: p-946883-0-p-0915b4c3e7406a787e6de97afba5369f 2024-07-13 14:33:48.722 T:6154 debug <general>: EMBY.hooks.webservice: send_delay_content: p-660223-0-p-b44f47e3a7b714c705196f7f48516f31 2024-07-13 14:33:48.760 T:6155 debug <general>: EMBY.hooks.webservice: send_delay_content: p-348-0-p-0d6f7db0b84484c7146bc72801a46a31 2024-07-13 14:33:48.760 T:5968 debug <general>: EMBY.emby.http: Socket MAIN opened 2024-07-13 14:33:48.789 T:5968 error <general>: EMBY.emby.http: Header error MAIN: Undefined error 'content-length' 2024-07-13 14:33:48.789 T:5968 warning <general>: EMBY.emby.http: Request retry 612 / MAIN 2024-07-13 14:33:48.789 T:5968 debug <general>: EMBY.emby.http: Socket MAIN closed 2024-07-13 14:33:48.789 T:5968 debug <general>: Emby.helper.utils: get_url_info: ConnectionString='https://(url of my server):443/' Scheme='https' Hostname='(url of my server)' SubUrl='/' Port='443' Do you have any idea what I can try troubleshooting? I tried toggle HTTPS2 support and "use websocket", just to try something, to no avail. Of course it works fine with Kodi on other platforms.
quickmic 1703 Posted July 13, 2024 Author Posted July 13, 2024 5 minutes ago, Kocane said: Hi quickmic. I'm trying to get Emby for Kodi webOS up and running and it works ok for the most part but seemingly fails to actually play anything. The debug log shows that it tries again and again to connect to the server and it just spams the following error indefinitely: 2024-07-13 14:33:48.692 T:6156 debug <general>: EMBY.hooks.webservice: send_delay_content: p-227834-0-p-8a3e62201d4a6ca8096df2b75995dc22 2024-07-13 14:33:48.721 T:6153 debug <general>: EMBY.hooks.webservice: send_delay_content: p-946883-0-p-0915b4c3e7406a787e6de97afba5369f 2024-07-13 14:33:48.722 T:6154 debug <general>: EMBY.hooks.webservice: send_delay_content: p-660223-0-p-b44f47e3a7b714c705196f7f48516f31 2024-07-13 14:33:48.760 T:6155 debug <general>: EMBY.hooks.webservice: send_delay_content: p-348-0-p-0d6f7db0b84484c7146bc72801a46a31 2024-07-13 14:33:48.760 T:5968 debug <general>: EMBY.emby.http: Socket MAIN opened 2024-07-13 14:33:48.789 T:5968 error <general>: EMBY.emby.http: Header error MAIN: Undefined error 'content-length' 2024-07-13 14:33:48.789 T:5968 warning <general>: EMBY.emby.http: Request retry 612 / MAIN 2024-07-13 14:33:48.789 T:5968 debug <general>: EMBY.emby.http: Socket MAIN closed 2024-07-13 14:33:48.789 T:5968 debug <general>: Emby.helper.utils: get_url_info: ConnectionString='https://(url of my server):443/' Scheme='https' Hostname='(url of my server)' SubUrl='/' Port='443' Do you have any idea what I can try troubleshooting? I tried toggle HTTPS2 support and "use websocket", just to try something, to no avail. Of course it works fine with Kodi on other platforms. The log indicates an problem with Emby's webserver's (http) responses. Could be a proxy issue, a redirect issue and also a plugin issue. Do you use the latest beta version of the plugin? Can you trigger the issue/is there a pattern? Could you create a test account for me on your server for review?
Kocane 14 Posted July 13, 2024 Posted July 13, 2024 (edited) 32 minutes ago, quickmic said: The log indicates an problem with Emby's webserver's (http) responses. Could be a proxy issue, a redirect issue and also a plugin issue. Do you use the latest beta version of the plugin? Can you trigger the issue/is there a pattern? Could you create a test account for me on your server for review? The error is pretty much constantly. At first connection it wouldn't load any art for movies/shows and I could see the log in nginx showing that the client was constantly trying to connect to the live-tv part of Emby (and just showing the above error in the Kodi log). Then I disabled my users access to live tv and it immediately begun downloading the art, but actually starting to play something just fails. I fear it's very WebOS specific, the entire setup is pretty hacky after all, but you're welcome to get a user to my server to test. Should I PM it to you? EDIT: Also yes, latest version (just installed it today). Edited July 13, 2024 by Kocane
quickmic 1703 Posted July 13, 2024 Author Posted July 13, 2024 1 hour ago, Kocane said: I fear it's very WebOS specific, the entire setup is pretty hacky after all, but you're welcome to get a user to my server to test. Should I PM it to you? Well, I don't have WebOS but maybe I could find something. Yes via PM please.
quickmic 1703 Posted July 13, 2024 Author Posted July 13, 2024 (edited) 3 hours ago, Kocane said: The error is pretty much constantly. At first connection it wouldn't load any art for movies/shows and I could see the log in nginx showing that the client was constantly trying to connect to the live-tv part of Emby (and just showing the above error in the Kodi log). Then I disabled my users access to live tv and it immediately begun downloading the art, but actually starting to play something just fails. I fear it's very WebOS specific, the entire setup is pretty hacky after all, but you're welcome to get a user to my server to test. Should I PM it to you? EDIT: Also yes, latest version (just installed it today). Thanks for the test account. I can confirm it's a plugin http-issue when the webserver (in your case the nginx proxy you are using) sends chunked data. I'll fix it in next version, please let the testaccount enabled for the moment until I solved the problem. Edited July 13, 2024 by quickmic 1
d0ogie 9 Posted July 13, 2024 Posted July 13, 2024 Voting for stable release. 10.0.36..10.0.40 have been solid on my clients. Great job @quickmic 1
quickmic 1703 Posted July 14, 2024 Author Posted July 14, 2024 8 hours ago, d0ogie said: Voting for stable release. 10.0.36..10.0.40 have been solid on my clients. Great job @quickmic Agreed, but I need the fix the reported issue from Kocane, even it's an edge case.
quickmic 1703 Posted July 14, 2024 Author Posted July 14, 2024 17 hours ago, Kocane said: Awesome, man. Thanks! I send you a test version via PM.
quickmic 1703 Posted July 15, 2024 Author Posted July 15, 2024 New BETA version available 10.0.41: Delta changelog 10.0.40 -> 10.0.41 fix http issue when chunked data are received Comment: This might be the next stable version.
quickmic 1703 Posted July 16, 2024 Author Posted July 16, 2024 New BETA version available 10.0.42: Delta changelog 10.0.41 -> 10.0.42 fix player crash for edge cases Comment: This might be the next stable version.
thacolonel 3 Posted July 17, 2024 Posted July 17, 2024 (edited) I can't seem to get the userrating field to be populated in the kodi database. Diving into the code, it looks like the field CriticRating is not being tagged to Kodi as userrating. It seems to only be set as rating tomatometerallcritics. Any way you can update to populate the userrating field? I'm trying to use it for showing the rottentomatoes score from Emby. Edited July 17, 2024 by thacolonel
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now