Advanced Library Filtering

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
Montellese Online
Team-XBMC Developer
Posts: 3,500
Joined: Jan 2009
Reputation: 32
Location: Switzerland
Post: #1
Summary: Storing videos and music in a way that they are accessible from a media center software like XBMC is getting very common. This leads to rather large collections which need to be handled and presented by said media center software and it gets more and more difficult to quickly find certain media files or a number of media files sharing a common property/attribute/tag. To solve this problem a filter system can be employed which allows users to specify certain rules to narrow down the list of media files of a certain type (e.g. movies or tv episodes). For that purpose XBMC comes with a feature called Smart Playlists. They are a set of rules which can be applied to a certain type of media to get a subset of all the media files of that type. Although Smart Playlists are extremely powerful and versatile they are not very well integrated into XBMC in a sense of fast and easy filtering. A user has to leave the current list of media files, open the Smart Playlist category and then open a Smart Playlist to make use of its filtering functionality. The idea and goal of this project is to directly integrate the filtering functionality of Smart Playlists into the different media listings and views available in XBMC. To take it a step further the concept of Smart Playlists is simplified to allow users to easily put together a set of properties that he/she would like to filter by. This eliminates the need to first create and setup a Smart Playlist (which again happens outside of the media listings) before being able to use its filter functionality. Presenting this easier-to-access filtering functionality in a way that makes it easier to grasp and use further increases the usability of the filters.
Another growing branch of accessing media is using internet streams to watch videos or listen to music without storing them locally. Accessing internet streams in XBMC is mainly handled and provided through content-provider-specific addons (e.g. Youtube) which retrieve the available streams from an online service and present them in XBMC in a way that is better suited for media centers. The disadvantage is that users need to know where to find the content they are looking for because they need to start a specific addon to retrieve the content they are looking for. This highly limits the success rate of finding and discovering content yet unknown to the user. Therefore the second goal of this project is to provide a search and filter system which does not only apply to content being organised in XBMC's libraries but also to content being provided through addons. This will in a lot of cases eliminate the need to manually start an addon and start looking for certain content in a specific addon. Furthermore it will increase the success rate (i.e. the probability that the resulting list contains the media file(s) the user is looking for) of the search and/or filter.

