lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fretboard diagram for custom tuned lute


From: David Kastrup
Subject: Re: Fretboard diagram for custom tuned lute
Date: Mon, 18 Sep 2017 16:58:48 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Scaramoucherz <address@hidden> writes:

> Sorry I should have been more specific.
>
> You may have been correct about an improper quote sign before, so I decided
> to start again. I'm running Lilypond v2.18.2. I copied the example from the
> manual accessed directly through Lilypond - it was a web manual.

Sigh.  LilyPond does not access a manual in any manner.  It is a
program.  How about saying just what link you used?

> This is the code that I used:
>
> \version "2.18.2"
>
> \header {
> title = "Test"
> }
>
> lilypond

Now the line "lilypond" is not likely to make LilyPond happy.  On
2.19.65, this is the only line LilyPond complains about and compiles
fine otherwise.

Removing it works on both 2.19 and 2.18.  The interesting question is
just what happens with 2.18 here?

It turns out that

lilypond cuatroTuning = ...

sets the value of the variable "lilypond" without voicing any complaint
about cuatroTuning being undefined.  Looking at the grammar of 2.18, we
see that this is equivalent to lilypond.cuatroTuning = ... and looking
at the called set_identifier routine, we find that for a previously
undefined variable lilypond, setting lilypond.cuatroTuning sets lilypond
instead.  Another problem later cured, but setting lilypond.cuatroTuning
would not actually have helped.

So a curious syntax (which was impossible in 2.16 and has been
invalidated in 2.19 since it could lead to problems like the one you
experienced) absorbed the spurious "lilypond" you put in your file,
leading to a lot of followup errors.

