Hey, y'all I finally have some time and some motivation, so it's time for a new project. I'm planning to add filters and grouping to Pan View.
First off, here's my usecase: A few weeks ago, I photographed a 25-hour-long endurance car race. I shot 4,100 frames. When I was reviewing them, I found that sometimes I wanted to focus on certain "sections" of the race, and at other times, I wanted to be able to briefly skim the different sections. The sections might be "This was morning prep." "This was the start." "That's when the car hit a barrier." "This was sunset." And so on. Geeqie can already encode all of the relevant metadata using Keywords, so that's the obvious design choice there. As for filters and grouping, SQL is a pretty obvious conceptual analog for what I have in mind. Suppose that we have a PanView open to /panview/path/, and that panview_filtered_keywords and panview_grouped_keywords are arrays of keywords. Here's PanView now: SELECT * FROM images WHERE filename LIKE '/panview/path/%'; The filter step is this. Note that "&&" is the SQL operator to test for set overlap: SELECT * FROM images WHERE (filename LIKE '/panview/path/%') AND (keywords && panview_filtered_keywords); The grouping step is something like this — images that aren't in any grouped sets are unaffected, and ones that are in grouped sets are aggregated: SELECT * FROM images WHERE (filename LIKE '/panview/path%') AND NOT(keywords && panview_grouped_keywords) UNION SELECT first(*) FROM images WHERE (filename LIKE '/panview/path%') GROUP BY GROUPING SETS (panview_grouped_keywords); See a description of the GROUPING SETS behavior here: https://www.postgresql.org/docs/9.5/static/queries-table-expressions.html#QUERIES-GROUPING-SETS "first" is just an aggregation strategy, but it could (and probably should) just as well include some special UI treatment to show that the thing being displayed is a group rather than just a single image. Eventually, it could include a custom UI widget that allows scrolling through all of the entries in the group in-place. There are plenty of details yet to be ironed out, like "what happens if an image has two keywords that are both in the panview_grouped_keywords array?" Cheers, --xsdg ------------------------------------------------------------------------------ Developer Access Program for Intel Xeon Phi Processors Access to Intel Xeon Phi processor-based developer platforms. With one year of Intel Parallel Studio XE. Training and support from Colfax. Order your platform today.http://sdm.link/intel _______________________________________________ Geeqie-devel mailing list Geeqie-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geeqie-devel