Chordbook
=========

An application to manage books of chords for bands.

TODO for 0.1:
-------------

* Externalise HTML template
* Externalise CSS for HTML
* Full test suite coverage

TODO then:
----------

* Annotations
* Lyrics
* Tags (and views on sets of tags)
* Some kind of JSON editor / inputter thing
* Subsettable output (albums, setlists etc)

TODO eventually:
----------------

* Full-on GUI that works on all devices
* LaTeX / PDF / PS output
* Print from within app
* Embeddable audio
* Views for different parts
* Tab
* Rhythm notation

Implemented:
------------

* Basic commandline functionality
* Reads and parses a JSON input file containing a book of songs with chords
* HTML output mode, which prints more or less nicely
* Plaintext output mode, which doesn't really
* Transposition feature
* Package installs with standard Python tools
* Writes output files to directory with name of outputter
* -c switch forces output to current directory
* Output filename derived from input filename
* -o OUTFILE allows direct specification of output filename
* -s switch outputs to stdout instead
* -h output is now useful
* Beginnings of test suite in place

Initial plan:
-------------

Phase 1
-------

Command-line engine.

Take input in form of textfile.

Just chords and sections for now.

Use JSON to format input file

Produce output suitable for printing in song-per-page format for stage use.

Modularise output. So it can be plaintext, html, LaTex etc, with output
type specified by a commandline option and actual output handled by
pluggable code modules.

First two modules to write:

Text
HTML

Phase 2
-------

* Lyrics
* Tablature scraps
* Topline melody (in certain output types, eg MuseScore)

Phase 3
-------

* GUI front-end interface for input
* GUI front-end interface for output 

