Introducing the new ChordPro viewer in GuitarTapp

Our team has been working hard to develop a new ChordPro viewer specifically designed to maximize readability, fully use the available screen real-estate, and allow fast tab writing. We’ve taken the ChordPro format, implemented relevant features, and added extra functionality we thought would come in handy for use in GuitarTapp. We’d like to introduce it to you and explain how to use it. The new ChordPro engine is available in GuitarTapp from version 2.8 on.

What is ChordPro?
The ChordPro file format has been around for some time, and there’s quite a few tools available to read, display and print them. ChordPro files are plain-text files that contain simple formatting directives. The original specification allows tab authors to easily write chords in between lyrics, show titles and subtitles, define chords and display their diagrams, define chorus blocks, define tab blocks, and add comments into the sheets. The ChordPro format eliminates the need for word-processors like Microsoft Word to create uniform and good-looking song sheets.

What does a ChordPro file look like?
If you open up an ChordPro file in a text-editor, you will see something like this:

{title:The Happy Song}
{subtitle:Written when I was happy}

{comment:Sing this when you're happy}
{guitar_comment:Tune before you play or you'll make everyone feel miserable}

[G]This is a [C]happy song,
a [G]happy song, a [D]happy song.
[G]This is a [C]happy song,
a [D]happy song [Dsus4]it [G]is.

In GuitarTapp, this will be rendered as:

As you can see, the chords in between the [square brackets] are all rendered above the lyrics at the right location. Compared to normal “legacy” chord files supported in GuitarTapp, this is a lot easier than having to enter the chords on separate lines with the right amounts of spaces between them.

What standard ChordPro directives are supported by GuitarTapp?
The table below shows what directives can be used in ChordPro files, and which are currently supported by GuitarTapp.

Directive Description Supported
or {t:text}
Specifies the title of the song. It appears at the top of the song in the first column, centered. Yes
or {st:text}
Specifies a subtitle for the song. Will be printed just below the title. Yes
or {soc}
Indicates the start of a chorus. GuitarTapp will indent all lines until the end_of_chorus directive appears. Yes
or {eoc}
Marks the end of a chorus. Yes
or {c:text}
Prints the text following the colon as a comment. Yes, printed in italics
{guitar_comment:text} Prints the text following the colon as a comment. This comment will only be printed if chords are also printed; it should be used for comments to performers, or for other notes that are unneccessary for lyrics-only song sheets. Yes, printed in italics
or {sot}
Indicates the start of a guitar tab section. The text will be formatted in a fixed-width font until the end_of_tab directive appears. This can be useful for creating a tab drawing with ASCII text. Guitar tab sections will only be printed if chords are also printed. Yes, but currently not recommended
or {eot}
Marks the end of the guitar tab section. Yes
or {ns}
Marks the beginning of a new song. Yes, resets rehearsal signs. Not recommended, might become obsolete
or {np}
Causes a column or page break depending on output settings Yes
or {npp}
Forces a physical page break. Yes
or {colb}
Forces a column break. Yes, does the same as new_page directive
{define: <chord>..
base-fret <base>..
frets <Low-E> <A> <D>..
<G> <B> <E>}
Defines a chord, its diagram will be shown underneith the song’s title. A little confusing about this ChordPro directive is the base-fret: for open chords it’s 1, not 0 as one might expect. Fret number 1 for a string indicates the base-fret is played, allowing for barre-chords with open strings being defined.

Open Am chord:
{define:Am base-fret..
1 frets x 0 2 2 1 0}

Barre F:
{define:F base-fret 1..
frets 1 3 3 2 1 1}

Barre D/A:
{define:D/A base-fret..
5 frets 1 1 3 3 3 1}

C#sus with open strings:
{define:C#sus base-fret..
4 frets x 1 3 3 0 0}


GuitarTapp extensions to the ChordPro format
The table below lists NEW ChordPro directives that are being introduced by GuitarTapp. Please note that you can only use them with GuitarTapp.

Directive Description
or {sop:partname}
Indicates the start of a specific part of the song, for example “Verse 1″ or “Bridge”. Like the {start_of_chorus} directive, all lines until {end_of_part} will be indented.

Additional parameters
Additional parameters can be supplied to indicate whether the part is only for guitar, how many times it is directly repeated, and if it should use chords from a previously defined part.


{sop:Verse 1}

Indicates the start of Verse 1 without any additional parameters

{sop:Intro guitar_only}

Causes the part only to be displayed if chords are being displayed

{sop:Bridge repeat 4x}

Causes the Bridge’s title to be displayed as “Bridge 4x”; in a future GuitarTapp release will also be used for autoscroll timing

{sop:Verse 2 chords_like Verse 1}

Causes Verse 2′s chords to be automatically filled in using Verse 1′s chords

{sop:Solo guitar_only chords_like Intro repeat 2x}

Causes the solo only to be displayed when chords are being displayed, the chords defined in the Intro part to be used, and the Solo’s title to be displayed as “Solo 2x”

or {eop}
Indicates the end of a part
or {c:Chorus}
Unlike other software, GuitarTapp will repeat the entire chorus if it is displayed/printed on a separate page. (Not just a comment)

Additionally, a repeat parameter can be supplied to indicate how many times the chorus should be played.

{c:chorus 2x}

Causes the chorus to be repeated, with a remark to play it twice.

or {repeat:partname}
or {rp:partname}
Indicates a previously defined part is to be repeated. Depending on the display settings, GuitarTapp will display the entire part again if it is displayed/printed on a separate page (default), only repeat the chords, only repeat the lyrics, or only display a repeat comment

Additionally, a repeat parameter can be supplied to indicate how many times the repeated part should be played.

{rp:Bridge 2x}

Causes the Bridge to be repeated, with a remark to play it twice.

inline repeat conditions The directives below can be used to indicate certain lines (or parts of them) should only be displayed when the part (or chorus) is played an nth time.*
{n:content} Causes content only to be displayed when the part (or chorus) is played the nth time


{1:[Am]Only play this the [C]first [D]time}
We [C]have to {2:[D]sing this the [G]second time only}
{n,m,o:content} Causes content only to be displayed when the part (or chorus) is played the nth,mth, and oth time
{n-m:content} Causes content only to be displayed when the part (or chorus) is played the nth to mth time
{n+:content} Causes content only to be displayed when the part (or chorus) is played from the the nth time on
{inline:content} Causes any chords in content to be displayed inline, instead of above the lyrics. You can (for example) use this to display a manual note to play something only at a certain time, eg:
{inline:Play [C][D][Am][C] if chorus is repeated}
*Kindly note GuitarTapp (v2.8) counts the times a part/chorus is actually displayed/referenced once per repeat directive. Consequently, because
{repeat_part:Bridge 2x}

will only be displayed once at that particular point (not twice as indicated by the 2x), it will count it as being played 1 time. In this case, that means that if you use a


directive, this will apply to the 3rd time the Bridge is displayed/referenced; not actually played!

{tempo:n} Defines the song tempo in bpm. A tempo sign will be drawn at this particular location.
{time:n/m} Defines the song’s time signature, like 3/4 or 6/8. The signature will be displayed using traditional notation.

What files will be opened in the ChordPro view?
All files with extensions .crd, .crd, .pro, .chopro, .chordpro, .cpm, .cho and .gcp will be shown by the new ChordPro engine. In addition, all .txt files with content that start with a {title:text} directive will also be shown in the ChordPro view.

What extension should I give my ChordPro files?
You can use any extension from the list above, but we strongly recommend you to use the .gcp (GuitarTapp ChordPro) extension if you are using any directives introduced by GuitarTapp, because those directives aren’t compatible with other ChordPro software.

Tweaking the viewer settings
To open the ChordPro settings menu tap the top-left corner of the rendered content, a pop-over menu will appear:

By default, GuitarTapp will automatically choose how many columns to use, depending on your font-size settings and available screen width. Use the Auto item from the submenu to activate this default behaviour. Otherwise, choose the number of columns you’d like to see (1-4). If more than 1 column is used, horizontal scrolling (“paging”) will be enabled. To switch between pages, swipe your finger from right to left (next page) or vice versa. If you have a bluetooth pedal connected, you can use the pedal to swap pages. Choosing 1 column will enable vertical (legacy) scrolling and autoscroll availability.

Font Size
Use this setting to specify what size to use for the font. The default size for tablets/iPad (devices with screens larger than 5 inch) is 12pt, for smartphones 8pt. The font size you choose will be rendered on your device’s screen in the same size as it would on appear when printed on paper. Kindly note this font setting therefore does not correspond to the legacy tab viewer font size in GuitarTapp’s global settings.

Font Width
You can tweak the width of the font to a setting you find most comfortable to read. Available widths are in the range of 50% to 150%, default is 80%.

Use Rehearsal Signs
When switched on, each defined part (see start_of_part directive) and chorus will be assigned a rehearsal sign (‘A’ to ‘Z’), so any references to repeated parts are easier to locate on the page. Also, this makes things easier during rehearsals with your band; start playing again from ‘D’ will get everyone on the same page. Repeated parts will be assigned the part’s original rehearsal letter, with the repeat number attached. Eg: when a chorus with rehearsal sign ‘C’ is repeated, it will show up as ‘C2′.

Display Mode
Determines what content to display; available options are:

  • Everything: Displays everything available in the file. (Default)
  • Chords Only: Only displays chords, chord diagrams, guitar comments, guitar_only parts and tab blocks
  • Chords + First Words: Displays everything Chords Only does, and adds the first 2 or 3 words of each line’s lyrics
  • Lyrics Only: Only displays lyrics and comments (no guitar comments, no guitar_only parts etc)

Repeat Mode
Determines how repeated content (see repeat_part directive) on the same page will be displayed; available options are:

  • Everything: Displays the whole part again
  • Reference Only: Displays a reference to the part to repeat (Default, saves screen space)*
  • Lyrics Only: Only displays the part’s lyrics*
  • Chords Only: Only displays the part’s chords*
  • Never Repeat: Never repeats anything, even if the repeated part is to be displayed on a separate page – it will display references only.* (By default, repeated content on separate pages will be displayed in full)

*Note: If a part to be repeated contains conditional repeat directive such as {2:…}, {3,4:…}, {3+:…} or {2-5:…}, it will be repeated fully unless it’s effectively the same as the last time the part was played.

Switch to legacy viewer
Will display the file in the normal GuitarTapp tabs viewer. Kindly note not all directives are supported by the legacy tab viewer.

Export to PDF
Allows you to export to current file to a PDF which you can e-mail, share with others, or print. The pop-up menu has a couple of default export presets for the number of columns, page orientation and font size. Additionally, you can export using all your current settings and device orientation.

  • With current settings: creates a PDF using all your current settings and device orientation
  • 1 col 10pt portrait: exports 1 column in portrait orientation, using a 10pt font
  • 2 col 12pt portrait: 2 columns in portrait orientation, using a 12pt font
  • 2 col 14pt portrait: 2 columns in portrait orientation, using a 14pt font
  • 3 col 12pt landscape: 3 columns in landscape orientation, using a 12pt font
Share this article:
  • Facebook
  • Twitter
  • MySpace
  • Live
  • Google Bookmarks
  • StumbleUpon
  • Digg

No Comments

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

WordPress Themes