lilypond-user
[Top][All Lists]
Advanced

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

Modern Codas


From: David Stocker
Subject: Modern Codas
Date: Wed, 07 Jan 2009 11:52:26 -0500
User-agent: Thunderbird 2.0.0.18 (X11/20081125)

Hello everyone,

Attached is a .ly file with automated commands for displaying modern coda directions commonly found in Jazz and popular music that I've set up for my own use (with some helpful directions from some individuals on the list--Thanks!). I hope others may find it useful as well. Compiling the included "example.ly" file will illustrate the results in actual music.

If anyone has comments or suggestions, feel free to send them along.

Regards,

Dave
\version "2.12"

\include "english.ly"

\header {
  title = "Modern Codas"
}

\include "modern-codas.ly"

clefKeyTime = {
  \clef "treble"
  \key c \major
  \time 4/4
}

music = {
  c4 c c c
}

notes = {
  \relative c'' {
    \repeat unfold 8 {
      \music
    }
    \segnoSign
    \repeat unfold 4 {
      \music
    }
    \break
    \segnoSegnoSign
    \repeat unfold 2 {
      \music
    }
    \textToCodaI
    \repeat unfold 7 {
      \music
    }
    \textToCodaII
    \repeat unfold 6 {
      \music
    }
    \dalSegnoI
  }
}

codaNotes = {
  \relative c'' {
    \textCodaI
    \repeat unfold 8 {
      \music
    }
    \repeat unfold 6 {
      \music
    }
    \dalSegnoSegnoII
  }
}

codaTwoNotes = {
  \relative c'' {
    \textCodaII
    \repeat unfold 6 {
      \music
    }
    \bar "|."
  }
}

\score {
  \new Staff = "notesA" {
    \clefKeyTime
    \notes
  }
}

\score {
  \new Staff = "codaInotesA" {
    \set Score.currentBarNumber = #28
    \clefKeyTime
    \override Staff.TimeSignature #'stencil = ##f
    \codaNotes
  }
}

\score {
  \new Staff = "codaIInotesA" {
    \set Score.currentBarNumber = #42
    \clefKeyTime
    \override Staff.TimeSignature #'stencil = ##f
    \codaTwoNotes
  }
}
%{ This is a collection of defined variables to automate the placement and 
appearance of modern coda directions commonly used in jazz and popular sheets. 
Included are symbols for segno, double segno, D.S. al Coda, D.S. al Coda 1, 
D.S. al Coda 2, D.S.S. al Coda 2, To Coda, To Coda 1, To Coda 2, Coda, Coda 1 
and Coda 2. The accompanying "example.ly" demonstrates ways these commands may 
be used. Any suggestions for improvement are welcome, of course. comments can 
be sent to David Stocker by email: address@hidden %}

%{ Known issues: 1) In the case that one of the "To Coda" directions occurs at 
the end of a system, the symbol appears at the beginning of the next system, 
requiring the use of a manual \break to force the direction to occur in the 
middle of a system instead. 2) in the previous case, if the "To Coda" direction 
occurs at the end of a line, it should be aligned such that the "Coda" glyph is 
right-aligned with the bar line rather than centered over it. Any ideas how to 
automate this behavior? %}


%%%%%%%%%% MODERN CODAS %%%%%%%%%%

%%%%% D.S. al Coda %%%%%

%%% text "D.S. al Coda" right-aligned

dalSegno = {
  \once
  \override Score.RehearsalMark #'self-alignment-X = #RIGHT
  \once
  \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
  \mark 
  \markup {
    \small
    \bold
    \italic "D.S. al Coda"
  }
}

%%% includes the words "To Coda" before the Coda sign and centers the coda sign 
horizontally on the barline

textToCoda = {
  \once
  \override Score.RehearsalMark #'self-alignment-X = #0.770
  \mark
  \markup
  \line
  \general-align #Y #CENTER {
    \small
    \bold
    \italic "To Coda  "
    \musicglyph #"scripts.coda"
  }
}

%%% includes the word "Coda" after the coda sign

textCoda = {
  \once
  \override Score.RehearsalMark #'self-alignment-X = #-0.15
  \mark
  \markup
  \line
  \general-align #Y #CENTER {
    \musicglyph #"scripts.coda"
    \small
    \bold "Coda"
  }
}

%%%%% D.S. al Coda 1 %%%%%

%%% text "D.S. al Coda 1" right-aligned

dalSegnoI = {
  \once
  \override Score.RehearsalMark #'self-alignment-X = #RIGHT
  \once
  \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
  \mark 
  \markup {
    \small
    \bold
    \italic "D.S. al Coda 1"
  }
}

%%% includes the words "To Coda 1" before the Coda sign and centers the coda 
sign horizontally on the barline

textToCodaI = {
  \once
  \override Score.RehearsalMark #'self-alignment-X = #0.80
  \mark
  \markup
  \line
  \general-align #Y #CENTER {
    \small
    \bold
    \italic "To Coda 1  "
    \musicglyph #"scripts.coda"
  }
}

%%% includes the word "Coda 1" after the coda sign

textCodaI = {
  \once
  \override Score.RehearsalMark #'self-alignment-X = #-0.3375
  \mark
  \markup
  \line
  \general-align #Y #CENTER {
    \musicglyph #"scripts.coda"
    \small
    \bold "Coda 1"
  }
}

%%%%% D.S. al Coda 2 %%%%%

%%% text "D.S. al Coda 2" right-aligned

dalSegnoII = {
  \once
  \override Score.RehearsalMark #'self-alignment-X = #RIGHT
  \once
  \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
  \mark 
  \markup {
    \small
    \bold
    \italic "D.S. al Coda 2"
  }
}

%%% includes the words "To Coda 2" before the Coda sign and centers the coda 
sign horizontally on the barline

textToCodaII = {
  \once
  \override Score.RehearsalMark #'self-alignment-X = #0.80
  \mark
  \markup
  \line
  \general-align #Y #CENTER {
    \small
    \bold
    \italic "To Coda 2  "
    \musicglyph #"scripts.coda"
  }
}

%%% includes the word "Coda 2" after the coda sign

textCodaII = {
  \once
  \override Score.RehearsalMark #'self-alignment-X = #-0.3375
  \mark
  \markup
  \line
  \general-align #Y #CENTER {
    \musicglyph #"scripts.coda"
    \small
    \bold "Coda 2"
  }
}

%%%%% D.S.S. al Coda 2 %%%%%

%%% text "D.S.S. al Coda 2" right-aligned

dalSegnoSegnoII = {
  \once
  \override Score.RehearsalMark #'self-alignment-X = #RIGHT
  \once
  \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
  \mark 
  \markup {
    \small
    \bold
    \italic "D.S.S. al Coda 2"
  }
}

%%% Segno sign

segnoSign = {
  \mark
  \markup {
    \musicglyph #"scripts.segno"
  }
}

%%% Double Segno sign

segnoSegnoSign = {
  \mark
  \markup {
    \musicglyph #"scripts.segno"
    \hspace #0.125
    \musicglyph #"scripts.segno"
  }
}

reply via email to

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