Giter VIP home page Giter VIP logo

setlist's Introduction

Musicians Repertoire and Setlist tool

  • Generates set lists
  • Generates cheat sheets

Status of the Project

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.

CLI documentation

Run setlist --help to or check the Markdown CLI docs

Repertoire structure

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

Repertoire.md

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

Gigs

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.

Songs

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.

Dependencies

  • 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.

Docker image

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

setlist's People

Contributors

laenzlinger avatar

Watchers

 avatar

setlist's Issues

doc bug

-a, --all Generate a cheat sheet out of all songs (ignores --gig).

cheat sheet TOC

A table of content would be useful to be generated in order to faster navigate between the different sections of the document

create a docker container

in order to successfully run the generator, libre office and chromium are required.

a simple way to add these dependencies would be within a docker container

Remove temp files

temp files are only removed on clean, they could be removed when they are not needed anymore

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.