Exploration of an opera soundtrack use-case for #1070
We want to describe an opera recording and to provide the following navigation:
- A Very Short Opera
- Act 1
- Famous Aria
- Act 2
- Act 1
Over a soundtrack that is divided into sections:
- t=0,100 - Overture
- t=100,1000 - Act 1
- t=500,600 - Famous Aria
- t=1000,2000 - Act 2
Where the desired behaviours are:
- Selecting "A Very Short Opera" in navigation will play the whole opera including the overture (sub-sections may highlighted at appropriate points).
- Selecting "Act 1" or "Act 2" in navigation will play the entirity of that act.
- Selecting "Famous Aria" will play just that aria within act 1.
For the sake of simplicity, the entire soundtrack for this opera is one canvas with a duration of 2000s. There would be no significant changes in structure if it were split over more than one canvas.
members
is used to indicate the list of parts within a struture. The extent is the concatenation of the members. It is expected that a viewer would be smart enough to stitch together contiguous members, but out-of-order arrangements (e.g.[ { #t=1,2 }, { #t=0,1 }, { #t=2,3} ]
) are allowed.viewingHint
ofno-nav
is used to indicate portions that should not appear in the navigation hierarchy (re-use ofnone
is tempting be has potential conflict with use to control rendering of content)
members
indicates list of parts.- Ranges are always in the navigation
- Canvases can be members along with Ranges, and provide extent
viewingHint
possible, but so far unnecessary
extents
is used to provide the list of parts within a struture.members
is used to provide the list of navigation components within a structure. The content of themembers
SHOULD be included with theextents
. Would need to define expected behavior if this is not the case (error or whether it is OK for viewer to play part that does not include the sub-parts).