Hi Simon, note that to enable having multiple stanzas of lyrics the LY thing is not music, but a list of music. In LISP a list either the empty list '() or a pair (cons a b) where b is a list. Thus the list (a b c d) is in fact (cons a (cons b (cons c (cons d '())))) or (a . (b . (c . (d . '()))) which shorthands to (a b c d . '()). So if we were to use (list CN FB VC LY) this would correspond to `(,CN ,FB ,VC ,LY). Let’s say CB = a, FB = b, VC = c, LY = (d e). Then this would be (a b c (d e)). On the other hand using `(,CN ,FB ,VC . ,LY) [which corresponds to (cons CN (cons FB (cons VC LY)))] gives us (a b c d e), so a flat list.
We could also write this as (append (list CN FB VC) LY). Cheers, Valentin Am Mittwoch, 23. Februar 2022, 01:59:59 CET schrieben Sie: > Hi Valentin, > > one line in your Scheme code confused me. If you don’t mind explaining, > why do you write > > `(,CN ,FB ,VC . ,LY) > > instead of > > (list CN FB VC LY) > > ? > > Best, Simon > > On 22/02/2022 09:25, Valentin Petzel wrote: > > Hello Tom, > > > > A good template will separate content and form. Ideally you’d be able to > > use a few templates that work so universally that you need only to define > > the music variables and include the template file. This would mean that > > changing the music and the form can be done simply. If for example you > > wanted to change the layout a bit you do not want to have to change this > > in every score you have. Instead you can change it in the included layout > > definition and you’re done. > > > > We can even use functions to do this in a very clean manner. See the > > appended example. > > > > Cheers, > > Valentin > > > > Am Dienstag, 22. Februar 2022, 03:09:03 CET schrieb Tom Campbell: > >> I am about to transcribe a bunch of older Western folk music in lead > >> sheet > >> form for an open source tunebook. Am trying to create a robust template > >> so > >> I don't have to think too much about anything other than getting the > >> notes, > >> chords, and lyrics right. You can see it below, or rendered by the > >> invaluable Lilybin at http://lilybin.com/u6p5m8/8. > >> > >> Can you tell me what's bad about this as a template? The lead sheets will > >> contain chord names and guitar fretboard diagrams. Added a crucial (for > >> me) > >> section overriding the predefined guitar fretboard diagram for a chord. I > >> also took too long to figure out how to get pickup notes in a format that > >> seemed natural. > >> > >> Thanks! > >> > >> % Lead sheet with: > >> % - Guitar fretboard diagrams > >> % - Override a predefined fretboard diagram > >> % - Pickup note with text above it suppressed > >> % - Chord and other text suppressed above the pickup note > >> %%%% Please send critiques to tomcampb...@gmail.com > >> \version "2.18.2" > >> \include "predefined-guitar-fretboards.ly" > >> > >> % Override predefined fretboard for e minor. > >> % This just adds a G to the first (highest) string. > >> % A little contrived but it's brief. > >> \storePredefinedDiagram #default-fret-table \chordmode { e:m } > >> #guitar-tuning > >> #"o;2-2;2-3;o;o;3-4;" > >> > >> \header { > >> title = "Hit and Miss (Daphne)" > >> composer = "Trad." > >> } > >> > >> theMelody = \relative c { > >> > >> \clef treble > >> \key e \minor > >> \time 6/8 > >> > >> % Pickup note > >> > >> \partial 8 e'8 > >> > >> % Verse melody (truncated for clarity) > >> g4 a8 b4 e8 > >> d8. e16 fis8 > >> e4 b16 c > >> > >> } > >> > >> theLyrics = \lyricmode { > >> When Daph -- ne from fair > >> > >> Phoe -- bus did fly the -- > >> > >> } > >> > >> theChords = \chordmode { > >> % Replace the N.C. that would appear over > >> % the pickup note > >> \set noChordSymbol = "" > >> \partial 8 r8 > >> > >> e2.:min > >> b4.:min > >> e4.:min > >> > >> } > >> > >> \score { > >> > >> << > >> \new ChordNames { \theChords } > >> \new FretBoards { \theChords } > >> \new Voice = "one" { \autoBeamOn \theMelody } > >> \new Lyrics \lyricsto "one" \theLyrics > >> > >> \layout { } > >> \midi { } > >> > >> }
signature.asc
Description: This is a digitally signed message part.