PO3 Selection Screens

Introduction
PO4, as PO1, presents selection screens to the user, to select the piece she wants to conduct, and the preferred Notestand mode. At the moment, MICON only knows about Radetzky March, Blue Danube Waltz, A Little Night Music and Annen Polka, and also expects their indexes (which PO4 sends to it in POCP_Server) to be in that order.

Currently, these selection screens are hardcoded. The graphics are consecutive still frames in a QuickTime movie (as in PO1), with an additional plist-file, describing what frame represents what piece/visualization. These two files have to be referenced in a PO3 Movie Collection.


Format of the QuickTime movies
The first n frames represent the n possible pieces located in the corresponding PO3 Movie Collection, or the possible visualizations (3 at the moment). The n+1 frame can be a special "Back frame" (this frame is optional), providing the user with the option to go back to the previous selection screen. The last frame is expected to be a "blank frame", a special frame with no option highlighted. This frame is used, when the baton is currently not visible, to indicate to the user that pressing the button won't have any effects right now.


Format of the plist files
Each movie is accompanied by a plist file describing its structure. These contain an array, containing dictionaries describing the properties of each of the movie's frames. The following keys are defined:
  • SelectionStateRegionIdentifier: For piece selection, this is the name of the corresponding movie, as defined in its MovieInfo. For viz selection, this is an integer (0 for Full Score, 1 for Piano part, 2 for Piano roll). The special "Back frame" uses the string "SelectionStateBackRegion". This key is mandatory.
  • SelectionStateRegionTime: A number indicating the movie time at which we find the corresponding frame. This key is mandatory.
  • SelectionStateRegionLowerYBound: This indicates with a value between 0 and 1 the lower bound of the bounding rectangle for this option. If the baton is situated between this value, and the lower bound from the previous option, this option will be highlighted. This key is mandatory for all frames except the "Blank frame".