# ChordPro 6.04 Cheat Sheet
# General
ChordPro input is a file containing song lyrics, chords and annotations.
Chords are placed between brackets [
and ]
.
Annotations are placed between bracket-star [*
and ]
.
The input data may be encoded in ASCII, ISO 8859.1, UTF-8, UTF-16 or UTF-32.
Lines may be continued on the next line by putting a backslash \
at the end.
Unicode escape sequences (\u
followed by 4 hexadecimal digits) are replaced by the corresponding unicode character.1
Directives control processing and output.
Directives are placed between braces {
and }
and must be on a single line.
Example:
{title: Twinkle}
[C]Twinkle, twinkle, [F]little [C]star
Texts and chords can use ChordPro Markup and metadata.
Lines that start with a hash #
are ignored.
Lines that end with a backslash \
will get the next line appended,
where the backslash and leading whitespace of the next line are
discarded.
# Directives
Directives can be conditionally executed by appending a dash -
and a selector to the directive name.
Arguments to directives may be separated by a colon :
and/or whitespace. They may be quoted with ""
or ''
.
Directive | Short | Purpose | Since |
---|---|---|---|
chord name … | Display diagram in-line. | 5.0 | |
… base-fret base |
Specify base-fret (1 or higher).2 | 5.0 | |
… diagram display |
Override diagram display. May be a colour. | 6.03 | |
… display display |
Override chord properties.2 | 6.02 | |
… fingers pos1 pos2 pos3 … |
Specify finger positions.2 | 6.0 | |
… format format |
Format string for display purposes.2 | 6.02 | |
… frets pos1 pos2 pos3 … |
Specify fret positions.2 | 5.0 | |
… keys pos1 pos2 pos3 … |
Specify keyboard keys.2 | 6.0 | |
chordcolour colour | Chord colour. | 5.0 | |
chordfont font | cf3 | Chord font. | 1.0 |
chordsize size | cs3 | Chord size. | 1.0 |
chorus | Recall chorus. May have a label.4 | 5.0 | |
choruscolour colour | Chorus colour. | 6.03 | |
chorusfont font | Chorus font. | 6.03 | |
chorussize size | Chorus size. | 6.03 | |
column_break | cb | New column or page. | 3.6 |
columns cols | col | Number of columns. | 3.6 |
comment | c | Comment. | 1.0 |
comment_box | cb | Comment. | 3.6 |
comment_italic | ci | Comment. | 3.6 |
define name … | Define chord. | 1.0 | |
… base-fret base |
Specify base-fret (1 or higher).2 | 1.0 | |
… diagram display |
Override diagram display. May be a colour. | 6.03 | |
… display display |
Override chord properties.2 | 6.02 | |
… fingers pos1 pos2 pos3 … |
Specify finger positions.2 | 6.0 | |
… format format |
Format string for display purposes.2 | 6.02 | |
… frets pos1 pos2 pos3 … |
Specify fret positions.2 | 1.0 | |
… keys pos1 pos2 pos3 … |
Specify keyboard keys.2 | 6.0 | |
diagrams | Control diagrams printing | 6.02 | |
end_of_section | Ends a specific section. | 6.0 | |
end_of_bridge | eob | Ends bridge section. | 6.0 |
end_of_chorus | eoc | Ends chorus section. | 1.0 |
end_of_grid | eog5 | Ends grid section. | 5.0 |
end_of_tab | eot | Ends tab section. | 3.6 |
end_of_verse | eov | Ends verse section. | 6.0 |
footersize size | Footer size. | 5.0 | |
footercolour colour | Footer colour. | 5.0 | |
footerfont font | Footer font. | 5.0 | |
grid | g | Obsolete. See {diagrams}. | 3.6 |
highlight | Same as comment. | 5.0 | |
image … | Include image. | 5.0 | |
… anchor= anchor |
Anchor for static image. | 6.01 | |
… border |
Draws a 1 point border around the image. | 5.0 | |
… border= width |
Draws a border around the image (points). | 5.0 | |
… center |
Center image. | 5.0 | |
… center= arg |
Center image if arg . | 5.0 | |
… height= height |
Height (points). | 5.0 | |
… id= id |
Asset id. | 6.01 | |
… scale= scale |
Scale factor (number). | 5.0 | |
… spread= advance |
Places the image at the top of the page, across the full page width | 6.0 | |
… src= filename |
Image file name | 5.0 | |
… title= text |
Provides a title (caption) for the image. | 5.0 | |
… width= width |
Width (points). | 5.0 | |
… x= offset |
Horizontal offset (points) for static image. | 6.01 | |
… y= offset |
Vertical offset (points) for static image. | 6.01 | |
meta item | Metadata. | 5.0 | |
meta album name | album | Album name. | 5.0 |
meta artist name | artist | Artist name. | 5.0 |
meta capo pos | capo | Capo. | 5.0 |
meta composer name | composer | Composer name. | 5.0 |
meta copyright text | copyright | Copyright. | 5.0 |
meta duration … | duration | Duration (mm:ss or seconds). | 5.0 |
meta key key | key | Key. | 5.0 |
meta lyricist name | lyricist | Lyricist name. | 5.0 |
meta sorttitle text | sorttitle | Sort title. | 6.0 |
meta tempo bpm | tempo | Tempo (beats per minute). | 5.0 |
meta time n / m |
time | Time signature. | 5.0 |
meta year text | year | Release date. | 5.0 |
new_page | np | Starts new page. | 3.6 |
new_physical_page | npp | Starts new page. | 3.6 |
new_song … | ns | Starts a new song. | 1.0 |
… toc= arg |
Enter the title in the table of contents if arg (default) | 6.04 | |
no_grid | ng | Obsolete. See {diagrams:off}. | 3.6 |
pagetype …6 | Set page (paper) size. | 4.0 | |
start_of_section | Starts a specific section. May have a label. | 6.0 | |
start_of_bridge | sob | Starts bridge section. May have a label. | 6.0 |
start_of_chorus | soc | Starts chorus section. May have a label.4 | 1.0 |
start_of_grid | sog5 | Starts grid section. May have a label.4 | 5.0 |
start_of_tab | sot | Starts tab section May have a label.4 | 3.6 |
start_of_verse | sov | Starts verse section. May have a label. | 6.0 |
subtitle text | st | Subtitle for song. | 1.0 |
tabcolour colour | Tabs colour. | 5.0 | |
tabfont font | Tabs font. | 5.0 | |
tabsize size | Tabs size. | 5.0 | |
textcolour colour | Text colour. | 5.0 | |
textfont font | tf3 | Text font. | 1.0 |
textsize size | ts3 | Text size. | 1.0 |
title text | t | Title for song. | 1.0 |
titlesize size | Title size. | 5.0 | |
titlecolour colour | Title colour. | 5.0 | |
titlefont font | Title font. | 5.0 | |
titles flush | Flush titles (center , left or right ). |
3.6.4 | |
tocsize size | Table of contents font size. | 5.0 | |
toccolour colour | Table of contents colour. | 5.0 | |
tocfont font | Table of contents font. | 5.0 | |
transpose semitones | Transpose by a number of semitones. | 5.0 | |
x_… | Custom directive. | 5.0 |
# Notes
There are no archived releases between 1.2 and 3.6, so unless there are pre-1.2 proofs 3.6 is taken to be the initial release for a feature.
There has never been an official 5.0 release. 5.0 was mostly an intermediate development target for 6.0.
As of version 6, the version numbering is according to semantic
versioning. However, to obtain a defined sorting
order of file names a two-digit minor version is combined with a
single digit patch number to form a single three-digit fraction.
6.030
is version 6
, minor 3
, patch 0
.
-
Continuation lines and unicode escapes were introduced in 6.01. ↩︎
-
As of version 6.0, all arguments to
chord
anddefine
directives are optional. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ -
The short forms were missing in version 5,0, and re-added in 6.0. ↩︎ ↩︎ ↩︎ ↩︎
-
Section labels are a 6.0 feature. ↩︎ ↩︎ ↩︎ ↩︎
-
Actually,
pagetype
andpagesize
were never implemented in version 5.0 and higher. ↩︎