Skip to main content

Sheet music management for large ensembles

Project description

magicbook

A set of utilities for managing your large ensemble sheet music

Getting Started

Create a new magicbook library by running magicbook (directory) -n, this creates a new library in the specified directory. The library will have the following structure:

.
├── config
│   ├── config.json
│   ├── ensembles
│   ├── generic_ensemble.json
│   ├── instruments.json
│   ├── schema
│   │   └── chart-info.json
│   └── templates
├── logs
├── music-library
│  
└── output

Once the library is created, magicbook should be run from the root dirctory of the library. Alternatively, you can specify the path to the library with magicbook -p PATH.

To add charts to the library, run magicbook charts add SLUG True --song TITLE ARTIST ARRANGER

  • SLUG is the directory the chart will go in, and can only contain lowercase letters and dashes (-)
  • TITLE is the title of the song on the chart
  • ARTIST and ARRANGER are self-explanatory. If you don't know the artist or the arranger, you can use "" (an empty string).

magicbook is still in development, so you have to copy the PDFs into the directory manually for now, following this structure:

├── (chart-slug)
│   ├── info.json
│   ├── (chart-slug) AUDIO.mp3
│   ├── (chart-slug) (FORMAT) (part-slug).pdf
│   ├── ...
│   ├── (chart-slug) (FORMAT) (part-slug).pdf
│   └── (chart-slug) SCORE.pdf
├── (chart-slug)
│   ├── info.json
│   ├── (chart-slug) AUDIO.mp3
│   ├── (chart-slug) (FORMAT) (part-slug).pdf
│   ├── ...
│   ├── (chart-slug) (FORMAT) (part-slug).pdf
│   └── (chart-slug) SCORE.pdf
├── (chart-slug)
│   └── ...
└── (chart-slug)

A sample music library with this structure is available for download here

There will be a command to import PDFs into the library in a future release.

Note that magicbook currently requires a single-page letter size PDF file to properly impose the charts, stored as ./config/templates/trim-guides.pdf. Use a PDF with trim markings (like this one) if you want them printed on your marchpacks, otherwise use a blank PDF. This is a temporary workaround that won't be needed in future releases.

Terminology

For the purposes of this software:

  • a song is a work of music.
  • a chart is a set of sheet music, with multiple pdf parts for different players.
    • A chart may have one or more songs.
    • A chart may have one or more pages.

Features

As of this writing, magicbook performs the following tasks:

  • Auditing the library on startup
    • ensures every chart has a valid info.json file
  • Assembling books from a selection of charts, where parts are in directories based on their instrument rather than based on their assocated chart
  • Merging these directories of different parts into an A.pdf and B.pdf to be printed and placed in marchpacks
  • Merging an instrument's charts into one single PDF for printing, either as a marchpack (7in x 5in pages that attach to an instrument), or as a full-sized binder with 8.5in x 11in pages.
    • For marchpacks, imposing the marchpack pages onto 8.5" x 11" paper (2 marchpack pages per printing pages), so after printing they can be easily cut with a paper cutter and placed into a standard double-sided marchpack
  • Searching for alternate parts if a chart doesn't have a part for a specified instrument.
    • i.e. if there is no Trombone part, add a Baritone part if one is available. If that's not an option, add a Tuba part.
  • Printing a table of contents for each book, listing charts in alphabetical order.

Planned Features

  • Importing chart files into the library
  • Update the chart "info.json" file
  • Modifying created books with a record of previous versions and the date modified, so PDFs with only updated parts as opposed to the whole book can be created.
  • This is not a complete list of planned features, will add more to this section as I organize my thoughts.

Limitations

  • magicbook only works with instruments divided into four parts at most. Since most large ensemble sheet music doesn't split instruments into more than four parts, increasing this limit is not a priority.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

magicbook-0.0.3.tar.gz (35.2 kB view details)

Uploaded Source

Built Distribution

magicbook-0.0.3-py3-none-any.whl (37.1 kB view details)

Uploaded Python 3

File details

Details for the file magicbook-0.0.3.tar.gz.

File metadata

  • Download URL: magicbook-0.0.3.tar.gz
  • Upload date:
  • Size: 35.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/23.5.0

File hashes

Hashes for magicbook-0.0.3.tar.gz
Algorithm Hash digest
SHA256 581f268e362f7af96949ec8bf9ea26be95b6b03b455ec24171f69076f2d6104b
MD5 2b344450b4d5489dfbc7f00192409afe
BLAKE2b-256 07dbbe5a2bac66d2406aa52e548f68e53466fb72fbb61baac1e2f65f45633f7e

See more details on using hashes here.

File details

Details for the file magicbook-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: magicbook-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 37.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/23.5.0

File hashes

Hashes for magicbook-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5a8dfa82f5ad039b30381e0c991bc66bfa555e74d65fd92e62cff79f4a76d912
MD5 7f1ca137bc5be2ba2e4154b3b2b51918
BLAKE2b-256 f705f79fba19b7ee2c9475897c3f68ae911e8aadfcdb04319a14659577a4d55d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page