2012-05-11, 21:17
(2012-05-11, 21:04)Tolriq Wrote: Why is VideoLibrary.GetSeasons parameter tvshowid mandatory when it's not the case for GetEpisodes for examples. Getting all seasons for all shows makes a lot's of requests when it's not needed for episodes (and it's good :p)Because up until a few days ago XBMC didn't really store seasons. It just stored tvshows and episodes and then season were deduced from the episodes. That's also why there is no "seasonid" (compared to "tvshowid" and "episodeid") so XBMC doesn't offer a method to retrieve all seasons (and IMO it doesn't really make any sense either).
(2012-05-11, 21:04)Tolriq Wrote: And other one about performances, it seems on some low end Xbmc machine a query that will return more than 1000 results will be really really really really .... slow, is it due to slow database or too much data to encode to Json ?It's because of the database queries. Especially if you retrieve properties like "cast" or "resume" or "set" it will get really slow because it has to do an extra query for every retrieved item. Currently it also won't be faster if you put a limit on the item retrieval but I have some unfinished work which will improve that.
(Well the final question is : Does putting limits to query to get bunch of say 500 items will be quicker or slower).
So the best you can do is not to retrieve those properties I mentioned (they are also mentioned in introspect so you might wanna check there because I might have forgotten one or two) when using FooLibrary.GetFoo and only retrieve those properties with FooLibrary.GetFooDetails.