> % add FretBoards for the Cuatro
> %   Note: This section could be put into a separate file
> %      predefined-cuatro-fretboards.ly
> %      and \included into each of your compositions
>
> cuatroTuning = #`(,(ly:make-pitch 0 6 0)
>                   ,(ly:make-pitch 1 3 SHARP)
>                 ,(ly:make-pitch 1 1 0)
>                 ,(ly:make-pitch 0 5 0))
>
> dSix = { <a\4 b\1 d\3 fis\2> }
> dMajor = { <a\4 d\1 d\3 fis \2> }
> aMajSeven = { <a\4 cis\1 e\3 g\2> }
> dMajSeven = { <a\4 c\1 d\3 fis\2> }
> gMajor = { <b\4 b\1 d\3 g\2> }
>
> \storePredefinedDiagram #default-fret-table \dSix
>                         #cuatroTuning
>                         #"o;o;o;o;"
> \storePredefinedDiagram #default-fret-table \dMajor
>                         #cuatroTuning
>                         #"o;o;o;3-3;"
> \storePredefinedDiagram #default-fret-table \aMajSeven
>                         #cuatroTuning
>                         #"o;2-2;1-1;2-3;"
> \storePredefinedDiagram #default-fret-table \dMajSeven
>                         #cuatroTuning
>                         #"o;o;o;1-1;"
> \storePredefinedDiagram #default-fret-table \gMajor
>                         #cuatroTuning
>                         #"2-2;o;1-1;o;"
>
> % end of potential include file /predefined-cuatro-fretboards.ly
>
>
> #(set-global-staff-size 16)
>
> primerosNames = \chordmode {
>   d:6 d a:maj7 d:maj7
>   g
> }
> primeros = {
>   \dSix \dMajor \aMajSeven \dMajSeven
>   \gMajor
> }
>
> \score {
>   <<
>     \new ChordNames {
>       \set chordChanges = ##t
>       \primerosNames
>     }
>
>     \new Staff {
>       \new Voice \with {
>         \remove "New_fingering_engraver"
>       }
>       \relative c'' {
>         \primeros
>       }
>     }
>
>     \new FretBoards {
>       \set Staff.stringTunings = #cuatroTuning
> %      \override FretBoard
> %        #'(fret-diagram-details string-count) = #'4
>       \override FretBoard.fret-diagram-details.finger-code = #'in-dot
>       \primeros
>     }
>
>     \new TabStaff \relative c'' {
>       \set TabStaff.stringTunings = #cuatroTuning
>       \primeros
>     }
>
>   >>
>
>   \layout {
>     \context {
>       \Score
>       \override SpacingSpanner.base-shortest-duration = #(ly:make-moment
> 1/16)
>     }
>   }
>   \midi { }
> }
>
>
> When I ran it, I got this error log:
>
>  Processing `/Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly'
> Parsing...
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:26:26: error:
> GUILE signaled an error for the expression beginning here
>                         #
>                          cuatroTuning
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:26:25: error:
> wrong type for argument 3.  Expecting pair, found #<unspecified>
>                         
>                         #cuatroTuning
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:29:26: error:
> GUILE signaled an error for the expression beginning here
>                         #
>                          cuatroTuning
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:29:25: error:
> wrong type for argument 3.  Expecting pair, found #<unspecified>
>                         
>                         #cuatroTuning
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:32:26: error:
> GUILE signaled an error for the expression beginning here
>                         #
>                          cuatroTuning
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:32:25: error:
> wrong type for argument 3.  Expecting pair, found #<unspecified>
>                         
>                         #cuatroTuning
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:35:26: error:
> GUILE signaled an error for the expression beginning here
>                         #
>                          cuatroTuning
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:35:25: error:
> wrong type for argument 3.  Expecting pair, found #<unspecified>
>                         
>                         #cuatroTuning
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:38:26: error:
> GUILE signaled an error for the expression beginning here
>                         #
>                          cuatroTuning
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:38:25: error:
> wrong type for argument 3.  Expecting pair, found #<unspecified>
>                         
>                         #cuatroTuning
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:72:35: error:
> GUILE signaled an error for the expression beginning here
>       \set Staff.stringTunings = #
>                                   cuatroTuning
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:80:38: error:
> GUILE signaled an error for the expression beginning here
>       \set TabStaff.stringTunings = #
>                                      cuatroTuning
> Interpreting music...
> warning: type check for `stringTunings' failed; value `#<unspecified>' must
> be of type `list'
> warning: type check for `stringTunings' failed; value `#<unspecified>' must
> be of type `list'
> warning: Requested string for pitch requires negative fret: string 1 pitch
> #<Pitch b >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 3 pitch
> #<Pitch d >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 2 pitch
> #<Pitch fis >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 1 pitch
> #<Pitch d >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 3 pitch
> #<Pitch d >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 2 pitch
> #<Pitch fis >
> warning: Ignoring string request and recalculating.
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:20:21: warning:
> No string for pitch #<Pitch d > (given frets (10 9 7))
> dMajor = { <a\4 d\1 
>                     d\3 fis \2> }
> warning: Requested string for pitch requires negative fret: string 1 pitch
> #<Pitch cis >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 3 pitch
> #<Pitch e >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 2 pitch
> #<Pitch g >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 1 pitch
> #<Pitch c >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 3 pitch
> #<Pitch d >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 2 pitch
> #<Pitch fis >
> warning: Ignoring string request and recalculating.
> /Users/XXX/Documents/LilyPond/20170918 Fretboard test 1.ly:22:20: warning:
> No string for pitch #<Pitch c > (given frets (10 9 7))
> dMajSeven = { <a\4 
>                    c\1 d\3 fis\2> }
> warning: Requested string for pitch requires negative fret: string 1 pitch
> #<Pitch b >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 3 pitch
> #<Pitch d >
> warning: Ignoring string request and recalculating.
> warning: Requested string for pitch requires negative fret: string 2 pitch
> #<Pitch g >
> warning: Ignoring string request and recalculating.
> Preprocessing graphical objects...
> Interpreting music...
> warning: type check for `stringTunings' failed; value `#<unspecified>' must
> be of type `list'
> warning: type check for `stringTunings' failed; value `#<unspecified>' must
> be of type `list'
> MIDI output to `20170918 Fretboard test 1.midi'...
> Finding the ideal number of pages...
> Fitting music on 1 page...
> Drawing systems...
> Layout output to `20170918 Fretboard test 1.ps'...
> Converting to `./20170918 Fretboard test 1.pdf'...
> Unbound variable: cuatroTuning
> Unbound variable: cuatroTuning
> Unbound variable: cuatroTuning
> Unbound variable: cuatroTuning
> Unbound variable: cuatroTuning
> Unbound variable: cuatroTuning
> Unbound variable: cuatroTuning
> fatal error: failed files: "/Users/XXX/Documents/LilyPond/20170918 Fretboard
> test 1.ly"
>
> and the output in the uploaded file. Clearly the fret diagrams for the
> chords were for guitar and not the cuatro. 20170918_Fretboard_test_1.pdf
> <http://lilypond.1069038.n5.nabble.com/file/t5282/20170918_Fretboard_test_1.pdf>
>   
>
> I'm not sure what is going on.
>
>
>
>
> --
> Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]