service.library.data.provider question - some questions
#1
Hey guys,

I replaced skin.widgets with service.library.data.provider and I'm fighting some things now:

- I have widget rows on the home screen, is it possible to limit the items and overwrite the plugin limitation? I just want to display 10 items in the widgets and the full 20 items in the hub panel.
- Is there any option to preload the cached items during startup? A user of my skin fights really long caching times on his e450 with openelec and network shares. Skin.Widgets worked for him without any problems but I don't want to switch back. service.library.data.provider is much faster for me and has less issues.

And another question (nothing to do with the plugin):
If I fill a list content with musicdb content and use it as a widget (recently played albums for example), I also have this ".." (go back to parent folder) item in the list. Any idea how to exclude it?

Thanks.
Main: Lancool II Mesh  - Ryzen 9 5900x - MSI x570 Unify - Zotac RTX 3080 AMP HOLO - 32GB Trident Z Neo 3600 CL16 -  EVO 960 M.2 250GB / EVO 940 250GB / MX100 512GB /  Crucial P1 2TB / WD Blue 3D Nand 2TB 
Sound: Saxx AS30 DSP - Beyer Dynamic Custom One Pro 
TV: Nvidia Shield 2019 Pro- Adalight 114x LEDs - Sony 65XG9505 - Kodi / Emby - Yamaha RX-V683 - Heco Victa 700/101/251a + Dynavoice Magic FX-4
Server: i3 Skylake - 8GB - OMV4 - 22TB Storage
Reply
#2
(2014-06-06, 07:36)sualfred Wrote: Hey guys,

I replaced skin.widgets with service.library.data.provider and I'm fighting some things now:

- I have widget rows on the home screen, is it possible to limit the items and overwrite the plugin limitation? I just want to display 10 items in the widgets and the full 20 items in the hub panel.

No, but I can't see that something like that would be difficult to add. (You can limit the total amount of results returned globally from the service's setting, though.)

(2014-06-06, 07:36)sualfred Wrote: - Is there any option to preload the cached items during startup? A user of my skin fights really long caching times on his e450 with openelec and network shares. Skin.Widgets worked for him without any problems but I don't want to switch back. service.library.data.provider is much faster for me and has less issues.

No. The data isn't saved to disk, so is lost when XBMC closes.
Reply
#3
Thanks for your reply.

Yes, I know that the limitation can be done in the settings, but I use this plugin for the widgets and the hubs. I only want to limit the widget items. Hopefully it will be added Smile
Main: Lancool II Mesh  - Ryzen 9 5900x - MSI x570 Unify - Zotac RTX 3080 AMP HOLO - 32GB Trident Z Neo 3600 CL16 -  EVO 960 M.2 250GB / EVO 940 250GB / MX100 512GB /  Crucial P1 2TB / WD Blue 3D Nand 2TB 
Sound: Saxx AS30 DSP - Beyer Dynamic Custom One Pro 
TV: Nvidia Shield 2019 Pro- Adalight 114x LEDs - Sony 65XG9505 - Kodi / Emby - Yamaha RX-V683 - Heco Victa 700/101/251a + Dynavoice Magic FX-4
Server: i3 Skylake - 8GB - OMV4 - 22TB Storage
Reply
#4
(2014-06-06, 09:27)sualfred Wrote: Hopefully it will be added Smile

Pull request
Reply
#5
Awesome. Thanks for the fast implementation.
Tested it and it works greats!
Main: Lancool II Mesh  - Ryzen 9 5900x - MSI x570 Unify - Zotac RTX 3080 AMP HOLO - 32GB Trident Z Neo 3600 CL16 -  EVO 960 M.2 250GB / EVO 940 250GB / MX100 512GB /  Crucial P1 2TB / WD Blue 3D Nand 2TB 
Sound: Saxx AS30 DSP - Beyer Dynamic Custom One Pro 
TV: Nvidia Shield 2019 Pro- Adalight 114x LEDs - Sony 65XG9505 - Kodi / Emby - Yamaha RX-V683 - Heco Victa 700/101/251a + Dynavoice Magic FX-4
Server: i3 Skylake - 8GB - OMV4 - 22TB Storage
Reply
#6
*pump*
unfledged:
If the library items are stored on an external device (nas, other pc or what ever) and the device isn't running, the content list takes about 20sec up to 1 minute until it is filled. Is there any way to speed this up? Dunno if this is xbmc or plugin related. It seems that the plugin is trying to fetch something - even it's not reachable in the network - before it displays the list.
This will also explains the small delay at shedrocks system. His library is stored external, too.

