Creates the list needed by the template which renders the HTML interface allowing the user to link to one of the currently available sources of metronome synchronization, with the current selection, if any, properly identified.
Tracks the active show interface pages, and any pending interface updates for each.
(cue-view show left bottom width height holding snapshot)
Returns a nested structure of rows of cue information starting at the specified origin, with the specified width and height. Ideal for looping over and rendering in textual form, such as in a HTML table. Each cell contains a tuple [cue effect], the cue assigned to that grid location, and the currently-running effect, if any, launched from that cue. Cells which do not have associated cues still be assigned a unique cue ID (identifying page-relative coordinates, with zero at the lower left) so they can be updated if a cue is created for that slot while the page is still up.
The format to use when showing the time an effect was started. See the clj-time documentation if you want details of how to set up a different format string.
Route which delivers any changes which need to be applied to a show web interface to reflect differences in the current show state compared to when it was last updated.
Given a value from 0 to 1, return it as a rounded number of hundredths, except return 99 when it would round to 100, since it has to tie in with a whole value that we cannot easily increment. Used to provide information about the fractional beat and second at which an effect was started in the web interface.
If the show is running and we haven’t sent a load update in the last half second, send one.
(metronome-bpm-delta-for-event page-info kind)
If the UI event name submitted by a show page corresponds to a metronome bpm shift, and the metronome is not synced, return the appropriate bpm adjustment.
(metronome-changes page-id snapshot)
Return the list of changes that should be applied to the show metronome section since the last time it was updated.
(metronome-delta-for-event page-info kind)
If the UI event name submitted by a show page corresponds to a metronome shift, return the appropriate number of milliseconds.
(metronome-states show last-states snap)
Gather details about the current state of the main show metronome.
(post-ui-event id kind req)
Route which reports a user interaction with the show web interface.
Renders the web interface for interacting with the specified show.
If the running or error status of the show has changed, send an update about it.
Makes sure the cached page information contains list of the currently-registered physical grid controllers associated with a page’s show, assigning each a unique id number, so they can be selected in the user interface for scrolling or linking to. If this list changed, return the new list so it can be sent as an update to the page.
Scans for sources of MIDI clock pulses, and updates the cached page information to contain current list, assigning each a unique id number, so they can be selected in the sync interface.