How will I achieve this: The project will primarily focus on providing users with an easily accessible filtering functionality which allows to filter a list of items by specifying subsets of different properties/tags (as an example a subset of the "genre" property would be: "Action" or "Thriller"). From there certain filters can be stored so that the more often used filters can be easily re-used/re-applied without having to specify the subsets every time.
In a second step the filtering functionality will be extended to include content provided by addons. This will require a new interface (API) to be able to dynamically filter results from content-providing addons. A possible approach would be to define and use a standardized URI format (e.g. addon://youtube.com/shows?genre=Comedy) containing the filters specified by the user (which would fit into how XBMC currently interacts with addons to tell them what content to play). An additional approach would be to allow addons to specify what atrributes/tags and filters they support which would eliminate the need to query every possible addon for every filter process and would therefore increase the overall speed of the filtering process.

Benefits: (Better) Filtering of listed content allows users to easier find specific items they are looking for by providing a certain set of criteria. This does not only increase the chance of finding what you are looking for but also the time it takes to locate what you are looking for. In addition the possibility to narrow down the number of listed items provides a much better overview.
Extending this functionality to include searching in and filtering of content provided by addons increases the usability and the value added by installed addons a lot because it eliminates the need to manually browse to the addon, start it and then look for something specific. Showing addon-provided content side-by-side with content from XBMC's libraries is a huge step towards tight integration of addons into XBMC.

Goals: Providing users with quick and easily accessible yet powerful filtering functionality. Furthermore extending that filtering functionality to addons will increase the usability of and interaction with addons.

What does it touch in XBMC: library views & categories, smartplaylists, databases, addon system, addon/python API, JSON-RPC API

Requirements: C/C++ for most of the code, some Python for addon integration, JSON for extending the JSON-RPC API

How long have you been writing software for work/fun? I started coding websites (HTML, CSS, JavaScript and PHP) in 2002 and started coding with C/C++ in 2005. Apart from my preferred programming languages C/C++ I can write JavaScript, PHP and C# and have also written software in Java, Python and Assembler.

What is your primary development language/environment? C/C++ on Windows (using Visual Studio or MinGW) and Linux

Is this your first GSOC? Yes

Have you contributed to XBMC or other FLOSS projects? I have started contributing to XBMC in 2010 and since January 2011 I'm part of Team XBMC and contribute to XBMC on a regular basis. I have also written some small open source projects in the past.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]
find quote
pecinko Offline
Donor
Posts: 3,675
Joined: Dec 2008
Reputation: 49
Location: Prague / Belgrade
Post: #2
Global search and custom filters will greatly benefit XBMC, no doubt.

From usability point of view (UI wise) I would suggest 3 step interface:

Home page with list of sections -> filters and search -> content (PM3.HD style)

ALT (maybe skin optional):

Home page with list of sections + ["minibar" with filters and search] -> content (current Confluence style)

In short, my suggestion is to avoid nesting and flat-out all filters and search to 1 window (1 additional step). Current organization of Music section looks closest to this suggestion.

My skins:

Amber
Quartz

(This post was last modified: 2012-04-06 19:29 by pecinko.)
find quote
serieofilo Offline
Member
Posts: 65
Joined: Sep 2011
Reputation: 0
Location: Barcelona, Spain
Post: #3
x Montellese:

Thanks for trying to make filters/playlist more user friendly and integrated with XBMC.

I've found this post because I've searched through the code of XBMC looking into SmartPlaylists.cpp as suggested in my post about sorting in playlist using the sort name for sets: http://forum.xbmc.org/showthread.php?tid=127793.

As I'm not a programmer, I hope someone could add this sorting feature in the future when coding the new smart/filters/etc. code.

Thank you very much!

Desktop & HTPC System:
Intel Core 2 Quad Q9450 @ 2.66GHz || 4 x 2GB DDR2-1066 Kingston @ 1066MHz
Sapphire HD 6450 1GB || Dell UltraSharp 2009W @ 1680x1050 (using DVI) || Philips LCD 42PFL8404H @ 1920x1080 (using HDMI through Yamaha SR-301)
Yamaha YHT-S401 (SR-301 Receiver + NS-BR301 Speaker)
Hauppauge WinTV-HVR-4000
find quote
malte Offline
Skilled Python Coder
Posts: 1,302
Joined: Jan 2010
Reputation: 27
Location: Germany
Post: #4
Maybe as an inspiration (how to do or not to do it): I added a similar functionality to Rom Collection Browser. You can see it at the beginning of this video (at 0:07).

Although the approach is a bit different from what you describe here.
find quote
Montellese Online
Team-XBMC Developer
Posts: 3,500
Joined: Jan 2009
Reputation: 32
Location: Switzerland
Post: #5
It has been quite a while since GSoC started and although I'm in the middle of preparing for my exams (5 of them) I've been working on my GSoC project in the evenings whenever time allowed it (fortunately I only need about 5 hours of sleep). When GSoC started I first took a closer look at smartplaylists because they are perfect for filtering, they are just very well hidden in the library structure and not very comfortable to setup. To make it possible to use smartplaylists for filtering they required quite a bit of tweaking when it came to sorting and limiting. Back then the sorting implementation used by GUI listings (movies, episodes etc) and the one used by smartplaylists was completely different which resulted in more or less different results when e.g. sorting all movies by title. So I wrote a sorting implemenation which can be used both by GUI listings and by smartplaylists. It has the advantage that sorting will always work the same. Furthermore smartplaylists can now benefit from sorting features like "ignore articles" which wasn't possible up until then. That code has already hit master and is available in nightly builds. The only difference that is currently visible to the user is the bit about "ignore articles" when sorting smartplaylists.

Looking at how e.g. webshops allow customers/visitors to filter their products by some simple selections it became obvious that our smartplaylist implementation in it's current state wasn't enough. The main problem is that (due to keeping it simple) a smartplaylist can either match all rules (the rules are AND'ed) or at least one (the rules are OR'ed). It is possible to combine multiple smartplaylists to get more complex filters but that's anything short of tedious. But a good filtering system should allow e.g. to select a few genres from a list (e.g. Action OR Adventure) and also allow filtering by all titles containing "Harry Potter". But that's a combination of AND'ed and OR'ed rules because it would result in
Code:
(genre = "Action" OR genre = "Adventure") AND title contains "Harry Potter"
so the smartplaylist logic had to be extended to at least support OR'ed rules within a certain field (in the above example the field would be genres). This has been accomplished by introducing that feature for so called "browseable fields" i.e. fields that have the "Browse" button in the smartplaylist rule editor active (e.g. genre, year, actor, director, studio, ...). Instead of limiting the choice to a single value from the list of a browseable field, users will be able to select as many values from the list as they wish (see the screenshot)
[Image: 10gfxvd.jpg]
This feature will hit master soon (in the July merge window).

Having extended and prepared smartplaylists to be able to use for direct filtering, the real work of implementing the filtering has been started a few days ago. The primary goal is to implement a filtering functionality which proves that the idea/concept is possible. As my UI/design skills are very very limited (which is probably still an overstatement) I have started by replacing the existing "Filter" functionality in the library views (which just allowed to filter by title) by a button which will open the filter dialog (see the screenshots). The filter dialog will provide different filter conditions depending on the type of media that is currently listed and will only be available for movies, tvshows, episodes, musicvideos, albums and songs for now (because that's what smartplaylists support). Currently implemented are basically 4 different types of filter conditions:
  • Filter by text (e.g. title contains "Harry Potter")
  • filter by range selection (e.g. rating between 8.0 and 10.0)
  • filter by (multi-)selection of browseable values (e.g. genre = "Action" or genre = "Adventure")
  • Filter by single value choice (e.g. in progress = all/yes/no)
[Image: 34g53dk.jpg]

Last but not least the filter modifications done in the filter dialog are instantly applied to the list in the background. So when e.g. moving one of the rating filter slider you can see the movies in the background change when they become less (or more).

Any feedback on most-wanted filters etc is very welcome. I'd like to once again point out that this UI/design is far from final and is more of a prototype until I find a better way to do it.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]
find quote
AbRASiON Offline
Senior Member
Posts: 277
Joined: Jan 2004
Reputation: 0
Post: #6
Hello,

I took a look at your screenshots and can see it could do with some improvement.
You responded to my thread here regarding this http://forum.xbmc.org/showthread.php?tid=127839

I'm curious if you saw my example screenshot (s) located here. http://imgur.com/a/gDAPY

Also, are you the only one working on this, do you know if the rest of the XBMC team are looking into improving the user interface, or is this your side project? I really appreciate your effort, I just want to get an understanding if others will internd to merge this in with the main program and if they would like to help?

I can't code for crap but I've been using UI's and PC's for over 20 years now, I think I might be able to give some great suggestions.
Let me know if I can help at all. (Yes, I realise I've not done anything more than my initial post than I linked to, but I'm not sure if you'd missed those screenshots?)

Thanks.
find quote
Montellese Online
Team-XBMC Developer
Posts: 3,500
Joined: Jan 2009
Reputation: 32
Location: Switzerland
Post: #7
(2012-08-06 09:37)AbRASiON Wrote:  I took a look at your screenshots and can see it could do with some improvement.
Yes like I said that dialog is more of a prototype to be able to test and better integrate the various filters.

(2012-08-06 09:37)AbRASiON Wrote:  You responded to my thread here regarding this http://forum.xbmc.org/showthread.php?tid=127839

I'm curious if you saw my example screenshot (s) located here. http://imgur.com/a/gDAPY
I just woke up so no I hadn't seen them (yet).

(2012-08-06 09:37)AbRASiON Wrote:  Also, are you the only one working on this, do you know if the rest of the XBMC team are looking into improving the user interface, or is this your side project? I really appreciate your effort, I just want to get an understanding if others will internd to merge this in with the main program and if they would like to help?
As this is my GSoC project I'm currently the only one working on it with jmarshall being my mentor who gives me advice, feedback and reviews my code changes.

(2012-08-06 09:37)AbRASiON Wrote:  I can't code for crap but I've been using UI's and PC's for over 20 years now, I think I might be able to give some great suggestions.
Let me know if I can help at all. (Yes, I realise I've not done anything more than my initial post than I linked to, but I'm not sure if you'd missed those screenshots?)
UI suggestions are always welcome. My skills in designing/layouting are poor at best and my knowledge of the XBMC GUI code is almost zero so I didn't really intend to do anything in that area (apart from the extension to the slider to be able to select a range). I wanted to focus on the functionality itself and when that's done (almost there) I'll be looking for someone to help me present it in a better/easier way to the users in the GUI.

Concerning your screenshots:
Not sure what the difference between your genre selector and the current multi-select list is (apart from the radio buttons and the two-row layout). In the current implementation you get a list of genres (only the ones that match all the other filters already applied) and you can select them (and they are highlighted in orange (at least in the default skin) or you can not select them.

The year slider looks similar to what I've already got expect that there is no scale reading below the range selector. But you can always see the selected range on the left of the range selector. Not sure if it makes sense to use two selectors because it will require more space and more clicks from the user. The current implementation shows the range based on the actually available years so if your oldest movie is from 1957 and your newest one from 2012 the maximum range is exactly that. Then you can change the range in one year steps (which could be easily changed to 2, 5, ...).

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]
find quote
AbRASiON Offline
Senior Member
Posts: 277
Joined: Jan 2004
Reputation: 0
Post: #8
(2012-08-06 09:52)Montellese Wrote:  UI suggestions are always welcome. My skills in designing/layouting are poor at best and my knowledge of the XBMC GUI code is almost zero so I didn't really intend to do anything in that area (apart from the extension to the slider to be able to select a range). I wanted to focus on the functionality itself and when that's done (almost there) I'll be looking for someone to help me present it in a better/easier way to the users in the GUI.

Concerning your screenshots:
Not sure what the difference between your genre selector and the current multi-select list is (apart from the radio buttons and the two-row layout). In the current implementation you get a list of genres (only the ones that match all the other filters already applied) and you can select them (and they are highlighted in orange (at least in the default skin) or you can not select them.

My idea was very rough and your idea is fine by me - I just wanted to be sure you'd seen my shots and if you felt any of it would be useful.
Now let's get deeper on this Smile

End users are likely using a regular remote control with up / down / left / right controls (not me but that's my own damn fault for using a keyboard!)
I'm thinking, the logical thing here is actually to stick with your idea with a list of genres in a single row, arrow up and down to navigate through the list.
Enter / Select highlights the item but also cursor right selects and cursor left unselects. - for ease of selecting multiple ones quickly, seems the logical thing to me (thoughts?)

Long story short, stick to one row if you use that selection method.



(2012-08-06 09:52)Montellese Wrote:  The year slider looks similar to what I've already got expect that there is no scale reading below the range selector. But you can always see the selected range on the left of the range selector. Not sure if it makes sense to use two selectors because it will require more space and more clicks from the user. The current implementation shows the range based on the actually available years so if your oldest movie is from 1957 and your newest one from 2012 the maximum range is exactly that. Then you can change the range in one year steps (which could be easily changed to 2, 5, ...).

I need to re-design that - the problem is making it extremely easy and convienient to choose the 'start year' and the 'end year' selection
I have several ideas on how I think I could improve this if you would like me to write some up - but I really wish we had more people participating on this thread - you've opened a great can of worms and I thank you.

I totally LOVE XBMC but damn when your library gets huge (I'm over 1200 now) it's a drag to find stuff easily!
Thanks for your reply
find quote
MassIV Online
Donor
Posts: 907
Joined: Mar 2012
Reputation: 31
Post: #9
Great project! Want suggestions, ok here goes.
A suggestion would be a filter by source and maybe an additional folder there-in. Getting that perfect balance between folder and library organisation benefits.

Using the custom nodes.

Not using a dialog in the middle of the screen. I believe it would work more intuitive if a user can see the results of the actions they do in the filters. Ie Google instant. Where results are coming up in a frame next to the filters. Maybe even in name, typing: Harr
Would already show Harry Potter results (meaning also that you are kind of replacing the search function in view options).

Last suggestion: Filtering is not (unlike view options), setting how your library should look the whole time. Filtering, as i understand it, is on the fly smart playlists (correct me if i'm wrong). So Filtering in view options will conflict with kiosk mode (you would have to go turn it off every time).

Kiosk mode is, in my opinion is a patch to the wrong implementation of view options in the first place. Kiosk is (among other) used to keep view options from accidentally showing up on an unintended <onup> or <onleft>. Which would in my eyes would be better solved by opening view options with an actual button.

Now that you know where i'm coming from i'll make my point: Maybe instead of just adding this to view options. This should be a makeover of view options and the way it is implemented. Or leaving view options and making a Filter/Sort button. I'll give it some more thought.
find quote
Montellese Online
Team-XBMC Developer
Posts: 3,500
Joined: Jan 2009
Reputation: 32
Location: Switzerland
Post: #10
(2012-08-21 15:50)MassIV Wrote:  Great project! Want suggestions, ok here goes.
A suggestion would be a filter by source and maybe an additional folder there-in. Getting that perfect balance between folder and library organisation benefits.
Can you be more specific? I have one source for movies, one for tvshows and so on and I never use files view so I'll need more details to be able to imagine what you would like to achieve.

(2012-08-21 15:50)MassIV Wrote:  Using the custom nodes.
Details?

(2012-08-21 15:50)MassIV Wrote:  Not using a dialog in the middle of the screen. I believe it would work more intuitive if a user can see the results of the actions they do in the filters. Ie Google instant. Where results are coming up in a frame next to the filters.
I completely agree. But my design/layout skills are almost 0 and my knowledge of XBMC's GUI system are very limited as well which is why my "prototype" is a simple dialog. Ideally the filters would be directly integrated into the library view to be able to still see the list of media items. But the biggest problem will be that there are soo many different types of views.

(2012-08-21 15:50)MassIV Wrote:  Maybe even in name, typing: Harr
Would already show Harry Potter results (meaning also that you are kind of replacing the search function in view options).
That is already possible. When you start typing an "H" you will get all movies containing an "h". When continuing to type "a", "r" and "r" it will further filter the list of items immediately. So you get live feedback, it's just half hidden behind the dialog.

(2012-08-21 15:50)MassIV Wrote:  Last suggestion: Filtering is not (unlike view options), setting how your library should look the whole time. Filtering, as i understand it, is on the fly smart playlists (correct me if i'm wrong). So Filtering in view options will conflict with kiosk mode (you would have to go turn it off every time).

Kiosk mode is, in my opinion is a patch to the wrong implementation of view options in the first place. Kiosk is (among other) used to keep view options from accidentally showing up on an unintended <onup> or <onleft>. Which would in my eyes would be better solved by opening view options with an actual button.
I never used kiosk mode so far so I don't even know what it does but if it completely hides the sidebar in library views that would also mean no access to the filtering options.

(2012-08-21 15:50)MassIV Wrote:  Now that you know where i'm coming from i'll make my point: Maybe instead of just adding this to view options. This should be a makeover of view options and the way it is implemented. Or leaving view options and making a Filter/Sort button. I'll give it some more thought.
Maybe an independent sidebar which is dedicated to filtering would be the best approach. But most views already use every arrow key available (2 for navigation, one to get to the view options and one to get to the scrollbar) so there will be a problem of how to show it. Just assigning it another button is not very intuitive in my opinion.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]
find quote
MassIV Online
Donor
Posts: 907
Joined: Mar 2012
Reputation: 31
Post: #11
(2012-08-21 15:50)MassIV Wrote:  Great project! Want suggestions, ok here goes.
A suggestion would be a filter by source and maybe an additional folder there-in. Getting that perfect balance between folder and library organisation benefits.
(2012-08-21 16:47)Montellese Wrote:  Can you be more specific? I have one source for movies, one for tvshows and so on and I never use files view so I'll need more details to be able to imagine what you would like to achieve.
I have a seedbox as (https webdav) source. I have a NAS on the LAN as SMB. And a HDD in the drive that runs XBMC. I'll take the NAS as example, it belongs to the "building". The file structure looks like this:

jordi/media/movies/horror/whishmaster/whishmaster.(1997).avi
sander/film/disney/disney.shorts/mickey/106.steamboat.willy.avi
sander/film/disney/classics/peter.pan/peter.pan.avi
junk/junk.i.dont.want.indexed/junk.avi
rasmus/movies/dvd/green.lantern/video_ts/
rasmus/things.that.should.never.see.the.light.of.day/ever/

Can't add the whole NAS as source because of junk. And the only way to add Sander's Disney classics to the movies library, is to add the classics folder as source. Then the seedbox (http server) that has anime movies ect, that need other scrapers thus set up as separate sources.

That being said, the path contains: "sander/" filter works good enough. Specially combined with genre and name. But it will also bring up stuff from his folder on the seedbox. And i haven't memorized everyone's folder structure. But ok, just forget about the filter by sources idea, it's too specific to my situation i guess.

(2012-08-21 15:50)MassIV Wrote:  Using the custom nodes.
(2012-08-21 16:47)Montellese Wrote:  Details?
Yeah i was not sure what you meant by Foo Bar in the screenshot with Browse for Genre. But it would be great if the custom nodes would show there.

(2012-08-21 15:50)MassIV Wrote:  Not using a dialog in the middle of the screen. I believe it would work more intuitive if a user can see the results of the actions they do in the filters. Ie Google instant. Where results are coming up in a frame next to the filters.
(2012-08-21 16:47)Montellese Wrote:  I completely agree. But my design/layout skills are almost 0 and my knowledge of XBMC's GUI system are very limited as well which is why my "prototype" is a simple dialog. Ideally the filters would be directly integrated into the library view to be able to still see the list of media items. But the biggest problem will be that there are soo many different types of views.
No but that's fine. The View Options panel is also just a simple dialog. Would not be more work then changing some coordinates on the buttons and changing the background image. Save that for later. But keep it in your head if you are making dialogs within your dialog so you can dialog while you dialog, and still want to see the results changing. Once you know what you want, i can probably show you a clean working example. Or whatever falls within GSoC.

(2012-08-21 15:50)MassIV Wrote:  Last suggestion: Filtering is not (unlike view options), setting how your library should look the whole time. Filtering, as i understand it, is on the fly smart playlists (correct me if i'm wrong). So Filtering in view options will conflict with kiosk mode (you would have to go turn it off every time).

Kiosk mode is, in my opinion is a patch to the wrong implementation of view options in the first place. Kiosk is (among other) used to keep view options from accidentally showing up on an unintended <onup> or <onleft>. Which would in my eyes would be better solved by opening view options with an actual button.
(2012-08-21 16:47)Montellese Wrote:  I never used kiosk mode so far so I don't even know what it does but if it completely hides the sidebar in library views that would also mean no access to the filtering options.
Yes it hides the sidebar completely. And quite a lot of people use it i think.

(2012-08-21 15:50)MassIV Wrote:  Now that you know where i'm coming from i'll make my point: Maybe instead of just adding this to view options. This should be a makeover of view options and the way it is implemented. Or leaving view options and making a Filter/Sort button. I'll give it some more thought.
(2012-08-21 16:47)Montellese Wrote:  Maybe an independent sidebar which is dedicated to filtering would be the best approach. But most views already use every arrow key available (2 for navigation, one to get to the view options and one to get to the scrollbar) so there will be a problem of how to show it. Just assigning it another button is not very intuitive in my opinion.
I don't have the answer either. Just putting it out there. And i'll give it some more thought.
(This post was last modified: 2012-08-22 02:22 by MassIV.)
find quote
AbRASiON Offline
Senior Member
Posts: 277
Joined: Jan 2004
Reputation: 0
Post: #12
(2012-08-21 16:47)Montellese Wrote:  
(2012-08-21 15:50)MassIV Wrote:  Not using a dialog in the middle of the screen. I believe it would work more intuitive if a user can see the results of the actions they do in the filters. Ie Google instant. Where results are coming up in a frame next to the filters.
I completely agree. But my design/layout skills are almost 0 and my knowledge of XBMC's GUI system are very limited as well which is why my "prototype" is a simple dialog. Ideally the filters would be directly integrated into the library view to be able to still see the list of media items. But the biggest problem will be that there are soo many different types of views.


I think some of the other XBMC developers should be jumping in at this point, since it's obvious you have very good intentions.
find quote
Montellese Online
Team-XBMC Developer
Posts: 3,500
Joined: Jan 2009
Reputation: 32
Location: Switzerland
Post: #13
It has been decided in the team that we first merge in all the functionality and the prototype dialog and then do the improved integration from there the argument being that even with this non-optimal dialog the functionality provided is still better than anything that is available in XBMC right now. Furthermore it will help improve the functionality of the filter because more users will use it and therefore report back.

Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.

[Image: badge.gif]
find quote
AbRASiON Offline
Senior Member
Posts: 277
Joined: Jan 2004
Reputation: 0
Post: #14
Well I'm just happy the year filter idea I proposed is similar to what you guys came up with on your own, very happy.
find quote
wellspokenman Offline
Senior Member
Posts: 117
Joined: Jul 2012
Reputation: 1
Post: #15
(2012-07-04 09:33)Montellese Wrote:  It's about advanced filtering options in the library views (see http://forum.xbmc.org/showthread.php?tid=127885). While this is primarily focused on filtering in the GUI I hope that I can also introduce a similar functionality (probably with even more possibilities) to JSON-RPC.

Thank you for working on this! I have an old and clunky script that would search the local xbmc db (with py and sql) then write out smart playlists to the local system based on IMDB watchlists and wikipedia entries. Now we have tags I want to:
* take these imdb watchlists and map them to a desired xbmc tag, such that a GUI user can type in an IMDB url, and enter the tag they want it mapped to
* write tags to the xbmc db via json (making sure to gather the existing ones before re-writing)
* then the user can make their own smart playlist based on their shiny new dynamic tags

Having never used json i've run into quite a few barriers - none of them insurmountable thus far. I found this project because I don't fancy dumping out the entire db every single time the script runs, nor am I fond of my old sqlconnect commands. While they do offer me speed and specific filtering, it's a pain to watch out for all the different OS environments, and completely breaks if a user has their own mysql db (which they often do if they want functionality like this).

If I'm reading the introspect output of VideoLibrary.GetMovies right it looks as though I still can't use "imdbnumber" as a filter, and thus must dump the entire thing out to a hefty array.

Sorry for the blather, here's my question:
Have I understood the json filter limitations properly, such that I may not return details for a single movie given its imdbnumber?

If so, and if your project is intended to improve this situation, then thank you very much in advance.
find quote
Post Reply