Reason:
I'm going to set up a homeserver and I'm going to exclude my library. The server will be in S3 mode until XBMC sends an WOL magic packet. The wake up time of the server will be about ~40sec.
Main: Lancool II Mesh  - Ryzen 9 5900x - MSI x570 Unify - Zotac RTX 3080 AMP HOLO - 32GB Trident Z Neo 3600 CL16 -  EVO 960 M.2 250GB / EVO 940 250GB / MX100 512GB /  Crucial P1 2TB / WD Blue 3D Nand 2TB 
Sound: Saxx AS30 DSP - Beyer Dynamic Custom One Pro 
TV: Nvidia Shield 2019 Pro- Adalight 114x LEDs - Sony 65XG9505 - Kodi / Emby - Yamaha RX-V683 - Heco Victa 700/101/251a + Dynavoice Magic FX-4
Server: i3 Skylake - 8GB - OMV4 - 22TB Storage
Reply
#7
With one huge exception, it should only need XBMC to access the server (assuming you're using the reload parameter) on startup, after playback and after library update. The rest of the time it shoukd be using cached data. Whilst there are without doubt optimisations that can be made there, they shouldn't cause a 1 minute delay. I'll take a look this evening, though, to see if there's something I'm not thinking of in the script which would cause it to.

The random lists, though, update every 10 minutes. They will need XBMC to access the server. They'll also probably stop your server going to sleep (someone on git complained about that, but never posted again about potential solutions.) The script could do with some better random loading options.
Reply
#8
I just noticed it on startup. Currently my library is stored on the HTPC and my dev-xbmc is on my main rig. Most of the time my HTPC is turned off when I'm workin on the skin -> in this case the widgets only are displayed after 20-30 seconds.

Currently it's no problem but it could be irritating for users who using a NAS or server for the media storage. Most home-server use WOL and aren't running 24/7 because of power saving.
Main: Lancool II Mesh  - Ryzen 9 5900x - MSI x570 Unify - Zotac RTX 3080 AMP HOLO - 32GB Trident Z Neo 3600 CL16 -  EVO 960 M.2 250GB / EVO 940 250GB / MX100 512GB /  Crucial P1 2TB / WD Blue 3D Nand 2TB 
Sound: Saxx AS30 DSP - Beyer Dynamic Custom One Pro 
TV: Nvidia Shield 2019 Pro- Adalight 114x LEDs - Sony 65XG9505 - Kodi / Emby - Yamaha RX-V683 - Heco Victa 700/101/251a + Dynavoice Magic FX-4
Server: i3 Skylake - 8GB - OMV4 - 22TB Storage
Reply
#9
That's pretty much expected on startup. The service is caching all the data, which takes time - and takes even longer on startup because there's generally a lot else going on with XBMC and other services at that time.

(And now I think I understand better your setup, your media isn't local but your database is (thats to say you're not using mysql). In which case ignore my comments about the random waking up your server.)
Reply
#10
O_o ? Now you confused me completely Tongue
I don't have a central MySQL database:
HPTC -> Media and it's own library
PC -> own library (sources are linked with smb://.. to htpc)

Scenario HTPC is starting up:
Widgets take 1 sec to load

Scenario HTPC is up an PC is starting it's own XBMC client with local library:
Widgets take 1 sec to load

Scenario HTPC is offline an PC is starting it's own XBMC client with local library:
Widgets take 20< sec to load

But shouldn't the plugin use the local stored library? I don't have "update library on startup" enabled. XBMC shouldn't do anything in this direction.
Main: Lancool II Mesh  - Ryzen 9 5900x - MSI x570 Unify - Zotac RTX 3080 AMP HOLO - 32GB Trident Z Neo 3600 CL16 -  EVO 960 M.2 250GB / EVO 940 250GB / MX100 512GB /  Crucial P1 2TB / WD Blue 3D Nand 2TB 
Sound: Saxx AS30 DSP - Beyer Dynamic Custom One Pro 
TV: Nvidia Shield 2019 Pro- Adalight 114x LEDs - Sony 65XG9505 - Kodi / Emby - Yamaha RX-V683 - Heco Victa 700/101/251a + Dynavoice Magic FX-4
Server: i3 Skylake - 8GB - OMV4 - 22TB Storage
Reply
#11
Yes it should use the local stored library. My dev machine has a similar setup to your HTPC so I'll see if I can recreate this this evening.
Reply
#12
Thanks. Maybe I have to the possibility to test it with another device in the next few days.
Main: Lancool II Mesh  - Ryzen 9 5900x - MSI x570 Unify - Zotac RTX 3080 AMP HOLO - 32GB Trident Z Neo 3600 CL16 -  EVO 960 M.2 250GB / EVO 940 250GB / MX100 512GB /  Crucial P1 2TB / WD Blue 3D Nand 2TB 
Sound: Saxx AS30 DSP - Beyer Dynamic Custom One Pro 
TV: Nvidia Shield 2019 Pro- Adalight 114x LEDs - Sony 65XG9505 - Kodi / Emby - Yamaha RX-V683 - Heco Victa 700/101/251a + Dynavoice Magic FX-4
Server: i3 Skylake - 8GB - OMV4 - 22TB Storage
Reply
#13
OK, I've run a series of tests comparing the time taken for the service to cache all data on loading XBMC when the server is switched on and the server is switched off. In all runs (five of each) the total time taken to cache all the data (which is when the library is being queried) was around 6 seconds. No difference in actually displaying the lists either, except on the very first run (which was without server on), when XBMC hadn't already cached the image artwork. The rest of the runs, no difference in displaying the lists worth mentioning.

It makes sense that a lack of cached artwork could cause a delay, as XBMC would (I presume) try to load that from the server. Otherwise, I can't see any issues on my system. Huh
Reply
#14
Hmmmmmm. Strange. I wonder what's causing this delay here. We will see what is happening when the homeserver is running in the next 2 weeks.
Main: Lancool II Mesh  - Ryzen 9 5900x - MSI x570 Unify - Zotac RTX 3080 AMP HOLO - 32GB Trident Z Neo 3600 CL16 -  EVO 960 M.2 250GB / EVO 940 250GB / MX100 512GB /  Crucial P1 2TB / WD Blue 3D Nand 2TB 
Sound: Saxx AS30 DSP - Beyer Dynamic Custom One Pro 
TV: Nvidia Shield 2019 Pro- Adalight 114x LEDs - Sony 65XG9505 - Kodi / Emby - Yamaha RX-V683 - Heco Victa 700/101/251a + Dynavoice Magic FX-4
Server: i3 Skylake - 8GB - OMV4 - 22TB Storage
Reply
#15
You're welcome to provide a debug log to see if it shows anything specific for your system. A branch with logging is here, please disable service.skin.widgets if it's installed, and enable verbose JSON logging Smile
Reply

Logout Mark Read Team Forum Stats Members Help
service.library.data.provider question - some questions0