2025-08-05 00:38:17 +01:00
2025-08-05 01:10:28 +01:00
2025-08-22 22:08:52 +01:00
2025-08-08 03:36:23 +01:00
2025-08-22 22:08:52 +01:00
2025-08-05 02:43:29 +01:00
2025-08-05 02:45:59 +01:00
2025-08-05 01:10:28 +01:00

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:

  • <number> bars - number of bars at the current tempo. The keywords bar and bars are both accepted.
  • <number> beats - number of beats at the current tempo. The keywords beat and beats are both accepted.
  • <number> - number of seconds
  • <number>:<number> - number of minutes and seconds
  • <number>:<number>:<number> - 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)
  • gain - gain to apply to audio in dB (optional)

FadeOut

Trigger a fade out of the currently playing audio

  • at - time to start fading
  • db - dB of attenuation to reach before stopping (optional, defaults to 30dB)
  • duration - number of seconds to reach the required attenuation (optional, defaults to 10 seconds)

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
Description
No description provided
Readme 76 KiB
Languages
Python 100%