+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "text, paper-and-layout, titles"
- texidoc = "The horizontal alignment of instrument names is tweaked
-by changing the @code{Staff.InstrumentName #'self-alignment-X} property.
-The @code{\\layout} variables @code{indent} and @code{short-indent}
-define the space in which the instrument names are aligned before the
-first and the following systems, respectively."
- doctitle = "Aligning and centering instrument names"
-}
-
-\paper {
- left-margin = 3\cm
-}
-
-\score {
- \new StaffGroup <<
- \new Staff {
- \override Staff.InstrumentName #'self-alignment-X = #LEFT
- \set Staff.instrumentName = \markup \left-column {
- "Left aligned"
- "instrument name"
- }
- \set Staff.shortInstrumentName = #"Left"
- c''1
- \break
- c''1
- }
- \new Staff {
- \override Staff.InstrumentName #'self-alignment-X = #CENTER
- \set Staff.instrumentName = \markup \center-column {
- Centered
- "instrument name"
- }
- \set Staff.shortInstrumentName = #"Centered"
- g'1
- g'1
- }
- \new Staff {
- \override Staff.InstrumentName #'self-alignment-X = #RIGHT
- \set Staff.instrumentName = \markup \right-column {
- "Right aligned"
- "instrument name"
- }
- \set Staff.shortInstrumentName = #"Right"
- e'1
- e'1
- }
- >>
- \layout {
- ragged-right = ##t
- indent = 4\cm
- short-indent = 2\cm
- }
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "text"
- texidoc = "If specified, text marks may be aligned with notation
-objects other than bar lines. These objects include @code{ambitus},
-@code{breathing-sign}, @code{clef}, @code{custos}, @code{staff-bar},
-@code{left-edge}, @code{key-cancellation}, @code{key-signature}, and
-@code{time-signature}.
-
-In such cases, text marks will be horizontally centered above the
-object. However this can be changed, as demonstrated on the second
-line of this example (in a score with multiple staves, this setting
-should be done for all the staves)."
- doctitle = "Aligning marks with various notation objects"
-}
-
-\relative c' {
- e1
-
- % the RehearsalMark will be centered above the Clef
- \override Score.RehearsalMark #'break-align-symbols = #'(clef)
- \key a \major
- \clef treble
- \mark "↓"
- e1
-
- % the RehearsalMark will be centered above the TimeSignature
- \override Score.RehearsalMark #'break-align-symbols = #'(time-signature)
- \key a \major
- \clef treble
- \time 3/4
- \mark "↓"
- e2.
-
- % the RehearsalMark will be centered above the KeySignature
- \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
- \key a \major
- \clef treble
- \time 4/4
- \mark "↓"
- e1
-
- \break
- e1
-
- % the RehearsalMark will be aligned with the left edge of the KeySignature
- \once \override Score.KeySignature #'break-align-anchor-alignment = #LEFT
- \mark "↓"
- \key a \major
- e1
-
- % the RehearsalMark will be aligned with the right edge of the KeySignature
- \once \override Score.KeySignature #'break-align-anchor-alignment = #RIGHT
- \key a \major
- \mark "↓"
- e1
-
- % the RehearsalMark will be aligned with the left edge of the KeySignature
- % and then shifted right by one unit.
- \once \override Score.KeySignature #'break-align-anchor = #1
- \key a \major
- \mark "↓"
- e1
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "world-music"
- texidoc = "For improvisations or @emph{taqasim} which are
-temporarily free, the time signature can be omitted and
-@code{\cadenzaOn} can be used. Adjusting the accidental style
-might be required, since the absence of bar lines will cause the
-accidental to be marked only once. Here is an example of what
-could be the start of a @emph{hijaz} improvisation:"
-doctitle = "Arabic improvisation"
-}
-
-\include "arabic.ly"
-
-\relative sol' {
- \key re \kurd
- #(set-accidental-style 'forget)
- \cadenzaOn
- sol4 sol sol sol fad mib sol1 fad8 mib re4. r8 mib1 fad sol
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "paper-and-layout"
- texidoc = "@code{\\bookpart} can be used to split a book into
-several parts.
-Each part last page can be affected by @code{ragged-last-bottom}.
-Header and footer markups can detect a part last page, and make the
-difference with the book last page.
-"
- doctitle = "Book parts"
-}
-
-#(set-default-paper-size "a6")
-
-\book {
-
- %% book paper, which is inherited by all children bookparts
- \paper {
- ragged-last-bottom = ##t
- %% Page footer: add a different part-tagline at part last page
- oddFooterMarkup = \markup {
- \column {
- \fill-line {
- %% Copyright header field only on book first page.
- \on-the-fly #first-page \fromproperty #'header:copyright
- }
- \fill-line {
- %% Part tagline header field only on each part last page.
- \on-the-fly #part-last-page \fromproperty #'header:parttagline
- }
- \fill-line {
- %% Tagline header field only on book last page.
- \on-the-fly #last-page \fromproperty #'header:tagline
- }
- }
- }
- }
-
- %% book header, which is inherited by the first bookpart
- \header {
- title = "Book title"
- copyright = "Copyright line on book first page"
- parttagline = "Part tagline"
- tagline = "Book tagline"
- }
-
- \bookpart {
- %% a different page breaking function may be used on each part
- \paper { #(define page-breaking optimal-page-breaks) }
- \header { subtitle = "First part" }
- \markup { The first book part }
- \markup { a page break }
- \pageBreak
- \markup { first part last page }
- \markup \wordwrap { with ragged-last-bottom (see the space below this text) }
- }
-
- \bookpart {
- \header { subtitle = "Second part" }
- { c' }
- }
-
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "expressive-marks"
- texidoc = "
-In order to make parts of a crescendo hairpin invisible, the following
-method is used: A white rectangle is drawn on top of the respective
-part of the crescendo hairpin, making it invisible. The rectangle is
-defined as postscript code within a text markup.
-
-To fine-tune the position and size of the markup, the number
-preceding @code{setgray} in the postscript definition can be set to a
-value less than one, making it grey. The two numbers before @code{scale}
-in the postscript code are responsible for the width and height of the
-rectangle, the two numbers before @code{translate} change the x- and
-y-origin of the rectangle.
-
-Make sure to put the hairpin in a lower layer than the text markup to
-draw the rectangle over the hairpin.
-"
- doctitle = "Broken crescendo hairpin"
-}
-
-\relative c' {
- << {
- \dynamicUp
- \override DynamicLineSpanner #'staff-padding = #4
- r2 r16 c'8.\pp r4
- }
- \\
- {
- \override DynamicLineSpanner #'layer = #0
- des,2\mf\< ~
- \override TextScript #'layer = #2
- des16_\markup {
- \postscript #"
- 1.9 -8 translate
- 5 4 scale
- 1 setgray
- 0 0 moveto
- 0 1 lineto
- 1 1 lineto
- 1 0 lineto
- 0 0 lineto
- fill"
- }
- r8. des4 ~ des16->\sff
- } >>
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "expressive-marks, text"
-
- texidoc = "
-This example provides a function to typeset a hairpin (de)crescendo
-with some additional text below it, such as \"molto\" or \"poco\". The
-example also illustrates how to modify the way an object is normally
-printed, using some Scheme code.
-"
- doctitle = "Center text below hairpin dynamics"
-}
-
-hairpinWithCenteredText =
-#(define-music-function (parser location text) (markup?)
-#{
- \override Voice.Hairpin #'stencil = #(lambda (grob)
- (ly:stencil-aligned-to
- (ly:stencil-combine-at-edge
- (ly:stencil-aligned-to (ly:hairpin::print grob) X CENTER)
- Y DOWN
- (ly:stencil-aligned-to (grob-interpret-markup grob $text) X CENTER))
- X LEFT))
-#})
-
-hairpinMolto = \hairpinWithCenteredText \markup { \italic molto }
-hairpinMore = \hairpinWithCenteredText \markup { \larger moltissimo }
-
-\layout { ragged-right = ##f }
-
-{
- \hairpinMolto c'2\< c'\f
- \hairpinMore c'2\< c'\f
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "rhythms,tweaks-and-overrides"
- texidoc = "
-If there are ten or fewer measures of rests, a series of longa
-and breve rests (called in German \"Kirchenpausen\" - church rests)
-is printed within the staff; otherwise a simple line is shown.
-This default number of ten may be changed by overriding the
-@code{expand-limit} property:
-"
- doctitle = "Changing form of multi-measure rests"
-}
-
-\relative c'' {
- \compressFullBarRests
- R1*2 | R1*5 | R1*9
- \override MultiMeasureRest #'expand-limit = #3
- R1*2 | R1*5 | R1*9
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "tweaks-and-overrides"
-
- texidoc = "
-The @code{\\applyOutput} command allows the tuning of any layout
-object, in any context. It requires a Scheme function with three
-arguments."
-
- doctitle = "Changing properties for individual grobs"
-}
-
-#(define (mc-squared grob grob-origin context)
- (let*
- (
- (ifs (ly:grob-interfaces grob))
- (sp (ly:grob-property grob 'staff-position))
- )
- (if (memq 'note-head-interface ifs)
- (begin
- (ly:grob-set-property! grob 'stencil
- (grob-interpret-markup grob
- (make-lower-markup 0.5
- (case sp
- ((-5) "m")
- ((-3) "c ")
- ((-2) (make-smaller-markup (make-bold-markup "2")))
- (else "bla")
- ))))
- ))))
-
-\relative c' {
- <d f g b>2
- \applyOutput #'Voice #mc-squared
- <d f g b>2
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "rhythms,tweaks-and-overrides"
- texidoc = "
-The text used for crescendos and decrescendos can be changed by
-modifying the context properties @code{crescendoText} and
-@code{decrescendoText}. The style of the spanner line can be
-changed by modifying the @code{'style} property of
-@code{DynamicTextSpanner}. The default value is @code{'hairpin},
-and other possible values include @code{'line}, @code{'dashed-line}
-and @code{'dotted-line}:
-"
- doctitle = "Changing text and spanner styles for text dynamics"
-}
-
-\relative c'' {
- \set crescendoText = \markup { \italic { cresc. poco } }
- \set crescendoSpanner = #'text
- \override DynamicTextSpanner #'style = #'dotted-line
- a2\< a
- a2 a
- a2 a
- a2 a\mf
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "staff-notation"
- texidoc = "To change the tempo in MIDI output without printing
-anything, make the metronome mark invisible:"
-
- doctitle = "Changing the tempo without a metronome mark"
-}
-
-\score {
- \new Staff \relative c' {
- \tempo 4 = 160
- c4 e g b
- c4 b d c
- \set Score.tempoHideNote = ##t
- \tempo 4 = 96
- d,4 fis a cis
- d4 cis e d
- }
- \layout { }
- \midi { }
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "rhythms,contexts-and-engravers"
- texidoc = "The @code{measureLength} property, together with
-@code{measurePosition}, determines when a bar line is needed. However,
-when using @code{\\scaleDurations}, the scaling of durations makes it
-difficult to change time signatures. In this case, @code{measureLength}
-should be set manually, using the @code{ly:make-moment} callback. The
-second argument must be the same as the second argument of
-@code{\\scaleDurations}."
- doctitle = "Changing time signatures inside a polymetric section using @code{\\scaleDurations}"
-}
-
-\layout {
- \context {
- \Score
- \remove "Timing_translator"
- \remove "Default_bar_line_engraver"
- }
- \context {
- \Staff
- \consists "Timing_translator"
- \consists "Default_bar_line_engraver"
- }
-}
-
-<<
- \new Staff {
- \scaleDurations #'(8 . 5) {
- \time 6/8
- \set Timing.measureLength = #(ly:make-moment 6 5)
- b8 b b b b b
- \time 2/4
- \set Timing.measureLength = #(ly:make-moment 4 5)
- b4 b
- }
- }
- \new Staff {
- \clef bass
- \time 2/4
- c2 d e f
- }
->>
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "paper-and-layout" % a new tag like "Mixing text and music" or
-% "Special output" might be more adequate -jm
- texidoc = "
-This code shows how to clip (extract) snippets from a full score.
-
-This file needs to be run separately with @code{-dclip-systems}; the
-snippets page may not adequately show the results.
-
-The result will be files named
-@file{@var{base}-from-@var{start}-to-@var{end}[-@var{count}].eps}.
-
-@itemize
-@item
-If system starts and ends are included, they include extents of the
-System grob, e.g., instrument names.
-
-@item
-Grace notes at the end point of the region are not included.
-
-@item
-Regions can span multiple systems. In this case, multiple EPS files
-are generated.
-
-@end itemize
-"
- doctitle = "Clip systems"
-}
-
-#(ly:set-option 'clip-systems)
-#(set! output-count 1)
-
-origScore = \score {
- \relative c' {
- \set Staff.instrumentName = #"bla"
- c1
- d1
- \grace c16 e1
- \key d \major
- f1 \break
- \clef bass
- g,1
- fis1
- }
-}
-
-\book {
- \score {
- \origScore
- \layout {
- % Each clip-region is a (START . END) pair
- % where both are rhythmic-locations.
-
- % (make-rhythmic-locations BAR-NUMBER NUM DEN)
- % means NUM/DEN whole-notes into bar numbered BAR-NUMBER
-
- clip-regions = #(list
- (cons
- (make-rhythmic-location 2 0 1)
- (make-rhythmic-location 4 0 1))
-
- (cons
- (make-rhythmic-location 0 0 1)
- (make-rhythmic-location 4 0 1))
-
- (cons
- (make-rhythmic-location 0 0 1)
- (make-rhythmic-location 6 0 1))
- )
- }
- }
-}
-
-#(set! output-count 0)
-#(ly:set-option 'clip-systems #f)
-
-\book {
- \score { \origScore }
- \markup { \bold \fontsize #6 clips }
- \score {
- \lyrics {
- \markup { from-2.0.1-to-4.0.1-clip.eps }
- \markup {
- \epsfile #X #30.0 #(format #f "~a-1-from-2.0.1-to-4.0.1-clip.eps"
- (ly:parser-output-name parser)) }
- }
- }
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "pitches,editorial-annotations,really-cool"
- texidoc = "
-It is possible to color note heads depending on their pitch and/or their names:
-the function used in this example even makes it possible to distinguish enharmonics.
-"
- doctitle = "Coloring notes depending on their pitch"
-}
-
-%LSR Thanks a LOT to Damian leGassick, Steven Weber and Jay Anderson for this snippet
-
-%Association list of pitches to colors.
-#(define color-mapping
- (list
- (cons (ly:make-pitch 0 0 0) (x11-color 'red))
- (cons (ly:make-pitch 0 0 1/2) (x11-color 'green))
- (cons (ly:make-pitch 0 1 -1/2) (x11-color 'green))
- (cons (ly:make-pitch 0 2 0) (x11-color 'red))
- (cons (ly:make-pitch 0 2 1/2) (x11-color 'green))
- (cons (ly:make-pitch 0 3 -1/2) (x11-color 'red))
- (cons (ly:make-pitch 0 3 0) (x11-color 'green))
- (cons (ly:make-pitch 0 4 1/2) (x11-color 'red))
- (cons (ly:make-pitch 0 5 0) (x11-color 'green))
- (cons (ly:make-pitch 0 5 -1/2) (x11-color 'red))
- (cons (ly:make-pitch 0 6 1/2) (x11-color 'red))
- (cons (ly:make-pitch 0 1 0) (x11-color 'blue))
- (cons (ly:make-pitch 0 3 1/2) (x11-color 'blue))
- (cons (ly:make-pitch 0 4 -1/2) (x11-color 'blue))
- (cons (ly:make-pitch 0 5 1/2) (x11-color 'blue))
- (cons (ly:make-pitch 0 6 -1/2) (x11-color 'blue))
- ))
-
-%Compare pitch and alteration (not octave).
-#(define (pitch-equals? p1 p2)
- (and
- (= (ly:pitch-alteration p1) (ly:pitch-alteration p2))
- (= (ly:pitch-notename p1) (ly:pitch-notename p2))))
-
-#(define (pitch-to-color pitch)
- (let ((color (assoc pitch color-mapping pitch-equals?)))
- (if color
- (cdr color))))
-
-#(define (color-notehead grob)
- (pitch-to-color
- (ly:event-property (event-cause grob) 'pitch)))
-
-\score {
- \new Staff \relative c' {
- \override NoteHead #'color = #color-notehead
- c8 b d dis ees f g aes
- }
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "rhythms"
- texidoc = "
-Odd 20th century time signatures (such as \"5/8\") can often be played
-as compound time signatures (e.g. \"3/8 + 2/8\"), which combine two or
-more inequal metrics. LilyPond can make such music quite easy to read
-and play, by explicitly printing the compound time signatures and
-adapting the automatic beaming behavior. (Graphic measure grouping
-indications can also be added; see the appropriate snippet in this
-database.)
-
-"
- doctitle = "Compound time signatures"
-}
-
-#(define ((compound-time one two num) grob)
- (grob-interpret-markup grob
- (markup #:override '(baseline-skip . 0) #:number
- (#:line (
- (#:column (one num))
- #:vcenter "+"
- (#:column (two num))))
- )))
-
-\relative c' {
- \override Staff.TimeSignature #'stencil = #(compound-time "2" "3" "8")
- \time 5/8
- #(override-auto-beam-setting '(end 1 8 5 8) 1 4)
- c8 d e fis gis
- c8 fis, gis e d
- c8 d e4 gis8
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "expressive-marks, editorial-annotations, tweaks-and-overrides"
-
- texidoc = "
-Creating a delayed turn, where the lower note of the
-turn uses the accidental, requires several overrides. The
-@code{outside-staff-priority} property must be set to @code{#f},
-as otherwise this would take precedence over the
-@code{avoid-slur property}. The value of @code{halign} is used
-to position the turn horizontally."
-
- doctitle = "Creating a delayed turn"
-}
-
-\relative c'' {
- \once \override TextScript #'avoid-slur = #'inside
- \once \override TextScript #'outside-staff-priority = ##f
- c2(^\markup \tiny \override #'(baseline-skip . 1) {
- \halign #-4
- \center-column {
- \sharp
- \musicglyph #"scripts.turn"
- }
- }
- d4.) c8
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "staff-notation"
- texidoc = "New metronome marks can be created in markup mode,
-but they will not change the tempo in MIDI output."
-
- doctitle = "Creating metronome marks in markup mode"
-}
-
-\relative c' {
- \tempo \markup {
- \concat {
- (
- \smaller \general-align #Y #DOWN \note #"16." #1
- " = "
- \smaller \general-align #Y #DOWN \note #"8" #1
- )
- }
- }
- c1
- c4 c' c,2
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "expressive-marks,text,tweaks-and-overrides"
- texidoc = "
-Unlike text scripts, rehearsal marks cannot be stacked at a particular point
-in a score: only one @code{RehearsalMark} object is created. Using an
-invisible measure and bar line, an extra rehearsal mark can be added, giving
-the appearance of two marks in the same column.
-
-This method may also prove useful for placing rehearsal marks at both the
-end of one system and the start of the following system.
-"
- doctitle = "Creating simultaneous rehearsal marks"
-}
-
-% LSR: Thanks to Risto Vääräniemi for this snippet
-
-{
- \key a \major
- \set Score.markFormatter = #format-mark-box-letters
- \once \override Score.RehearsalMark #'outside-staff-priority = #5000
- \once \override Score.RehearsalMark #'self-alignment-X = #LEFT
- \once \override Score.RehearsalMark #'break-align-symbols = #'(key-signature)
- \mark \markup { \bold { Senza denti } }
-
- % the hidden measure and bar line
- \once \override Score.TimeSignature #'stencil = ##f
- \time 1/16
- s16 \bar ""
-
- \time 4/4
- \once \override Score.RehearsalMark #'self-alignment-X = #LEFT
- \mark \markup { \box \bold Intro }
- d'1
- \mark \default
- d'1
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "expressive-marks, text, tweaks-and-overrides"
- texidoc = "The @code{\\startTextSpan} and @code{\\stopTextSpan}
-commands allow the creation of text spanners as easily as pedal
-indications or octavations. Override some properties of the
-@code{TextSpanner} object to modify its output."
-
- doctitle = "Creating text spanners"
-}
-
-\paper { ragged-right = ##f }
-
-\relative c'' {
- \override TextSpanner #'(bound-details left text) = #"bla"
- \override TextSpanner #'(bound-details right text) = #"blu"
- a4 \startTextSpan
- b4 c
- a4 \stopTextSpan
-
- \override TextSpanner #'style = #'line
- \once \override TextSpanner
- #'(bound-details left stencil-align-dir-y) = #CENTER
- a4 \startTextSpan
- b4 c
- a4 \stopTextSpan
-
- \override TextSpanner #'style = #'dashed-line
- \override TextSpanner #'(bound-details left text) =
- \markup { \draw-line #'(0 . 1) }
- \override TextSpanner #'(bound-details right text) =
- \markup { \draw-line #'(0 . -2) }
- \once \override TextSpanner #'(bound-details right padding) = #-2
-
- a4 \startTextSpan
- b4 c
- a4 \stopTextSpan
-
- \set Staff.middleCPosition = #-13
- \override TextSpanner #'dash-period = #10
- \override TextSpanner #'dash-fraction = #0.5
- \override TextSpanner #'thickness = #10
- a4 \startTextSpan
- b4 c
- a4 \stopTextSpan
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "fretted-strings,tweaks-and-overrides"
-
- texidoc = "Fret diagram properties can be set through
-@code{'fret-diagram-details}. For FretBoard fret diagrams,
-overrides are applied to the @code{FretBoards.FretBoard} object.
-Like @code{Voice}, @code{FretBoards} is a bottom level context,
-therefore can be omitted in property overrides.
-
-"
- doctitle = "Customizing fretboard fret diagrams"
-}
-
-\include "predefined-guitar-fretboards.ly"
-\storePredefinedDiagram \chordmode { c' }
- #guitar-tuning
- #"x;1-1-(;3-2;3-3;3-4;1-1-);"
-<<
- \new ChordNames {
- \chordmode { c1 c c d }
- }
- \new FretBoards {
- % Set global properties of fret diagram
- \override FretBoards.FretBoard #'size = #'1.2
- \override FretBoard
- #'(fret-diagram-details finger-code) = #'in-dot
- \override FretBoard
- #'(fret-diagram-details dot-color) = #'white
- \chordmode {
- c
- \once \override FretBoard #'size = #'1.0
- \once \override FretBoard
- #'(fret-diagram-details barre-type) = #'straight
- \once \override FretBoard
- #'(fret-diagram-details dot-color) = #'black
- \once \override FretBoard
- #'(fret-diagram-details finger-code) = #'below-string
- c'
- \once \override FretBoard
- #'(fret-diagram-details barre-type) = #'none
- \once \override FretBoard
- #'(fret-diagram-details number-type) = #'arabic
- \once \override FretBoard
- #'(fret-diagram-details orientation) = #'landscape
- \once \override FretBoard
- #'(fret-diagram-details mute-string) = #"M"
- \once \override FretBoard
- #'(fret-diagram-details label-dir) = #LEFT
- \once \override FretBoard
- #'(fret-diagram-details dot-color) = #'black
- c'
- \once \override FretBoard
- #'(fret-diagram-details finger-code) = #'below-string
- \once \override FretBoard
- #'(fret-diagram-details dot-radius) = #0.35
- \once \override FretBoard
- #'(fret-diagram-details dot-position) = #0.5
- \once \override FretBoard
- #'(fret-diagram-details fret-count) = #3
- d
- }
- }
- \new Voice {
- c'1 c' c' d'
- }
->>
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "fretted-strings,tweaks-and-overrides"
-
- texidoc = "Fret diagram properties can be set through
-@code{'fret-diagram-details}. For markup fret diagrams, overrides
-can be applied to the @code{Voice.TextScript} object or directly
-to the markup.
-"
- doctitle = "Customizing markup fret diagrams"
-}
-
-<<
- \chords { c1 c c d }
-
- \new Voice = "mel" {
- \textLengthOn
- % Set global properties of fret diagram
- \override TextScript #'size = #'1.2
- \override TextScript
- #'(fret-diagram-details finger-code) = #'in-dot
- \override TextScript
- #'(fret-diagram-details dot-color) = #'white
-
- %% C major for guitar, no barre, using defaults
- % terse style
- c'1^\markup { \fret-diagram-terse #"x;3-3;2-2;o;1-1;o;" }
-
- %% C major for guitar, barred on third fret
- % verbose style
- % size 1.0
- % roman fret label, finger labels below string, straight barre
- c'1^\markup {
- % standard size
- \override #'(size . 1.0) {
- \override #'(fret-diagram-details . (
- (number-type . roman-lower)
- (finger-code . in-dot)
- (barre-type . straight))) {
- \fret-diagram-verbose #'((mute 6)
- (place-fret 5 3 1)
- (place-fret 4 5 2)
- (place-fret 3 5 3)
- (place-fret 2 5 4)
- (place-fret 1 3 1)
- (barre 5 1 3))
- }
- }
- }
-
- %% C major for guitar, barred on third fret
- % verbose style
- % landscape orientation, arabic numbers, M for mute string
- % no barre, fret label down or left, small mute label font
- c'1^\markup {
- \override #'(fret-diagram-details . (
- (finger-code . below-string)
- (number-type . arabic)
- (label-dir . -1)
- (mute-string . "M")
- (orientation . landscape)
- (barre-type . none)
- (xo-font-magnification . 0.4)
- (xo-padding . 0.3))) {
- \fret-diagram-verbose #'((mute 6)
- (place-fret 5 3 1)
- (place-fret 4 5 2)
- (place-fret 3 5 3)
- (place-fret 2 5 4)
- (place-fret 1 3 1)
- (barre 5 1 3))
- }
- }
-
- %% simple D chord
- % terse style
- % larger dots, centered dots, fewer frets
- % label below string
- d'1^\markup {
- \override #'(fret-diagram-details . (
- (finger-code . below-string)
- (dot-radius . 0.35)
- (dot-position . 0.5)
- (fret-count . 3))) {
- \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
- }
- }
- }
->>
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "fretted-strings"
- texidoc = "Predefined fret diagrams can be added for new instruments
-in addition to the standards used for guitar. This file shows how
-this is done by defining a new string-tuning and a few predefined
-fretboards for the Venezuelan cuatro.
-
-This file also shows how fingerings can be included in the chords
-used as reference points for the chord lookup, and displayed in
-the fret diagram and the @code{TabStaff}, but not the music.
-
-These fretboards are not transposable because they contain string
-information. This is planned to be corrected in the future.
-
-"
- doctitle = "Defining predefined fretboards for other instruments"
-}
-
-%LSR: Thanks to Jesus Guillermo Andrade for the string-tuning
-%LSR: and fretboard information.
-
-% 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 = #'(11 18 14 9)
-
-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 \dSix
- #cuatroTuning
- #"o;o;o;o;"
-\storePredefinedDiagram \dMajor
- #cuatroTuning
- #"o;o;o;3-3;"
-\storePredefinedDiagram \aMajSeven
- #cuatroTuning
- #"o;2-2;1-1;2-3;"
-\storePredefinedDiagram \dMajSeven
- #cuatroTuning
- #"o;o;o;1-1;"
-\storePredefinedDiagram \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 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 { }
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "staff-notation,tweaks-and-overrides"
- texidoc = "If there is only one staff in one of the staff types
-@code{ChoirStaff} or @code{StaffGroup}, the bracket and the starting
-bar line will not be displayed as standard behavior. This can be changed
-by overriding the relevant properties.
-
-Note that in contexts such as @code{PianoStaff} and @code{GrandStaff}
-where the systems begin with a brace instead of a bracket, another
-property has to be set, as shown on the second system in the example.
-"
- doctitle = "Display bracket with only one staff in a system"
-}
-
-\markup \left-column {
- \score {
- \new StaffGroup <<
- % Must be lower than the actual number of staff lines
- \override StaffGroup.SystemStartBracket #'collapse-height = #1
- \override Score.SystemStartBar #'collapse-height = #1
- \new Staff {
- c'1
- }
- >>
- \layout { }
- }
- \score {
- \new PianoStaff <<
- \override PianoStaff.SystemStartBrace #'collapse-height = #1
- \override Score.SystemStartBar #'collapse-height = #1
- \new Staff {
- c'1
- }
- >>
- \layout { }
- }
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "pitches"
- texidoc = "In early 20th century works, starting with Schoenberg,
-Berg and Webern (the \"Second\" Viennese school), every pitch in the
-twelve-tone scale has to be regarded as equal, without any hierarchy
-such as the classical (tonal) degrees. Therefore, these composers
-print one accidental for each note, even at natural pitches, to
-emphasize their new approach to music theory and language.
-
-This snippet shows how to achieve such notation rules.
-"
-
- doctitle = "Dodecaphonic-style accidentals for each note including naturals"
-}
-
-\score {
- \new Staff {
- #(set-accidental-style 'dodecaphonic)
- c'4 dis' cis' cis'
- c'4 dis' cis' cis'
- c'4 c' dis' des'
- }
- \layout {
- \context {
- \Staff
- \remove "Key_engraver"
- }
- }
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "unfretted-strings,tweaks-and-overrides"
- texidoc = "Artificial harmonics using @code{\\harmonic} do not show
-dots. To override this behavior, set the context property
-@code{harmonicDots}."
- doctitle = "Dotted harmonics"
-}
-
-\relative c''' {
- \time 3/4
- \key f \major
- \set harmonicDots = ##t
- <bes f'\harmonic>2. ~
- <bes f'\harmonic>4. <a e'\harmonic>8( <gis dis'\harmonic> <g d'\harmonic>)
- <fis cis'\harmonic>2.
- <bes f'\harmonic>2.
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "tweaks-and-overrides"
- texidoc = "
-The @code{print-function} can be overridden to draw a box around an
-arbitrary grob.
-"
- doctitle = "Drawing boxes around grobs"
-}
-
-\relative c'' {
- \override TextScript #'stencil =
- #(make-stencil-boxer 0.1 0.3 ly:text-interface::print)
- c'4^"foo"
-
- \override Stem #'stencil =
- #(make-stencil-boxer 0.05 0.25 ly:stem::print)
- \override Score.RehearsalMark #'stencil =
- #(make-stencil-boxer 0.15 0.3 ly:text-interface::print)
- b8
-
- \revert Stem #'stencil
- c4. c4
- \mark "F"
- c1
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "tweaks-and-overrides"
- texidoc = "
-The @code{\circle} markup command draws circles around various objects,
-for example fingering indications. For other objects, specific tweaks
-may be required: this example demonstrates two strategies for rehearsal
-marks and measure numbers.
-"
- doctitle = "Drawing circles around various objects"
-}
-
-\relative c' {
- c1
- \set Score.markFormatter =
- #(lambda (mark context)
- (make-circle-markup (format-mark-numbers mark context)))
- \mark \default
- c2 d^\markup {
- \override #'(thickness . 3) {
- \circle \finger 2
- }
- }
- \override Score.BarNumber #'break-visibility = #all-visible
- \override Score.BarNumber #'stencil =
- #(make-stencil-circler 0.1 0.25 ly:text-interface::print)
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "keyboards, tweaks-and-overrides"
- texidoc = "The appearance of pedal brackets may be altered in
-different ways."
- doctitle = "Fine-tuning pedal brackets"
-}
-
-\paper { ragged-right = ##f }
-\relative c'' {
- c2\sostenutoOn c
- c2\sostenutoOff c
- \once \override Staff.PianoPedalBracket #'shorten-pair = #'(-7 . -2)
- c2\sostenutoOn c
- c2\sostenutoOff c
- \once \override Staff.PianoPedalBracket #'edge-height = #'(0 . 3)
- c2\sostenutoOn c
- c2\sostenutoOff c
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "winds"
-
- texidoc = "
-It is possible to indicate special articulation techniques such as
-flute's \"tongue slap\", by replacing the note head with the
-appropriate glyph.
-
-"
- doctitle = "Flute slap notation"
-}
-
-slap =
-#(define-music-function (parser location music) (ly:music?)
-#{
- \override NoteHead #'stencil = #(lambda (grob)
- (grob-interpret-markup grob
- (markup #:musicglyph "scripts.sforzato")))
- \override NoteHead #'extra-offset = #'(0.1 . 0.0)
- $music
- \revert NoteHead #'stencil
- \revert NoteHead #'extra-offset
-#})
-
-\relative c' {
- c4 \slap c d r \slap { g a } b r
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "fretted-strings,tweaks-and-overrides"
- texidoc = "This snippet shows many possibilities for obtaining
-and tweaking fret diagrams."
- doctitle = "Fret diagrams explained and developed"
-}
-
-<<
- \chords {
- a2 a
- \repeat unfold 3 {
- c c c d d
- }
- }
-
- \new Voice = "mel" {
- \textLengthOn
- % Set global properties of fret diagram
- \override TextScript #'size = #1.2
- \override TextScript
- #'fret-diagram-details #'finger-code = #'below-string
- \override TextScript #'fret-diagram-details #'dot-color = #'black
-
- %% A chord for ukelele
- a'2^\markup {
- \override #'(fret-diagram-details . (
- (string-count . 4)
- (dot-color . white)
- (finger-code . in-dot))) {
- \fret-diagram #"4-2-2;3-1-1;2-o;1-o;"
- }
- }
-
- %% A chord for ukelele, with formatting defined in definition string
- % 1.2 * size, 4 strings, 4 frets, fingerings below string
- % dot radius .35 of fret spacing, dot position 0.55 of fret spacing
- a'2^\markup {
- \override #'(fret-diagram-details . (
- (dot-color . white)
- (open-string . "o"))) {
- \fret-diagram #"s:1.2;w:4;h:3;f:2;d:0.35;p:0.55;4-2-2;3-1-1;2-o;1-o;"
- }
- }
-
- %% These chords will be in normal orientation
-
- %% C major for guitar, barred on third fret
- % verbose style
- % roman fret label, finger labels below string, straight barre
- c'2^\markup {
- % 110% of default size
- \override #'(size . 1.1) {
- \override #'(fret-diagram-details . (
- (number-type . roman-lower)
- (finger-code . below-string)
- (barre-type . straight))) {
- \fret-diagram-verbose #'((mute 6)
- (place-fret 5 3 1)
- (place-fret 4 5 2)
- (place-fret 3 5 3)
- (place-fret 2 5 4)
- (place-fret 1 3 1)
- (barre 5 1 3))
- }
- }
- }
-
- %% C major for guitar, barred on third fret
- %% Double barre used to test barre function
- % verbose style
- c'2^\markup {
- % 110% of default size
- \override #'(size . 1.1) {
- \override #'(fret-diagram-details . (
- (number-type . arabic)
- (dot-label-font-mag . 0.9)
- (finger-code . in-dot)
- (fret-label-font-mag . 0.6)
- (fret-label-vertical-offset . 0)
- (label-dir . -1)
- (mute-string . "M")
- (xo-font-magnification . 0.4)
- (xo-padding . 0.3))) {
- \fret-diagram-verbose #'((mute 6)
- (place-fret 5 3 1)
- (place-fret 4 5 2)
- (place-fret 3 5 3)
- (place-fret 2 5 4)
- (place-fret 1 3 1)
- (barre 4 2 5)
- (barre 5 1 3))
- }
- }
- }
-
- %% C major for guitar, with capo on third fret
- % verbose style
- c'2^\markup {
- % 110% of default size
- \override #'(size . 1.1) {
- \override #'(fret-diagram-details . (
- (number-type . roman-upper)
- (dot-label-font-mag . 0.9)
- (finger-code . none)
- (fret-label-vertical-offset . 0.5)
- (xo-font-magnification . 0.4)
- (xo-padding . 0.3))) {
- \fret-diagram-verbose #'((mute 6)
- (capo 3)
- (open 5)
- (place-fret 4 5 1)
- (place-fret 3 5 2)
- (place-fret 2 5 3)
- (open 1))
- }
- }
- }
-
- %% simple D chord
- d'2^\markup {
- \override #'(fret-diagram-details . (
- (finger-code . below-string)
- (dot-radius . 0.35)
- (string-thickness-factor . 0.3)
- (dot-position . 0.5)
- (fret-count . 3))) {
- \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
- }
- }
-
- %% simple D chord, large top fret thickness
- d'2^\markup {
- \override #'(fret-diagram-details . (
- (finger-code . below-string)
- (dot-radius . 0.35)
- (dot-position . 0.5)
- (top-fret-thickness . 7)
- (fret-count . 3))) {
- \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
- }
- }
-
- % These chords will be in landscape orientation
- \override TextScript
- #'fret-diagram-details #'orientation = #'landscape
-
- %% C major for guitar, barred on third fret
- % verbose style
- % roman fret label, finger labels below string, straight barre
- c'2^\markup {
- % 110% of default size
- \override #'(size . 1.1) {
- \override #'(fret-diagram-details . (
- (number-type . roman-lower)
- (finger-code . below-string)
- (barre-type . straight))) {
- \fret-diagram-verbose #'((mute 6)
- (place-fret 5 3 1)
- (place-fret 4 5 2)
- (place-fret 3 5 3)
- (place-fret 2 5 4)
- (place-fret 1 3 1)
- (barre 5 1 3))
- }
- }
- }
-
- %% C major for guitar, barred on third fret
- %% Double barre used to test barre function
- % verbose style
- c'2^\markup {
- % 110% of default size
- \override #'(size . 1.1) {
- \override #'(fret-diagram-details . (
- (number-type . arabic)
- (dot-label-font-mag . 0.9)
- (finger-code . in-dot)
- (fret-label-font-mag . 0.6)
- (fret-label-vertical-offset . 0)
- (label-dir . -1)
- (mute-string . "M")
- (xo-font-magnification . 0.4)
- (xo-padding . 0.3))) {
- \fret-diagram-verbose #'((mute 6)
- (place-fret 5 3 1)
- (place-fret 4 5 2)
- (place-fret 3 5 3)
- (place-fret 2 5 4)
- (place-fret 1 3 1)
- (barre 4 2 5)
- (barre 5 1 3))
- }
- }
- }
-
- %% C major for guitar, with capo on third fret
- % verbose style
- c'2^\markup {
- % 110% of default size
- \override #'(size . 1.1) {
- \override #'(fret-diagram-details . (
- (number-type . roman-upper)
- (dot-label-font-mag . 0.9)
- (finger-code . none)
- (fret-label-vertical-offset . 0.5)
- (xo-font-magnification . 0.4)
- (xo-padding . 0.3))) {
- \fret-diagram-verbose #'((mute 6)
- (capo 3)
- (open 5)
- (place-fret 4 5 1)
- (place-fret 3 5 2)
- (place-fret 2 5 3)
- (open 1))
- }
- }
- }
-
- %% simple D chord
- d'2^\markup {
- \override #'(fret-diagram-details . (
- (finger-code . below-string)
- (dot-radius . 0.35)
- (dot-position . 0.5)
- (fret-count . 3))) {
- \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
- }
- }
-
- %% simple D chord, large top fret thickness
- d'2^\markup {
- \override #'(fret-diagram-details . (
- (finger-code . below-string)
- (dot-radius . 0.35)
- (dot-position . 0.5)
- (top-fret-thickness . 7)
- (fret-count . 3))) {
- \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
- }
- }
-
- % These chords will be in opposing-landscape orientation
- \override TextScript #'fret-diagram-details
- #'orientation = #'opposing-landscape
-
- %% C major for guitar, barred on third fret
- % verbose style
- % roman fret label, finger labels below string, straight barre
- c'2^\markup {
- % 110% of default size
- \override #'(size . 1.1) {
- \override #'(fret-diagram-details . (
- (number-type . roman-lower)
- (finger-code . below-string)
- (barre-type . straight))) {
- \fret-diagram-verbose #'((mute 6)
- (place-fret 5 3 1)
- (place-fret 4 5 2)
- (place-fret 3 5 3)
- (place-fret 2 5 4)
- (place-fret 1 3 1)
- (barre 5 1 3))
- }
- }
- }
-
- %% C major for guitar, barred on third fret
- %% Double barre used to test barre function
- % verbose style
- c'2^\markup {
- % 110% of default size
- \override #'(size . 1.1) {
- \override #'(fret-diagram-details . (
- (number-type . arabic)
- (dot-label-font-mag . 0.9)
- (finger-code . in-dot)
- (fret-label-font-mag . 0.6)
- (fret-label-vertical-offset . 0)
- (label-dir . -1)
- (mute-string . "M")
- (xo-font-magnification . 0.4)
- (xo-padding . 0.3))) {
- \fret-diagram-verbose #'((mute 6)
- (place-fret 5 3 1)
- (place-fret 4 5 2)
- (place-fret 3 5 3)
- (place-fret 2 5 4)
- (place-fret 1 3 1)
- (barre 4 2 5)
- (barre 5 1 3))
- }
- }
- }
-
- %% C major for guitar, with capo on third fret
- % verbose style
- c'2^\markup {
- % 110% of default size
- \override #'(size . 1.1) {
- \override #'(fret-diagram-details . (
- (number-type . roman-upper)
- (dot-label-font-mag . 0.9)
- (finger-code . none)
- (fret-label-vertical-offset . 0.5)
- (xo-font-magnification . 0.4)
- (xo-padding . 0.3))) {
- \fret-diagram-verbose #'((mute 6)
- (capo 3)
- (open 5)
- (place-fret 4 5 1)
- (place-fret 3 5 2)
- (place-fret 2 5 3)
- (open 1))
- }
- }
- }
-
- %% simple D chord
- d'2^\markup {
- \override #'(fret-diagram-details . (
- (finger-code . below-string)
- (dot-radius . 0.35)
- (dot-position . 0.5)
- (fret-count . 3))) {
- \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
- }
- }
-
- %% simple D chord, large top fret thickness
- d'2^\markup {
- \override #'(fret-diagram-details . (
- (finger-code . below-string)
- (dot-radius . 0.35)
- (dot-position . 0.5)
- (top-fret-thickness . 7)
- (fret-count . 3))) {
- \fret-diagram-terse #"x;x;o;2-1;3-2;2-3;"
- }
- }
- }
->>
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "rhythms,fretted-strings"
- texidoc = "
-For guitar music, it is possible to show strum rhythms, along
-with melody notes, chord names, and fret diagrams.
-"
- doctitle = "Guitar strum rhythms"
-}
-
-\include "predefined-guitar-fretboards.ly"
-<<
- \new ChordNames {
- \chordmode {
- c1 f g c
- }
- }
- \new FretBoards {
- \chordmode {
- c1 f g c
- }
- }
- \new Voice \with {
- \consists "Pitch_squash_engraver"
- } {
- \relative c'' {
- \improvisationOn
- c4 c8 c c4 c8 c
- f4 f8 f f4 f8 f
- g4 g8 g g4 g8 g
- c4 c8 c c4 c8 c
- }
- }
- \new Voice = "melody" {
- \relative c'' {
- c2 e4 e4
- f2. r4
- g2. a4
- e4 c2.
- }
- }
- \new Lyrics {
- \lyricsto "melody" {
- This is my song.
- I like to sing.
- }
- }
->>
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "rhythms, percussion"
-
- texidoc = "
-Though the polymetric time signature shown was not the most essential
-item here, it has been included to show the beat of this piece (which
-is the template of a real Balkan song!).
-
-"
- doctitle = "Heavily customized polymetric time signatures"
-}
-
-#(define plus (markup #:vcenter "+"))
-#(define ((custom-time-signature one two three four five six
- seven eight nine ten eleven num) grob)
- (grob-interpret-markup grob
- (markup #:override '(baseline-skip . 0) #:number
- (#:line (
- (#:column (one num)) plus
- (#:column (two num)) plus
- (#:column (three num)) plus
- (#:column (four num)) plus
- (#:column (five num)) plus
- (#:column (six num)) plus
- (#:column (seven num)) plus
- (#:column (eight num)) plus
- (#:column (nine num)) plus
- (#:column (ten num)) plus
- (#:column (eleven num))))
- )))
-
-melody = \relative c'' {
- \set Staff.instrumentName = #"Bb Sop."
- \key g \major
- #(set-time-signature 25 8 '(3 2 2 3 2 2 2 2 3 2 2))
- \override Staff.TimeSignature #'stencil =
- #(custom-time-signature "3" "2" "2" "3" "2" "2"
- "2" "2" "3" "2" "2" "8")
- c8 c c d4 c8 c b c b a4 g fis8 e d c b' c d e4-^ fis8 g \break
- c,4. d4 c4 d4. c4 d c2 d4. e4-^ d4
- c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 \break
- c4. d4 c4 d4. c4 d c2 d4. e4-^ d4
- c4. d4 c4 d4. c4 d c2 d4. e4-^ d4 \break
-}
-
-drum = \new DrumStaff \drummode {
- \bar "|:" bd4.^\markup { "Drums" } sn4 bd \bar ":" sn4.
- bd4 sn \bar ":" bd sn bd4. sn4 bd \bar ":|"
-}
-
-{
- \melody
- \drum
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "staff-notation,ancient-notation"
- texidoc = "Incipits can be added using the instrument name grob, but
-keeping separate the instrument name definition and the incipit definition."
- doctitle = "Incipit"
-}
-
-incipit =
-#(define-music-function (parser location incipit-music) (ly:music?)
- #{
- \once \override Staff.InstrumentName #'self-alignment-X = #RIGHT
- \once \override Staff.InstrumentName #'self-alignment-Y = #UP
- \once \override Staff.InstrumentName #'Y-offset = #4
- \once \override Staff.InstrumentName #'padding = #0.3
- \once \override Staff.InstrumentName #'stencil =
- #(lambda (grob)
- (let* ((instrument-name (ly:grob-property grob 'long-text))
- (layout (ly:output-def-clone (ly:grob-layout grob)))
- (music (make-music 'SequentialMusic
- 'elements (list (make-music 'ContextSpeccedMusic
- 'context-type 'MensuralStaff
- 'element (make-music 'PropertySet
- 'symbol 'instrumentName
- 'value instrument-name))
- $incipit-music)))
- (score (ly:make-score music))
- (mm (ly:output-def-lookup layout 'mm))
- (indent (ly:output-def-lookup layout 'indent))
- (width (ly:output-def-lookup layout 'incipit-width))
- (incipit-width (if (number? width)
- (* width mm)
- (* indent 0.5))))
- (ly:output-def-set-variable! layout 'indent (- indent incipit-width))
- (ly:output-def-set-variable! layout 'line-width indent)
- (ly:output-def-set-variable! layout 'ragged-right #f)
- (ly:output-def-set-variable! layout 'ragged-last #f)
- (ly:output-def-set-variable! layout 'system-count 1)
- (ly:score-add-output-def! score layout)
- (ly:grob-set-property! grob 'long-text
- (markup #:score score))
- (ly:system-start-text::print grob)))
- #})
-
-%%%%%%%%%%%%%%%%%%%%%%%%%
-
-global = {
- \set Score.skipBars = ##t
- \key g \major
- \time 4/4
-
- % the actual music
- \skip 1*8
-
- % let finis bar go through all staves
- \override Staff.BarLine #'transparent = ##f
-
- % finis bar
- \bar "|."
-}
-
-discantusIncipit = <<
- \new MensuralVoice = "discantusIncipit" <<
- \repeat unfold 9 { s1 \noBreak }
- {
- \clef "neomensural-c1"
- \key f \major
- \time 2/2
- c''1.
- }
- >>
- \new Lyrics \lyricsto discantusIncipit { IV- }
->>
-
-discantusNotes = {
- \transpose c' c'' {
- \clef "treble"
- d'2. d'4 |
- b e' d'2 |
- c'4 e'4.( d'8 c' b |
- a4) b a2 |
- b4.( c'8 d'4) c'4 |
- \once \override NoteHead #'transparent = ##t
- c'1 |
- b\breve |
- }
-}
-
-discantusLyrics = \lyricmode {
- Ju -- bi -- |
- la -- te De -- |
- o, om --
- nis ter -- |
- ra, __ om- |
- "..." |
- -us. |
-}
-
-altusIncipit = <<
- \new MensuralVoice = "altusIncipit" <<
- \repeat unfold 9 { s1 \noBreak }
- {
- \clef "neomensural-c3"
- \key f \major
- \time 2/2
- r1 f'1.
- }
- >>
- \new Lyrics \lyricsto altusIncipit { IV- }
->>
-
-altusNotes = {
- \transpose c' c'' {
- \clef "treble"
- % two measures
- r2 g2. e4 fis g |
- a2 g4 e |
- fis g4.( fis16 e fis4) |
- g1 |
- \once \override NoteHead #'transparent = ##t
- g1 |
- g\breve |
- }
-}
-
-altusLyrics = \lyricmode {
- % two measures
- Ju -- bi -- la -- te |
- De -- o, om -- |
- nis ter -- ra, |
- "..." |
- -us. |
-}
-
-tenorIncipit = <<
- \new MensuralVoice = "tenorIncipit" <<
- \repeat unfold 9 { s1 \noBreak }
- {
- \clef "neomensural-c4"
- \key f \major
- \time 2/2
- r\longa
- r\breve
- r1 c'1.
- }
- >>
- \new Lyrics \lyricsto tenorIncipit { IV- }
->>
-
-tenorNotes = {
- \transpose c' c' {
- \once \override Staff.VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 3)
- \clef "treble_8"
- R1 |
- R1 |
- R1 |
- % two measures
- r2 d'2. d'4 b e' |
- \once \override NoteHead #'transparent = ##t
- e'1 |
- d'\breve |
- }
-}
-
-tenorLyrics = \lyricmode {
- % two measures
- Ju -- bi -- la -- te |
- "..." |
- -us.
-}
-
-bassusIncipit = <<
- \new MensuralVoice = "bassusIncipit" <<
- \repeat unfold 9 { s1 \noBreak }
- {
- \clef "bass"
- \key f \major
- \time 2/2
- %% incipit
- r\maxima
- f1.
- }
- >>
- \new Lyrics \lyricsto bassusIncipit { IV- }
->>
-
-bassusNotes = {
- \transpose c' c' {
- \clef "bass"
- R1 |
- R1 |
- R1 |
- R1 |
- g2. e4 |
- \once \override NoteHead #'transparent = ##t
- e1 |
- g\breve |
- }
-}
-
-bassusLyrics = \lyricmode {
- Ju -- bi- |
- "..." |
- -us.
-}
-
-\score {
- <<
- \new StaffGroup = choirStaff <<
- \new Voice = "discantusNotes" <<
- \global
- \set Staff.instrumentName = #"Discantus"
- \incipit \discantusIncipit
- \discantusNotes
- >>
- \new Lyrics = "discantusLyrics" \lyricsto discantusNotes { \discantusLyrics }
- \new Voice = "altusNotes" <<
- \global
- \set Staff.instrumentName = #"Altus"
- \incipit \altusIncipit
- \altusNotes
- >>
- \new Lyrics = "altusLyrics" \lyricsto altusNotes { \altusLyrics }
- \new Voice = "tenorNotes" <<
- \global
- \set Staff.instrumentName = #"Tenor"
- \incipit \tenorIncipit
- \tenorNotes
- >>
- \new Lyrics = "tenorLyrics" \lyricsto tenorNotes { \tenorLyrics }
- \new Voice = "bassusNotes" <<
- \global
- \set Staff.instrumentName = #"Bassus"
- \incipit \bassusIncipit
- \bassusNotes
- >>
- \new Lyrics = "bassusLyrics" \lyricsto bassusNotes { \bassusLyrics }
- >>
- >>
- \layout {
- \context {
- \Score
- %% no bar lines in staves or lyrics
- \override BarLine #'transparent = ##t
- }
- %% the next two instructions keep the lyrics between the bar lines
- \context {
- \Lyrics
- \consists "Bar_engraver"
- \consists "Separating_line_group_engraver"
- }
- \context {
- \Voice
- %% no slurs
- \override Slur #'transparent = ##t
- %% Comment in the below "\remove" command to allow line
- %% breaking also at those bar lines where a note overlaps
- %% into the next measure. The command is commented out in this
- %% short example score, but especially for large scores, you
- %% will typically yield better line breaking and thus improve
- %% overall spacing if you comment in the following command.
- %%\remove "Forbid_line_break_engraver"
- }
- indent = 6\cm
- incipit-width = 4\cm
- }
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "expressive-marks,tweaks-and-overrides"
- texidoc = "
-Caesura marks can be created by overriding the @code{'text}
-property of the @code{BreathingSign} object. A curved caesura
-mark is also available.
-"
- doctitle = "Inserting a caesura"
-}
-
-\relative c'' {
- \override BreathingSign #'text = \markup {
- \musicglyph #"scripts.caesura.straight"
- }
- c8 e4. \breathe g8. e16 c4
-
- \override BreathingSign #'text = \markup {
- \musicglyph #"scripts.caesura.curved"
- }
- g8 e'4. \breathe g8. e16 c4
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "staff-notation,fretted-strings"
-
- texidoc = "Tablature can be formatted using letters instead of
-numbers."
- doctitle = "Letter tablature formatting"
-}
-
-#(define (letter-tablature-format str context event)
- (let*
- ((tuning (ly:context-property context 'stringTunings))
- (pitch (ly:event-property event 'pitch)))
- (make-whiteout-markup
- (make-vcenter-markup
- (string (integer->char
- (+ (char->integer #\a)
- (- (ly:pitch-semitones pitch)
- (list-ref tuning (- str 1))))))))))
-
-music = \relative c {
- c4 d e f
- g4 a b c
- d4 e f g
-}
-
-<<
- \new Staff {
- \clef "G_8"
- \music
- }
- \new TabStaff \with {
- tablatureFormat = #letter-tablature-format
- }
- {
- \music
- }
->>
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "expressive-marks"
- texidoc = "Arrows can be applied to text-spanners and line-spanners
-(such as the Glissando)."
- doctitle = "Line arrows"
-}
-
-\relative c'' {
- \override TextSpanner #'bound-padding = #1.0
- \override TextSpanner #'style = #'line
- \override TextSpanner #'(bound-details right arrow) = ##t
- \override TextSpanner #'(bound-details left text) = #"fof"
- \override TextSpanner #'(bound-details right text) = #"gag"
- \override TextSpanner #'(bound-details right padding) = #0.6
-
- \override TextSpanner #'(bound-details right stencil-align-dir-y) = #CENTER
- \override TextSpanner #'(bound-details left stencil-align-dir-y) = #CENTER
-
- \override Glissando #'(bound-details right arrow) = ##t
- \override Glissando #'arrow-length = #0.5
- \override Glissando #'arrow-width = #0.25
-
- a8\startTextSpan gis a4 b\glissando b,
- g'4 c\stopTextSpan c2
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "pitches,world-music"
- texidoc = "Makam is a type of melody from Turkey using 1/9th-tone
-microtonal alterations. Consult the initialization file
-@code{ly/makam.ly} for details of pitch names and alterations."
- doctitle = "Makam example"
-}
-
-% Initialize makam settings
-\include "makam.ly"
-
-\relative c' {
- \set Staff.keySignature = #`((6 . ,(- KOMA)) (3 . ,BAKIYE))
- c4 cc db fk
- gbm4 gfc gfb efk
- fk4 db cc c
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "rhythms,tweaks-and-overrides"
- texidoc = "
-Setting the @code{'transparent} property will cause an object to be
-printed in \"invisible ink\": the object is not printed, but all its
-other behavior is retained. The object still takes up space, it takes
-part in collisions, and slurs, ties and beams can be attached to it.
-
-This snippet demonstrates how to connect different voices using ties.
-Normally, ties only connect two notes in the same voice. By
-introducing a tie in a different voice, and blanking the first up-stem
-in that voice, the tie appears to cross voices. To prevent the blanked stem's
-flag from interfering with tie positioning, the stem is extended.
-"
- doctitle = "Making an object invisible with the transparent property"
-}
-
-\relative c'' {
- \time 2/4
- <<
- {
- \once \override Stem #'transparent = ##t
- \once \override Stem #'length = #8
- b8 ~ b\noBeam
- \once \override Stem #'transparent = ##t
- \once \override Stem #'length = #8
- g8 ~ g\noBeam
- }
- \\
- {
- b8 g g e
- }
- >>
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "editorial-annotations, vocal-music"
-
- texidoc = "
-This example shows how to put crosses on stems. Mark the beginning
-of a spoken section with the @code{\\speakOn} keyword, and end it
-with the @code{\\speakOff} keyword.
-"
- doctitle = "Marking notes of spoken parts with a cross on the stem"
-}
-
-speakOn = {
- \override Stem #'stencil = #(lambda (grob)
- (let* ((x-parent (ly:grob-parent grob X))
- (is-rest? (ly:grob? (ly:grob-object x-parent 'rest))))
- (if is-rest?
- empty-stencil
- (ly:stencil-combine-at-edge
- (ly:stem::print grob)
- Y
- (- (ly:grob-property grob 'direction))
- (grob-interpret-markup grob
- (markup #:hspace -1.025 #:fontsize -4
- #:musicglyph "noteheads.s2cross"))
- -2.3 0))))
-}
-
-speakOff = {
- \revert Stem #'stencil
-}
-
-\score {
- \new Staff {
- \relative c'' {
- a4 b a c
- \speakOn
- g4 f r g
- b4 r d e
- \speakOff
- c4 a g f
- }
- }
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "text"
- texidoc = "Text that can spread over pages is entered with the
-@code{\\markuplines} command."
- doctitle = "Markup lines"
-}
-
-#(set-default-paper-size "a6")
-
-#(define-markup-list-command (paragraph layout props args) (markup-list?)
- (interpret-markup-list layout props
- (make-justified-lines-markup-list (cons (make-hspace-markup 2) args))))
-
-% Candide, Voltaire
-\markuplines {
- \override-lines #'(baseline-skip . 2.5) {
- \paragraph {
- Il y avait en Westphalie, dans le château de M. le baron de
- Thunder-ten-tronckh, un jeune garçon à qui la nature avait donné
- les mœurs les plus douces. Sa physionomie annonçait son âme.
- Il avait le jugement assez droit, avec l'esprit le plus simple ;
- c'est, je crois, pour cette raison qu'on le nommait Candide. Les
- anciens domestiques de la maison soupçonnaient qu'il était fils
- de la sœur de monsieur le baron et d'un bon et honnête
- gentilhomme du voisinage, que cette demoiselle ne voulut jamais
- épouser parce qu'il n'avait pu prouver que soixante et onze
- quartiers, et que le reste de son arbre généalogique avait été
- perdu par l'injure du temps.
- }
- \paragraph {
- Monsieur le baron était un des plus puissants seigneurs de la
- Westphalie, car son château avait une porte et des fenêtres. Sa
- grande salle même était ornée d'une tapisserie. Tous les chiens
- de ses basses-cours composaient une meute dans le besoin ; ses
- palefreniers étaient ses piqueurs; le vicaire du village était
- son grand-aumônier. Ils l'appelaient tous monseigneur, et ils
- riaient quand il faisait des contes.
- }
- }
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "staff-notation, fretted-strings"
-
- texidoc = "
-Use a markup text to replace the (TAB) clef glyph with a modern font.
-
-"
- doctitle = "Modern TAB text clef"
-}
-
-TAB = \markup {
- \raise #1.5
- \sans
- \bold
- \huge
- \override #'(baseline-skip . 2.5)
- \center-column {
- T
- A
- B
- }
-}
-
-\new TabStaff {
- \override Staff.Clef #'stencil = #(lambda (grob)
- (grob-interpret-markup grob TAB))
- a
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "rhythms, text"
- texidoc = "Markups attached to a multi-measure rest will be
-centered above or below it. Long markups attached to multi-measure
-rests do not cause the measure to expand. To expand a multi-measure
-rest to fit the markup, use a spacer rest with an attached markup
-before the multi-measure rest.
-
-Note that the spacer rest causes a bar line to be inserted. Text attached
-to a spacer rest in this way is left-aligned to the position where
-the note would be placed in the measure, but if the measure length is
-determined by the length of the text, the text will appear to be
-centered."
- doctitle = "Multi-measure rest markup"
-}
-
-\relative c' {
- \compressFullBarRests
- \textLengthOn
- s1*0^\markup { [MAJOR GENERAL] }
- R1*19
- s1*0_\markup { \italic { Cue: ... it is yours } }
- s1*0^\markup { A }
- R1*30^\markup { [MABEL] }
- \textLengthOff
- c4^\markup { CHORUS } d f c
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "template"
- texidoc = "
-This template demonstrates the use of nested @code{StaffGroup}
-and @code{GrandStaff} contexts to sub-group instruments of the same
-type together, and the use of @code{\\transpose} for transposing
-instruments. All music in variables is stored in C. Music may be
-entered in C or, alternatively, entered in the instrument key and
-transposed to C before being assigned to a variable.
-"
- doctitle = "Orchestra, choir and piano template"
-}
-
-#(set-global-staff-size 17)
-
-\paper {
- indent = 3.0\cm
- short-indent = 1.5\cm
-}
-
-fluteMusic = \relative c { \key c \major c'1 d }
-oboeMusic = \relative c { \key c \major c'1 d }
-clarinetMusic = \relative c { \key c \major c'1 d }
-bassoonMusic = \relative c { \clef bass \key c \major c1 d }
-trumpetMusic = \relative c { \key c \major c''1 d }
-tromboneMusic = \relative c { \key c \major c1 d }
-hornIMusic = \relative c { c'1 d }
-hornIIMusic = \relative c { c1 d }
-percussionMusic = \relative c { \key c \major c1 d }
-sopranoMusic = \relative c'' { \key c \major c1 d }
-sopranoLyrics = \lyricmode { Sop -- ra }
-altoIMusic = \relative c' { \key c \major c1 d }
-altoILyrics = \lyricmode { A -- one }
-altoIIMusic = \relative c' { \key c \major c1 d }
-altoIILyrics = \lyricmode { A -- two }
-tenorMusic = \relative c' { \key c \major c1 d }
-tenorLyrics = \lyricmode { Ten -- or }
-pianoRHMusic = \relative c { \key c \major c'1 d }
-pianoLHMusic = \relative c { \key c \major c1 d }
-violinIMusic = \relative c { \key c \major c'1 d }
-violinIIMusic = \relative c { \key c \major c'1 d }
-violaMusic = \relative c { \clef alto \key c \major c'1 d }
-celloMusic = \relative c { \clef bass \key c \major c1 d }
-bassMusic = \relative c { \clef "bass_8" \key c \major c,1 d }
-
-\score {
- \new GrandStaff = "GrandStaff_score" <<
- \new StaffGroup = "StaffGroup_woodwinds" <<
- \new Staff = "Staff_flute" {
- \set Staff.instrumentName = #"Flute"
- \fluteMusic
- }
- \new Staff = "Staff_oboe" {
- \set Staff.instrumentName = #"Oboe"
- \oboeMusic
- }
- \new Staff = "Staff_clarinet" {
- \set Staff.instrumentName = \markup \concat { "Clarinet in B" \flat }
- \transposition bes
- \transpose bes c' \clarinetMusic
- }
- \new Staff = "Staff_bassoon" {
- \set Staff.instrumentName = #"Bassoon"
- \bassoonMusic
- }
- >>
- \new StaffGroup = "StaffGroup_brass" <<
- \new GrandStaff <<
- \new Staff = "Staff_hornI" {
- \set Staff.instrumentName = #"Horn I"
- \transposition f
- \transpose f c' \hornIMusic
- }
- \new Staff = "Staff_hornII" {
- \set Staff.instrumentName = #"Horn II"
- \clef bass
- \transposition f'
- \transpose f c \hornIIMusic
- }
- >>
- \new Staff = "Staff_trumpet" {
- \set Staff.instrumentName = #"Trumpet in C"
- \trumpetMusic
- }
- \new Staff = "Staff_trombone" {
- \set Staff.instrumentName = #"Trombone"
- \clef bass
- \tromboneMusic
- }
- >>
- \new RhythmicStaff = "RhythmicStaff_percussion" <<
- \set RhythmicStaff.instrumentName = #"Percussion"
- \percussionMusic
- >>
- \new PianoStaff <<
- \set PianoStaff.instrumentName = #"Piano"
- \new Staff { \pianoRHMusic }
- \new Staff {
- \clef bass
- \pianoLHMusic
- }
- >>
- \new ChoirStaff = "ChoirStaff_choir" <<
- \new Staff = "Staff_soprano" {
- \set Staff.instrumentName = #"Soprano"
- \new Voice = "soprano"
- \sopranoMusic
- }
- \new Lyrics \lyricsto "soprano" { \sopranoLyrics }
- \new GrandStaff = "GrandStaff_altos" \with { \accepts Lyrics } <<
- \new Staff = "Staff_altoI" {
- \set Staff.instrumentName = #"Alto I"
- \new Voice = "altoI"
- \altoIMusic
- }
- \new Lyrics \lyricsto "altoI" { \altoILyrics }
- \new Staff = "Staff_altoII" {
- \set Staff.instrumentName = #"Alto II"
- \new Voice = "altoII"
- \altoIIMusic
- }
- \new Lyrics \lyricsto "altoII" { \altoIILyrics }
- >>
- \new Staff = "Staff_tenor" {
- \set Staff.instrumentName = #"Tenor"
- \clef "treble_8"
- \new Voice = "tenor"
- \tenorMusic
- }
- \new Lyrics \lyricsto "tenor" { \tenorLyrics }
- >>
- \new StaffGroup = "StaffGroup_strings" <<
- \new GrandStaff = "GrandStaff_violins" <<
- \new Staff = "Staff_violinI" {
- \set Staff.instrumentName = #"Violin I"
- \violinIMusic
- }
- \new Staff = "Staff_violinII" {
- \set Staff.instrumentName = #"Violin II"
- \violinIIMusic
- }
- >>
- \new Staff = "Staff_viola" {
- \set Staff.instrumentName = #"Viola"
- \violaMusic
- }
- \new Staff = "Staff_cello" {
- \set Staff.instrumentName = #"Cello"
- \celloMusic
- }
- \new Staff = "Staff_bass" {
- \set Staff.instrumentName = #"Double Bass"
- \bassMusic
- }
- >>
- >>
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "pitches, text"
- texidoc = "
-Internally, @code{\\ottava} sets the properties @code{ottavation}
-(for example, to @code{\"8va\"} or @code{\"8vb\"}) and
-@code{middleCPosition}. To override the text of the bracket, set
-@code{ottavation} after invoking @code{\\ottava}.
-"
- doctitle = "Ottava text"
-}
-
-{
- \ottava #1
- \set Staff.ottavation = #"8"
- c''1
- \ottava #0
- c'1
- \ottava #1
- \set Staff.ottavation = #"Text"
- c''1
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "spacing"
- texidoc = "Page labels may be placed inside music or at top-level,
-and referred to in markups."
- doctitle = "Page label"
-}
-
-#(set-default-paper-size "a6")
-
-#(define-markup-command (toc-line layout props label text)
- (symbol? markup?)
- (interpret-markup layout props
- (markup #:fill-line (text #:page-ref label "8" "?"))))
-
-\book {
- \markup \huge \fill-line { \null Title Page \null }
-
- \pageBreak
-
- \label #'toc
- \markup \column {
- \large \fill-line { \null Table of contents \null }
- \toc-line #'toc "Table of contents"
- \toc-line #'firstScore "First Score"
- \toc-line #'markA "Mark A"
- \toc-line #'markB "Mark B"
- \toc-line #'markC "Mark C"
- \toc-line #'unknown "Unknown label"
- }
-
- \pageBreak
-
- \label #'firstScore
- \score {
- \new Staff \relative c' {
- c2 c
- \mark \markup {
- A (page \concat { \page-ref #'markA "0" "?" ) }
- } \label #'markA
- c2 c
- \pageBreak
- \mark "B" \label #'markB
- d2 d
- d2 d
- \once \override Score.RehearsalMark #'break-visibility =
- #begin-of-line-invisible
- \mark "C" \label #'markC
- }
- \header { piece = "First score" }
- }
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "repeats, tweaks-and-overrides"
- texidoc = "
-Percent repeat counters can be shown at regular intervals by setting
-the context property @code{repeatCountVisibility}.
-"
- doctitle = "Percent repeat count visibility"
-}
-
-\relative c'' {
- \set countPercentRepeats = ##t
- \set repeatCountVisibility = #(every-nth-repeat-count-visible 5)
- \repeat percent 10 { c1 } \break
- \set repeatCountVisibility = #(every-nth-repeat-count-visible 2)
- \repeat percent 6 { c1 d1 }
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "expressive-marks,keyboards,template"
- texidoc = "
-Many piano scores have the dynamics centered between the two staves.
-This requires a bit of tweaking to implement, but since the template is
-right here, you don't have to do the tweaking yourself.
-"
- doctitle = "Piano template with centered dynamics"
-}
-
-global = {
- \key c \major
- \time 4/4
-}
-
-upper = \relative c'' {
- \clef treble
- a4 b c d
-}
-
-lower = \relative c {
- \clef bass
- a2 c
-}
-
-dynamics = {
- s2\fff\> s4 s\!\pp
-}
-
-pedal = {
- s2\sustainOn s\sustainOff
-}
-
-\score {
- \new PianoStaff = "PianoStaff_pf" <<
- \new Staff = "Staff_pfUpper" \upper
- \new Dynamics = "Dynamics_pf" \dynamics
- \new Staff = "Staff_pfLower" << \lower >>
- \new Dynamics = "pedal" \pedal
- >>
-
- \layout {
- % define Dynamics context
- \context {
- \type "Engraver_group"
- \name Dynamics
- \alias Voice
- \consists "Output_property_engraver"
- \consists "Piano_pedal_engraver"
- \consists "Script_engraver"
- \consists "New_dynamic_engraver"
- \consists "Dynamic_align_engraver"
- \consists "Text_engraver"
- \consists "Skip_event_swallow_translator"
- \consists "Axis_group_engraver"
-
- pedalSustainStrings = #'("Ped." "*Ped." "*")
- pedalUnaCordaStrings = #'("una corda" "" "tre corde")
- \override DynamicLineSpanner #'Y-offset = #0
- \override TextScript #'font-size = #2
- \override TextScript #'font-shape = #'italic
- \override VerticalAxisGroup #'minimum-Y-extent = #'(-1 . 1)
- }
- % modify PianoStaff context to accept Dynamics context
- \context {
- \PianoStaff
- \accepts Dynamics
- }
- }
-}
-
-\score {
- \new PianoStaff = "PianoStaff_pf" <<
- \new Staff = "Staff_pfUpper" << \global \upper \dynamics \pedal >>
- \new Staff = "Staff_pfLower" << \global \lower \dynamics \pedal >>
- >>
- \midi { }
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "rhythms,tweaks-and-overrides"
- texidoc = "
-Unlike ordinary rests, there is no predefined command
-to change the staff position of a multi-measure
-rest symbol of either form by attaching it to a note. However,
-in polyphonic music multi-measure rests in odd-numbered and
-even-numbered voices are vertically separated. The positioning
-of multi-measure rests can be controlled as follows:
- "
- doctitle = "Positioning multi-measure rests"
-}
-
-\relative c'' {
- % Multi-measure rests by default are set under the second line
- R1
- % They can be moved with an override
- \override MultiMeasureRest #'staff-position = #-2
- R1
- % A value of 0 is the default position;
- % the following trick moves the rest to the center line
- \override MultiMeasureRest #'staff-position = #-0.01
- R1
- % Multi-measure rests in odd-numbered voices are under the top line
- << { R1 } \\ { a1 } >>
- % Multi-measure rests in even-numbered voices are under the bottom line
- << { c1 } \\ { R1 } >>
- % They remain separated even in empty measures
- << { R1 } \\ { R1 } >>
- % This brings them together even though there are two voices
- \compressFullBarRests
- <<
- \revert MultiMeasureRest #'staff-position
- { R1*3 }
- \\
- \revert MultiMeasureRest #'staff-position
- { R1*3 }
- >>
-}
+++ /dev/null
-\version "2.12.1"
-
-\header {
- lsrtags = "rhythms"
-
- texidoc = "
-By default, the first bar number in a score is suppressed if it is
-less than or equal to `1'. By setting @code{barNumberVisibility}
-to @code{all-bar-numbers-visible}, any bar number can be printed
-for the first measure and all subsequent measures. Note that an
-empty bar line must be inserted before the first note for this to
-work.
-
-"
- doctitle = "Printing the bar number for the first measure"
-}
-
-\relative c' {
- \set Score.barNumberVisibility = #all-bar-numbers-visible
- \bar ""
- c1 d e f \break
- g1 e d c
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "pitches,staff-notation"
- texidoc = "Quotations take into account the transposition of both
-source and target. In this example, all instruments play sounding
-middle C; the target is an instrument in F. The target part may be
-transposed using @code{\\transpose}. In this case, all the pitches
-(including the quoted ones) are transposed.
-"
- doctitle = "Quoting another voice with transposition"
-}
-
-\addQuote clarinet {
- \transposition bes
- \repeat unfold 8 { d'16 d' d'8 }
-}
-
-\addQuote sax {
- \transposition es'
- \repeat unfold 16 { a8 }
-}
-
-quoteTest = {
- % french horn
- \transposition f
- g'4
- << \quoteDuring #"clarinet" { \skip 4 } s4^"clar." >>
- << \quoteDuring #"sax" { \skip 4 } s4^"sax." >>
- g'4
-}
-
-{
- \set Staff.instrumentName =
- \markup {
- \center-column { Horn \line { in F } }
- }
- \quoteTest
- \transpose c' d' << \quoteTest s4_"up a tone" >>
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "staff-notation"
- texidoc = "The @code{quotedEventTypes} property determines the
-music event types that are quoted. The default value is
-@code{(note-event rest-event)}, which means that only notes and
-rests of the quoted voice appear in the @code{\\quoteDuring}
-expression. In the following example, a 16th rest is not quoted
-since @code{rest-event} is not in @code{quotedEventTypes}."
- doctitle = "Quoting another voice"
-}
-
-quoteMe = \relative c' {
- fis4 r16 a8.-> b4\ff c
-}
-\addQuote quoteMe \quoteMe
-
-original = \relative c'' {
- c8 d s2
- \once \override NoteColumn #'ignore-collision = ##t
- es8 gis8
-}
-
-<<
- \new Staff {
- \set Staff.instrumentName = #"quoteMe"
- \quoteMe
- }
- \new Staff {
- \set Staff.instrumentName = #"orig"
- \original
- }
- \new Staff \relative c'' <<
- \set Staff.instrumentName = #"orig+quote"
- \set Staff.quotedEventTypes =
- #'(note-event articulation-event)
- \original
- \new Voice {
- s4
- \set fontSize = #-4
- \override Stem #'length-fraction = #(magstep -4)
- \quoteDuring #"quoteMe" { \skip 2. }
- }
- >>
->>
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "expressive-marks"
- texidoc = "If the note which ends a hairpin falls on a downbeat,
-the hairpin stops at the bar line immediately preceding. This behavior
-can be controlled by overriding the @code{'to-barline} property.
-"
- doctitle = "Setting hairpin behavior at bar lines"
-}
-
-\relative c'' {
- e4\< e2.
- e1\!
- \override Hairpin #'to-barline = ##f
- e4\< e2.
- e1\!
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "rhythms"
- texidoc = "
-By specifying the context, the effect of @code{beatGrouping} can be
-limited to the context specified, and the values which may have
-been set in higher-level contexts can be overridden. The
-@code{\\set} commands must be placed @emph{after} all @code{\\time}
-commands:
-"
- doctitle = "Specifying context with beatGrouping"
-}
-
-\score {
- \new Staff <<
- \time 7/8
- \new Voice {
- \relative c'' {
- \set Staff.beatGrouping = #'(2 3 2)
- a8 a a a a a a
- }
- }
- \new Voice {
- \relative c' {
- \voiceTwo
- \set beatGrouping = #'(1 3 3)
- f8 f f f f f f
- }
- }
- >>
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "simultaneous-notes,tweaks-and-overrides"
- texidoc = "
-If notes from two voices with stems in the same direction are
-placed at the same position, and both voices have no shift or the
-same shift specified, the error message \"warning: ignoring too
-many clashing note columns\" will appear when compiling the
-LilyPond file. This message can be suppressed by setting the
-@code{'ignore-collision} property of the @code{NoteColumn} object
-to @code{#t}.
-"
- doctitle = "Suppressing warnings for clashing note columns"
-}
-
-ignore = \override NoteColumn #'ignore-collision = ##t
-
-\relative c' {
- <<
- \ignore
- { \stemDown f2 g }
- \\
- { c2 c, }
- >>
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "paper-and-layout"
- texidoc = "A table of contents is included using
-@w{@code{\\markuplines \\table-of-contents}}. The TOC items are
-added with the @code{\\tocItem} command."
- doctitle = "Table of contents"
-}
-
-#(set-default-paper-size "a6")
-
-\book {
- \markuplines \table-of-contents
- \pageBreak
- \tocItem \markup { The first score }
- \score {
- {
- c'1 \pageBreak
- \mark "A" \tocItem \markup { Mark A }
- d'1
- }
- }
- \pageBreak
- \tocItem \markup { The second score }
- \score {
- { e'1 }
- \header { piece = "Second score" }
- }
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "staff-notation"
- texidoc = "
-'Tick' bar lines are often used in music where the bar line is used
-only for coordination and is not meant to imply any rhythmic stress.
-"
- doctitle = "Tick bar lines"
-}
-\relative c' {
- \set Score.defaultBarType = #"'"
- c4 d e f
- g4 f e d
- c4 d e f
- g4 f e d
- \bar "|."
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "pitches"
- texidoc = "This example uses some Scheme code to enforce enharmonic
-modifications for notes in order to have the minimum number of
-accidentals. In this case, the following rules apply:
-
-@itemize
-@item
-Double accidentals should be removed
-
-@item
-B sharp -> C
-
-@item
-E sharp -> F
-
-@item
-C flat -> B
-
-@item
-F flat -> E
-
-@end itemize
-
-In this manner, the most natural enharmonic notes are chosen.
-"
- doctitle = "Transposing music with minimum accidentals"
-}
-
-#(define (naturalize-pitch p)
- (let* ((o (ly:pitch-octave p))
- (a (* 4 (ly:pitch-alteration p)))
- ; alteration, a, in quarter tone steps,
- ; for historical reasons
- (n (ly:pitch-notename p)))
- (cond
- ((and (> a 1) (or (eq? n 6) (eq? n 2)))
- (set! a (- a 2))
- (set! n (+ n 1)))
- ((and (< a -1) (or (eq? n 0) (eq? n 3)))
- (set! a (+ a 2))
- (set! n (- n 1))))
- (cond
- ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
- ((< a -2) (set! a (+ a 4)) (set! n (- n 1))))
- (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7))))
- (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7))))
- (ly:make-pitch o n (/ a 4))))
-
-#(define (naturalize music)
- (let* ((es (ly:music-property music 'elements))
- (e (ly:music-property music 'element))
- (p (ly:music-property music 'pitch)))
- (if (pair? es)
- (ly:music-set-property!
- music 'elements
- (map (lambda (x) (naturalize x)) es)))
- (if (ly:music? e)
- (ly:music-set-property!
- music 'element
- (naturalize e)))
- (if (ly:pitch? p)
- (begin
- (set! p (naturalize-pitch p))
- (ly:music-set-property! music 'pitch p)))
- music))
-
-naturalizeMusic =
-#(define-music-function (parser location m)
- (ly:music?)
- (naturalize m))
-
-music = \relative c' { c4 d e g }
-
-\score {
- \new Staff {
- \transpose c ais { \music }
- \naturalizeMusic \transpose c ais { \music }
- \transpose c deses { \music }
- \naturalizeMusic \transpose c deses { \music }
- }
- \layout { }
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "rhythms"
- texidoc = "
-The layout of grace expressions can be changed throughout the
-music using the functions @code{add-grace-property} and
-@code{remove-grace-property}. The following example undefines
-the @code{Stem} direction for this grace, so that stems do not
-always point up, and changes the default note heads to crosses.
-"
- doctitle = "Tweaking grace layout within music"
-}
-
-\relative c'' {
- \new Staff {
- #(remove-grace-property 'Voice 'Stem 'direction)
- #(add-grace-property 'Voice 'NoteHead 'style 'cross)
- \new Voice {
- \acciaccatura { f16 } g4
- \grace { d16[ e] } f4
- \appoggiatura { f,32[ g a] } e2
- }
- }
-}
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "rhythms"
- texidoc = "
-The property @code{measureLength} determines where bar lines
-should be inserted and, with @code{beatLength} and
-@code{beatGrouping}, how automatic beams should be generated
-for beam durations and time signatures for which no beam-ending
-rules are defined. This example shows several ways of controlling
-beaming by setting these properties. The explanations are shown
-as comments in the code.
-"
- doctitle = "Using beatLength and beatGrouping"
-}
-
-\relative c'' {
- \time 3/4
- % The default in 3/4 time is to beam in three groups
- % each of a quarter note length
- a16 a a a a a a a a a a a
-
- \time 12/16
- % No auto-beaming is defined for 12/16
- a16 a a a a a a a a a a a
-
- \time 3/4
- % Change time signature symbol, but retain underlying 3/4 beaming
- \set Score.timeSignatureFraction = #'(12 . 16)
- a16 a a a a a a a a a a a
-
- % The 3/4 time default grouping of (1 1 1) and beatLength of 1/8
- % are not consistent with a measureLength of 3/4, so the beams
- % are grouped at beatLength intervals
- \set Score.beatLength = #(ly:make-moment 1 8)
- a16 a a a a a a a a a a a
-
- % Specify beams in groups of (3 3 2 3) 1/16th notes
- % 3+3+2+3=11, and 11*1/16<>3/4, so beatGrouping does not apply,
- % and beams are grouped at beatLength (1/16) intervals
- \set Score.beatLength = #(ly:make-moment 1 16)
- \set Score.beatGrouping = #'(3 3 2 3)
- a16 a a a a a a a a a a a
-
- % Specify beams in groups of (3 4 2 3) 1/16th notes
- % 3+4+2+3=12, and 12*1/16=3/4, so beatGrouping applies
- \set Score.beatLength = #(ly:make-moment 1 16)
- \set Score.beatGrouping = #'(3 4 2 3)
- a16 a a a a a a a a a a a
-}
-
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "tweaks-and-overrides"
- texidoc = "
-With the @code{\\tweak} command, every grob can be tuned directly. Here
-are some examples of available tweaks.
-"
- doctitle = "Using the @code{\\tweak} command to tweak individual grobs"
-}
-
-\relative c' {
- \time 2/4
- \set fingeringOrientations = #'(right)
- <
- \tweak #'font-size #3 c
- \tweak #'color #red d-\tweak #'font-size #8 -4
- \tweak #'style #'cross g
- \tweak #'duration-log #2 a
- >2
-}
+++ /dev/null
-\version "2.12.0"
-
-%% Edit this file using a Unicode aware editor, such as GVIM, GEDIT, Emacs
-
-%{
-
-You may have to install additional fonts.
-
-Red Hat Fedora
-
- taipeifonts fonts-xorg-truetype ttfonts-ja fonts-arabic \
- ttfonts-zh_CN fonts-ja fonts-hebrew
-
-Debian GNU/Linux
-
- apt-get install emacs-intl-fonts xfonts-intl-.* \
- ttf-kochi-gothic ttf-kochi-mincho \
- xfonts-bolkhov-75dpi xfonts-cronyx-100dpi xfonts-cronyx-75dpi
-%}
-
-\header {
- lsrtags = "text"
- texidoc = "Various scripts may be used for texts (like titles and
-lyrics) by entering them in UTF-8 encoding, and using a Pango based
-backend. Depending on the fonts installed, this fragment will
-render Bulgarian (Cyrillic), Hebrew, Japanese and Portuguese.
-"
- doctitle = "UTF-8"
-}
-
-% end verbatim - this comment is a hack to prevent texinfo.tex
-% from choking on non-European UTF-8 subsets
-% Cyrillic font
-bulgarian = \lyricmode {
- Жълтата дюля беше щастлива, че пухът, който цъфна, замръзна като гьон.
-}
-
-hebrew = \lyricmode {
- זה כיף סתם לשמוע איך תנצח קרפד עץ טוב בגן.
-}
-
-japanese = \lyricmode {
- いろはにほへど ちりぬるを
- わがよたれぞ つねならむ
- うゐのおくや まけふこえて
- あさきゆめみじ ゑひもせず
-}
-
-% "a legal song to you"
-portuguese = \lyricmode {
- à vo -- cê uma can -- ção legal
-}
-
-\relative c' {
- c2 d
- e2 f
- g2 f
- e1
-}
-\addlyrics { \bulgarian }
-\addlyrics { \hebrew }
-\addlyrics { \japanese }
-\addlyrics { \portuguese }
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "repeats,staff-notation,chords"
- texidoc = "By adding the @code{Volta_engraver} to the relevant
-staff, volte can be put under chords."
- doctitle = "Volta under chords"
-}
-
-\score {
- <<
- \chords {
- c1
- c1
- }
- \new Staff \with {
- \consists "Volta_engraver"
- }
- {
- \repeat volta 2 { c'1 }
- \alternative { c' }
- }
- >>
- \layout {
- \context {
- \Score
- \remove "Volta_engraver"
- }
- }
-}
+++ /dev/null
-\version "2.12.0"
-\header {
- lsrtags = "repeats,staff-notation"
- texidoc = "By adding the @code{Volta_engraver} to the relevant
-staff, volte can be put over staves other than the topmost
-one in a score."
- doctitle = "Volta multi-staff"
-}
-
-voltaMusic = \relative c'' {
- \repeat volta 2 {
- c1
- }
- \alternative {
- d1
- e
- }
-}
-
-<<
- \new StaffGroup <<
- \new Staff \voltaMusic
- \new Staff \voltaMusic
- >>
- \new StaffGroup <<
- \new Staff \with { \consists "Volta_engraver" }
- \voltaMusic
- \new Staff \voltaMusic
- >>
->>
+++ /dev/null
-\version "2.12.0"
-
-\header {
- lsrtags = "repeats"
- texidoc = "Though volte are best specified using
-@code{\\repeat volta}, the context property @code{repeatCommands}
-must be used in cases where the volta text needs more advanced
-formatting with @code{\\markup}.
-
-Since @code{repeatCommands} takes a list, the simplest method of
-including markup is to use an identifier for the text and embed
-it in the command list using the Scheme syntax
-@w{@code{#(list (list 'volta textIdentifier))}}. Start- and
-end-repeat commands can be added as separate list elements:"
-doctitle = "Volta text markup using @code{repeatCommands}"
-}
-
-voltaAdLib = \markup { 1. 2. 3... \text \italic { ad lib. } }
-
-\relative c'' {
- c1
- \set Score.repeatCommands = #(list (list 'volta voltaAdLib) 'start-repeat)
- c4 b d e
- \set Score.repeatCommands = #'((volta #f) (volta "4.") end-repeat)
- f1
- \set Score.repeatCommands = #'((volta #f))
-}