These functions assist with mapping between different information that
define chords.
For chord_is_known, a check is done against chords in the
guitarChords dataset.
A simple noteworthy string is permitted, but any single-note entry will
automatically yield a FALSE result.
gc_info returns a tibble data frame containing complete information
for the subset of predefined guitar chords specified by name and
key.
Any accidentals present in the chord root of name (but not in the
chord modifier, e.g., m7_5 or m7#5) are converted according to
key if necessary.
gc_notes and gc_fretboard are wrappers around gc_info,
which return noteworthy strings of chord notes and a named vector of
LilyPond fretboard diagram data, respectively.
Note that although the input to these functions can contain multiple chord
names, whether as a vector or as a single space-delimited string, the result
is not intended to be of equal length.
These functions filter guitarChords. The result is the set of all
chords matched by the supplied input filters.
chord_name_split splits a vector or space-delimited set of chord
names into a tibble data frame containing separate chord root and chord
modifier columns.
chord_name_root and chord_name_mod are wrappers around this.