### 2.2.45 Fretboard_engraver

Generate fret diagram from one or more events of type `NoteEvent`.

Music types accepted:

fingering-event, note-event and string-number-event

Properties (read)

> `chordChanges` (boolean)

>   Only show changes in chords scheme?

> `defaultStrings` (list)

>   A list of strings to use in calculating frets for tablatures and fretboards if no strings are provided in the notes for the current moment.

> `highStringOne` (boolean)

>   Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.

> `maximumFretStretch` (number)

>   Don’t allocate frets further than this from specified frets.

> `minimumFret` (number)

>   The tablature auto string-selecting mechanism selects the highest string with a fret at least `minimumFret`.

> `noteToFretFunction` (procedure)

>   Convert list of notes and list of defined strings to full list of strings and fret numbers. Parameters: The context, a list of note events, a list of tabstring events, and the fretboard grob if a fretboard is desired.

> `predefinedDiagramTable` (hash table)

>   The hash table of predefined fret diagrams to use in FretBoards.

> `stringTunings` (list)

>   The tablature strings tuning. It is a list of the pitches of each string (starting with the lowest numbered one).

> `tablatureFormat` (procedure)

>   A function formatting a tablature note head. Called with three arguments: context, string number and, fret number. It returns the text as a markup.

This engraver creates the following layout object(s):

FretBoard.

`Fretboard_engraver` is part of the following context(s): FretBoards.

#### Internals Reference v2.18.2 (稳定分支).