chord

chord(l)                                                              chord(l)



NAME
       chord - Produce a professional looking PostScript sheet-music from an
       ascii file containing lyrics and chords information.

SYNOPSIS
       chord [ option ...] [ filename... ]

DESCRIPTION
       chord produces a postscript document from a lyrics file containing
       chord indications and chorus delimiters. The document produced contains
       the lyrics of a song, with the guitar chords appearing above the right
       words. A representation of all chords used in the song is printed at
       the bottom of the last page.


OPTIONS
       -A      Will print the "About CHORD..." message.

       -a      Automatically single spaces lines that have no chords.

       -c chord_font_size
               Sets the size, in points, of the font used to display chords to
               the specified integer value.

       -C Chord_font
               Sets the font used to print chords to the specified name. That
               name must be known to your PostScript Interpreter.

       -d      Generates a text chord chart of all internally known chords as
               well as chords defined in the $HOME/.chordrc file. Chords
               defined in the .chordrc file are identified with the "(local)"
               caption. The printout is suitable for input to the .chordrc
               file.

       -D      Generates a PostScript chord chart of all internally known
               chords as well as chords defined in the $HOME/.chordrc file.
               Chords defined in the .chordrc file are identified with a small
               asterisk after the chord grid.

       -G      Disable printing of the chord grids for the whole input
               file(s). The effect can be disable for any particular song by
               the usage of the grid or g directive.

       -g      Disable printing of grids for "easy" chords. Whether a builtin
               chord is easy or not has been arbitrarily decided by the
               authors. The general rule was that any chord in its major,
               minor, 7th or minor 7th was "easy" while everything else (maj7,
               aug, dim, sus, etc...) was "difficult". All chords defined in
               the $HOME/.chordrc file or in the input file are defined as
               "difficult".

       -h      Prints a short options summary.

       -i      Generates a table of contents with the song titles and page
               numbers.  It implies page numbering through the document. Index
               pages are not numbered.

       -l      Prints only the lyrics of the song.

       -L      Places the odd and even page numbers in the lower right and
               left corners respectively (for two-sided output).  The default
               is all page numbers on the right.

       -o filename
               Sends PostScript output to filename

       -p  first_page
               Numbers the pages consecutively starting with first_page (e.g.
               1).  Without this option, each song restarts the page numbering
               at 1, and page numbers are only put on subsequent pages of
               multiple page songs.

       -s grid_size
               Sets the size of the chord grids.

       -t text_font size
               Sets the size, in points, of the font used to display the
               lyrics to the specified integer value. The title line is
               displayed using that point size + 5. The sub-tiltle is
               displayed using that point size -2. The tablature is displayed
               using this point-size -2.

       -T Text_font
               Sets the font used to print text to the specified name. That
               name must be known to your PostScript Interpreter.

       -V      Prints version and patch level.

       -x half-tones
               Sets up transposition to that number of half-tones. Can not be
               zero. All chord names must be build in the following way in
               order to be recognized:

               {note-name}[#|b][^/]* [ '/' {note-name}[#|b][^/]* ]

               That is, a valid note name, possibly followed by '#' or 'b',
               followed by other modifier ('7', 'm', etc...). Many such
               construct can make up a chord name, as long as they are
               separated by '/'.

               {note-name} must appear in the list
               'A','B','C','D','E','F','G'.

       -2      Prints two logical pages per physical page.

       -4      Prints four logical pages per physical page.


KEYWORDS
       A line starting with a '#' is interpreted as a comment, and generates
       no output.  (although all your comments are automatically mailed to the
       authors, and we read them at parties...)

       Directives that  appear between french brackets ('{' and '}') have a
       special meaning. They must be alone on a line. Blanks before the
       opening bracket and after the closing bracket are not significant.

       Blanks inside a directive are not significant (except inside one of the
       comments directives).

       Supported directives are:

       start_of_chorus or soc
               which indicates the start of a chorus (yep). The complete
               chorus will be highlighted by a change bar, to be easily
               located by the player.

       end_of_chorus or eoc
               marks the end of the chorus

       comment: or c:
               will call the printing of the rest of the line, highlighted by
               a grey box (Useful to call a chorus, for example)

       comment_italic: or ci:
               will print the comment in an italic font ... well not really.
               It will print the comment in the font used for printing the
               CHORD names (which is normally italic unless you specified a
               different chord_font).

       comment_box: or cb:
               will print the comment inside a bounding box.

       new_song or ns
               marks the beginning of a new song. It enables you to put
               multiple songs in one file. It is not required at the beginning
               of the file.

       title: or t:
               specifies the title of the song. It will appear centered at the
               top of the first page, and at the bottom of every other page,
               accompanied there by the page number, within the current song.

       subtitle: or st:
               specifies a string to be printed right below the title. Many
               subtitles can be specified

       define: name base-fret offset frets str1...str6
               defines a new chord called "name". The keyword "base-fret"
               indicates that the number that follows ("offset") is the first
               fret that is to be displayed when representing the way this
               chord is played.

               The keyword "frets" then appears and is followed by 6 values.
               These values are the fret number [ 1 to n ] for each string
               [str1 to str6] and are RELATIVE to the offset.  A value of "-",
               "X" or "x" indicates a string that is not played.

               Keywords base-fret and frets are mandatory.

               A value of 0 for a given string means it is to be played open,
               and will be marked by a small open circle above the string in
               the grid.  The strings are numbered in ascending order of
               tonality, starting on the low E (the top string).  On output, a
               chord defined in the user's .chordrc file will have a small
               asterisk near its grid, a chord defined in a song will have two
               small asterixes.

               At the beginning of every song, the default chords are re-
               loaded and the user's .chordrc file is re-read. Chord
               definition of new chords inside the text of a song are only
               valid for that song.

               The syntax of a {define} directive has been modified in CHORD
               3.5.  CHORD will attempt to recognize an old-formar {define}
               and will accept it. It will, though, print a warning inviting
               you to modify your input file to use the new syntax (the exact
               {define} entry to use is provided as an example).

       textfont: postscript_font
               same as -T command option

       textsize: n
               same as -t command option

       chordfont: postscript_font
               same as -C command option

       chordsize: n
               same as -c command option

       no_grid or ng
               will disable printing of the chord grids for the current song.

       grid or g
               will enable the printing of the chord grids for the current
               song (subject to the limitation caused by the usage of the -g
               option). This directive will overide the runtime -G option for
               the current song.

       new_page or np
               will force a logical page break (which will obviously turn out
               to be a physical page break if you are not in either 2-up or
               4-up mode.

       new_physical_page or npp
               will force a physical page break (in any mode).

       start_of_tab or sot
               will cause chord to use a monospace (ie: non-proportional) font
               for the printing of text. This can be used to enter 'tab'
               information where character positioning is crucial. The Courier
               font is used with a smaller point-size than the rest of the
               text.

       end_of_tab or eot
               will stop using monospace font. The effect is implicit at the
               end of a song.

       columns: n or col: n
               specifies the number of columns on the pages of the current
               song.

       column_break or colb
               forces a column break. The next line of the song will appear in
               the next available column, at the same height as the last
               "columns" statement if still on the same page, or at the top of
               the page otherwise.

FILES
       $HOME/.chordrc
               Initial directives re-read after each song.

NOTES
       Run time options override settings from your .chordrc file. So the
       assignement sequence to, let's say, the text size will be: system
       default, .chordrc, run-time option, and finally from within the song
       itself.

       All keywords are case independent.

BUGS
       CHORD will not wrap long lines around the right margin.
       White space is not inserted inside the text line, even if white space
       is inserted in the "chord" line above the text. The net effect is that
       chord names can appear further down the line than what was intended.
       This is a side effect from fixing an old "bug" that caused the chord
       names to overlap.  This bug will only manifest itself if you have lots
       of chord but little text.  Inserting white space in the text is a good
       workaround.
       In 2-up mode, if page-numbering is invoked on a document that has an
       odd number of page, the page number for the last page will be printed
       at the bottom right of the virtual page instead of the bottom right of
       the physical page.

COPYRIGHT
       Copyright 1990-91-92-93 by Martin Leclerc and Mario Dorion

AUTHORS
       Martin Leclerc (Martin.Leclerc@Sun.COM)
       and Mario Dorion (Mario.Dorion@Sun.COM)


CONTRIBUTORS
       Steve Putz (putz@parc.xerox.com)
       Jim Gerland (GERLAND@ubvms.cc.buffalo.edu)
       Leo Bicknell (ab147@freenet.acsu.buffalo.edu)



Utilities                       September 1993                        chord(l)