This commit fixes spurious scrolling in DeriveReliableWindowDimensions()
on mobile. It also fixes centring of Vimeo videos on mobile.
• window.orientation → screen.orientation.type
• window.onorientationchange → screen.orientation.onchange
This commit adds keyboard navigation of the indices, documented in the
"Help" text box. It also improves scrolling of menus to follow progress
through the video, with the ability to centre the scrolling around a
range of references. Finally in this UI work, it enables the keyboard
and mouse to work more cooperatively.
• Added a "Clear" so the player's initial sizing happens invisibly.
• Fixed getBackgroundColourRGB() to handle both rgb() and rgba().
• Deduplicated code, including spurious querySelectorAll() calls.
• Moved global variables into the Player object.
This commit fixes the sizing of the player's menus to not protrude below
It also adds scrolling of the references menu to the first menu item
cited in the newly-current timestamp, and fixes scrolling of the markers
container when switching to a timestamp after the user has scrolled the
container away from its default position.
This commit adds support for tracking and resolving clashes of output
locations. Previously open-ended clash dependency chains could passively
resolve across multiple Cinera invocations (undesirable, but possible);
whereas closed-loop dependency chains could not resolve without the user
manually resolving them by moving one clash to a temporary location (not
acceptable). This new support handles such clashes in one fell swoop.
Other smaller changes in this commit:
• Change message_control to use memory_book
• Fix deletion of old .index files when reorganising projects
• Fix deletion of moved entries when subdividing projects
This commit adds support for deduplication of messages emitted by
PrintEdit(). It's a first pass, only supporting single-line messages and
ones no larger than 512 bytes.
It also fixes StringContains() to skip strings shorter than the search
substring, and emits a more sensible error on empty "output" value.
This commit replaces ClearCopyStringNoFormat() with
ClearCopyStringNoFormatOrTerminate(). All calls to that function
passed an implicitly 0-terminated string as the destination, meaning
that we don't need to 0-terminate them and, in not doing, we free up a
byte to store data.
It also deduplicates code as CopyBytes(), and does a little bounds
checking before actually trying to copy.
This commit adds support for configurably enabling closed captions by
default. Set the "default_cc_lang" in a config file, or "cc_lang" in the
[video] node of an .hmml file. Once set, videos which contain captions
for this langage will be initialised with these captions enabled.
New config setting:
New [video] node field:
This commit makes the auto-derivation of name abbreviations code handle
quoted nicknames and lower-cased surname prefixes (e.g. du Pré). It also
upstreams the abbreviation to config parse time, and introduces config
fields in the person scope to allow overwriting the auto-derived ones.
• Fix null pointer dereference in InsertProjectIntoDB(), due to a
rogue WriteFromByteToPointer() call left in when removing the
_TopLevel() database modification functions in v0.10.14
• Fix config file locking by closing all config files on detecting
a config file change, even if we had no prior working config
• Increase IncludesSearch buffer size from 2 to 4KB
New config fields in the person scope:
This commit aims to generalise database structures such that any block
may be traversed without the need for specific functions for each type.
Concretely, it replaces functions like SkipAsset() and SkipProject()
with a generic SkipHeaderedSectionRecursively(). The change also paves
the way for the plethora of new block types due in CINERA_DB_VERSION 6.
• Renumber affected entries when inserting / deleting an entry of an
• Prohibit an entry from sharing an "output" with another entry
• Prohibit an entry's "output" from containing a slash
• Fix entry HTML deletion to use OutputLocation, not BaseFilename
New config options:
Defaults to $project
May be used to 0-index the set
numbering_unit (renamed from "unit")
This commit also fixes the size of the "?" help button and category dots
when the wider site uses box-sizing: border-box
To use it, source the cinera_clear.js file at the position in the HTML
file to be obscured while further processing occurs. (Make sure not to
After processing is complete, call FlipClear()