- Generates set lists
- Generates cheat sheets
This is currently just a PoC. I am using it for my musical hobby and develop it on the as i need more features. Therefore - for all 0.X versions - the command line interface might change, there is no guarantee fro backwards compatibility yet.
Run setlist --help
to or check the Markdown CLI docs
By convention the Repertoire is organised in the following directory structure:
The repertoire is by default partitioned into substructures for example to support multiple bands.
Repertoire
├── Band
│ ├── Gigs
│ │ └── 'Grand Ole Opry.md'
│ ├── Songs
│ │ ├── 'Frankie and Johnnie.odt'
│ │ ├── 'Her Song.md'
│ │ └── 'On the Alamo.pdf'
│ ├── README.md
│ └── Repertoire.md
├── .gitignore
└── .setlist
Metadata is maintained in a Markdown GFM table on the top level of the Repertoire.md file. See example.
The Table must have a header row. The only mandatory column is the
Title
column which is used to refer to the song titles
for both generte sheet
and generate list
.
Optional columns used (by default) generate output.
Column | Type | Used by command |
---|---|---|
Title | Mandatory | list, cheat, suisa |
Year | Optional | list, suisa |
Description | Optional | list |
Arranger | Optional | suisa |
Composer | Optional | suisa |
Duration | Optional | suisa |
The output columns can be selected by the --include-columns
flag,
but the order or the columns is defined by the input Repertoire.md
Each gig is maintained in a Markdown file within the Gigs subdirectory. The name of the Markdown file is the name of the gig. Each song title is listed on top level of the Markdown file as an unordered list element.
Each song is maintained in a .pdf file within the Songs subdirectory.
Optionally a .pdf can also be generated out of an Open Document (.odt) or a Markdwon (.md) file.
The filename must the same as the song title within the Gig Markdown file in order to be picked up by the cheat sheet
generator.
- Cheat sheets can be designed in the odt format. LibreOffice is used to generate pdf.
- To convert html pdf, a chrome (tested with chromium) browser is required.
In case you don't want to install the dependencies locally, you can use the docker image:
Example:
docker run --rm --user "$(id -u)":"$(id -g)" -v $(pwd):/repertoire ghcr.io/laenzlinger/setlist --help