# gig.py ./gig.py [-w] show.yaml Use the -w flag to run in regular windows rather than full screen. ## YAML Define your set with: set: - item1 - item2 - item3 Define your preshow with: preshow: - item4 Define your items: items: item1: title: Title events: - Display: media: File.jpg at: select - Lyrics: text: Text at: start ## Time markers Events are scheduled to happen at times. Times can be specified in terms of markers, and modified by bars, beats and hours/minutes/seconds. There are two predefined markers: * select - defined as the time the item is selected. This is typically used for an introduction to a piece. * start - defined as the time the item is started. This is typically when backing tracks are played. Other markers can be defined for convenience. Every time specification must include at least one marker. The marker may be modified using addition or subtraction. The following expressions can be combined: * ` bars` - number of bars at the current tempo. The keywords `bar` and `bars` are both accepted. * ` beats` - number of beats at the current tempo. The keywords `beat` and `beats` are both accepted. * `` - number of seconds * `:` - number of minutes and seconds * `::` - number of hours, minutes and seconds Examples: at: start + 4 bars - 1 beat at: select + 1:23 ## Event types ### Display Displays image for the audience (not yet implemented) * at - time to display the image * media - filename of the image ### Lyrics Display lyrics for the audience * at - time to display the text * text - text to display * duration - (not yet implemented) ### Playback Play audio * at - time to display the text * media - filename to play * device - output device to use (optional) * channels - output channel map (optional) * tempo - initial tempo (bpm) (optional) * beats - initials beats in a bar (optional) * leadin - time in seconds before the first beat (optional) (not yet implemented) * loop - (True/False) loop at end of playback (optional) (not yet implemented) ### SetTempo Set the tempo at a given time * at - time at which to set the tempo * tempo - new tempo (bpm) (optional) * beats - new beats in a bar (optional) ### SetMark Set time marker * at - time to set the marker to * name - name of marker ### ButtonMark Set time marker based on external keypress * name - name of marker