• Max{Height,Width}OfElement() should now produce saner values
• Video can now resize upon orientation change on mobile
• Search grid now sizes to the correct area
• CSS rule setting only tries to touch local stylesheets
• Video size may be based on the height if the width-based is too tall
• Auto-scrolling improvements:
• It now cannot oscillate
• It doesn't happen at all if scrolled to the very top / bottom
Thanks to @Freak_ on freenode for the report
Both pages:
Derive reliable window dimensions ourselves
Set the orientation from the window dimensions
Use "box-sizing: content-box" on the help keys, to fix sizing
Search page:
Support irregular (i.e. non-square) grids
General sizing fixes
Fix text fitting when toggling back from List to Grid view
Fix text fitting when textNode would overflow container
Correctly compute optimal grid size after orientation change
Rename .text to .cineraText to avoid CSS selector clash
Only add click events for the main set of buttons (not its clone)
Player page:
Size the video and timestamps bar more sensibly
Search page:
Manually size the grid buttons, and head / tail items
Player page:
Confine long menus to the player height
Confine the help documentation to the window size
Major features:
Search page: Subdivision grid layout
Player page: Device orientation-specific layout
Fixes:
Strip slashes of the URLs: base_url, etc.
Fix SnipeChecksumAndCloseFile() to not null-terminate the checksum string
Fix hover background colouration of medium icons of current timestamp
Fix DeriveLineageWithoutOriginOfProject() to call InitBookOfPointers()
Fix SortAndAbbreviateSpeakers() to use the person's ID if Name is blank
More directly display the "unit", if set, in the search results
Fix VideoIsPrivate() to find the apparently relocated privacyStatus
Make VideoIsPrivate() default to TRUE for non-youtube
Output as keywords all topics that do not match "nullTopic"
Deleted asset:
cinera_search.js
New assets:
cinera_search_pre.js
cinera_search_post.js
Database version 5
Major features:
Config file parsing
Multiple projects per instance
Searching across multiple projects
Art sprites, usable by project, medium and support
Minor features:
The search results are now sortable
Optimised the search page sorting
Fixes:
More reliable file system monitoring
Well-formed templates are now valid, even with the absence of assets
Correctly resove ~ in paths
Gracefully handle the lack of an internet connection
Renamed "annotator" to "indexer"
Removed PlayerURLPrefix, in favour of .hmml "output" parameter
Replaced the flags collection with:
-0 Dry-run mode
-c Set the config file path
-e Examine the database
-v Print version
-h Print help
New template tags:
__CINERA_NAV__ dropdown
__CINERA_NAV__ horizontal
__CINERA_NAV__ plain
__CINERA_PROJECT_PLAIN__
Deleted template tags:
__CINERA_MENUS__
__CINERA_SCRIPT__
We no longer prevent enforcement of strict server security policies (to
be documented)
Add bounds-checking to the Copy string functions, fixing buffer sizes
Fix the marker skipping (e.g. :afk)
Different ISBN database, and slightly more flexible BuildReference()
Permit line-breaking on '/' in the references menu
cinera.css and cinera_player*.js:
More subtle "click here to regain focus" - for @insofaras
Persist theatre mode - for @insofaras
Resume in-progress video at previous timecode - for @AsafGartner
cinera_player_pre.js: Episode keyboard navigation. Also swap out A for
K, and D for J
cinera_player_pre.js: Handle the case in onRefChanged() in which the
filter_container or filterState is not present
cinera.c: Refetch quotes when processing a set of annotations >60 mins
after the last fetch
Flags:
-w Force quote cache rebuild
Also compress the template code
cinera_player_pre.js: Fix bug in which onRefChanged() tried to call
player.jumpToNextMarker(); before the player was ready. This could
happen if its first marker's timecode is 0:00 and medium is :afk
Enable Theatre mode to work in containers styled with max-width or
max-height
This also changes the hardcoded, unintegrated output to wrap cineraMenus
and cineraPlayerContainer in a <div>, as newly reflected in the example
template_player.html
This is hardcoded for now, for ease of use, pending the config system
Also add Medium to the ProjectInfo array, to save users having to set
this with -m (which option remains available to them)
Reorganise the CSS, Images and JS files back to their location in the
same directory, since a default invocation of the program assumes they
are in the same directory as the Root Directory, to hopefully alleviate
some potential user frustration thanks to the requirement to set their
locations (with -c, -i and -j) before any usable output is produced