[icon]

GNU LilyPond

-- --

What is LilyPond
Home
Examples
Templates
Download
GNU/Linux binaries
Windows binaries
Source code
Documentation
Tutorial
Manual
Glossary
Index

Support
Mailing lists
Search
WikiWiki

External sites
lilypond.org/development
lilypond.org/stable
savannah.gnu.org
ftp.lilypond.org
Mutopia
Other music online

Node:Score, Next:, Previous:RhythmicStaff, Up:Contexts



Score

This is the top level notation context. No other context can contain a Score context. This context handles the administration of time signatures. It also makes sure that items such as clefs, time signatures, and key-signatures are aligned across staves. It can contain Lyrics, Staff, RhythmicStaff, GrandStaff, StaffGroup, and ChoirStaff contexts.

You cannot explicitly instantiate a Score context (since it is not contained in any other context). It is instantiated automatically when an output definition (a score or paper block) is processed.

This context creates the following grobs: Arpeggio, BarNumber, BreakAlignGroup, BreakAlignment, LeftEdge, NonMusicalPaperColumn, PaperColumn, RehearsalMark, SpacingSpanner, SystemStartBar, SystemStartBrace, SystemStartBracket, System and VerticalAlignment.

This context sets the following properties:

  • Set translator property barCheckSynchronize to #t
  • Set translator property breakAlignOrder to '(instrument-name left-edge ambitus span-bar breathing-sign clef key-signature staff-bar time-signature custos)
  • Set translator property keyAccidentalOrder to '((6 . -1) (2 . -1) (5 . -1) (1 . -1) (4 . -1) (0 . -1) (3 . -1) (3 . 1) (0 . 1) (4 . 1) (1 . 1) (5 . 1) (2 . 1) (6 . 1) (6 . -2) (2 . -2) (5 . -2) (1 . -2) (4 . -2) (0 . -2) (3 . -2) (3 . 2) (0 . 2) (4 . 2) (2 . 2) (5 . 2) (2 . 2) (6 . 2))
  • Set translator property autoCautionaries to '()
  • Set translator property autoAccidentals to '(Staff (same-octave . 0))
  • Set translator property extraNatural to #t
  • Set translator property subdivideBeams to #f
  • Set translator property tupletNumberFormatFunction to denominator-tuplet-formatter
  • Set translator property pedalSostenutoStrings to '(Sost. Ped. *Sost. Ped. *)
  • Set translator property pedalUnaCordaStrings to '(una corda tre corde)
  • Set translator property pedalSustainStrings to '(Ped. *Ped. *)
  • Set translator property verticalAlignmentChildCallback to Align_interface::alignment_callback
  • Set translator property scriptDefinitions to '((accDiscant (accordion Discant ) #f 0 1 0) (accDiscantF (accordion Discant F) #f 0 1 0) (accDiscantE (accordion Discant E) #f 0 1 0) (accDiscantEh (accordion Discant Eh) #f 0 1 0) (accDiscantFE (accordion Discant FE) #f 0 1 0) (accDiscantFEh (accordion Discant FEh) #f 0 1 0) (accDiscantEE (accordion Discant EE) #f 0 1 0) (accDiscantFEE (accordion Discant FEE) #f 0 1 0) (accDiscantEEE (accordion Discant EEE) #f 0 1 0) (accDiscantFEEE (accordion Discant FEEE) #f 0 1 0) (accDiscantS (accordion Discant S) #f 0 1 0) (accDiscantFS (accordion Discant FS) #f 0 1 0) (accDiscantES (accordion Discant ES) #f 0 1 0) (accDiscantEhS (accordion Discant EhS) #f 0 1 0) (accDiscantFES (accordion Discant FES) #f 0 1 0) (accDiscantFEhS (accordion Discant FEhS) #f 0 1 0) (accDiscantEES (accordion Discant EES) #f 0 1 0) (accDiscantFEES (accordion Discant FEES) #f 0 1 0) (accDiscantEEES (accordion Discant EEES) #f 0 1 0) (accDiscantFEEES (accordion Discant FEEES) #f 0 1 0) (accDiscantSS (accordion Discant SS) #f 0 1 0) (accDiscantESS (accordion Discant ESS) #f 0 1 0) (accDiscantEESS (accordion Discant EESS) #f 0 1 0) (accDiscantEEESS (accordion Discant EEESS) #f 0 1 0) (accFreebase (accordion Freebase ) #f 0 -1 0) (accFreebaseF (accordion Freebase F) #f 0 -1 0) (accFreebaseE (accordion Freebase E) #f 0 -1 0) (accFreebaseFE (accordion Freebase FE) #f 0 -1 0) (accBayanbase (accordion Bayanbase ) #f 0 -1 0) (accBayanbaseT (accordion Bayanbase T) #f 0 -1 0) (accBayanbaseE (accordion Bayanbase E) #f 0 -1 0) (accBayanbaseTE (accordion Bayanbase TE) #f 0 -1 0) (accBayanbaseEE (accordion Bayanbase EE) #f 0 -1 0) (accBayanbaseTEE (accordion Bayanbase TEE) #f 0 -1 0) (accStdbase (accordion Stdbase ) #f 0 -1 0) (accStdbaseFE (accordion Stdbase FE) #f 0 -1 0) (accStdbaseTFE (accordion Stdbase TFE) #f 0 -1 0) (accStdbaseMES (accordion Stdbase MES) #f 0 -1 0) (accStdbaseTFMES (accordion Stdbase TFMES) #f 0 -1 0) (accSB (accordion SB ) #f 0 -1 0) (accBB (accordion BB ) #f 0 -1 0) (accOldEE (accordion OldEE ) #f 0 -1 0) (accOldEES (accordion OldEES ) #f 0 -1 0) (thumb (feta thumb . thumb) #f 0 1 0) (accent (feta sforzato . sforzato) #f -1 0 0) (marcato (feta dmarcato . umarcato) #f -1 0 0) (staccatissimo (feta dstaccatissimo . ustaccatissimo) #f -1 0 0) (portato (feta dportato . uportato) #f -1 0 0) (fermata (feta dfermata . ufermata) #f 0 1 0) (stopped (feta stopped . stopped) #f 0 1 0) (staccato (feta staccato . staccato) #t -1 0 -100) (tenuto (feta tenuto . tenuto) #t -1 0 0) (comma (feta lcomma . rcomma) #t 0 1 0) (upbow (feta upbow . upbow) #f 0 1 0) (downbow (feta downbow . downbow) #f 0 1 0) (lheel (feta upedalheel . upedalheel) #f 0 -1 0) (rheel (feta dpedalheel . dpedalheel) #f 0 1 0) (ltoe (feta upedaltoe . upedaltoe) #f 0 -1 0) (rtoe (feta dpedaltoe . dpedaltoe) #f 0 1 0) (turn (feta turn . turn) #f 0 1 0) (open (feta open . open) #f 0 1 0) (flageolet (feta flageolet . flageolet) #f 0 1 0) (reverseturn (feta reverseturn . reverseturn) #f 0 1 0) (trill (feta trill . trill) #f 0 1 2000) (prall (feta prall . prall) #f 0 1 0) (mordent (feta mordent . mordent) #f 0 1 0) (prallprall (feta prallprall . prallprall) #f 0 1 0) (prallmordent (feta prallmordent . prallmordent) #f 0 1 0) (upprall (feta upprall . upprall) #f 0 1 0) (downprall (feta downprall . downprall) #f 0 1 0) (upmordent (feta upmordent . upmordent) #f 0 1 0) (downmordent (feta downmordent . downmordent) #f 0 1 0) (lineprall (feta lineprall . lineprall) #f 0 1 0) (pralldown (feta pralldown . pralldown) #f 0 1 0) (prallup (feta prallup . prallup) #f 0 1 0) (segno (feta segno . segno) #f 0 1 0) (coda (feta coda . coda) #f 0 1 0))
  • Set translator property autoBeaming to #t
  • Set translator property autoBeamSettings to '(((end * * 3 2) . #<Mom 1/2 >) ((end 1 16 3 2) . #<Mom 1/4 >) ((end 1 32 3 2) . #<Mom 1/8 >) ((begin 1 8 3 4) . #<Mom 1/4 >) ((end * * 3 4) . #<Mom 3/4 >) ((begin 1 16 3 4) . #<Mom 1/16 >) ((end 1 16 3 4) . #<Mom 1/4 >) ((end 1 32 3 4) . #<Mom 1/8 >) ((begin 1 16 3 8) . #<Mom 1/8 >) ((end * * 3 8) . #<Mom 3/8 >) ((end * * 4 4) . #<Mom 1/2 >) ((end 1 12 4 4) . #<Mom 1/4 >) ((end 1 16 4 4) . #<Mom 1/4 >) ((end 1 32 4 4) . #<Mom 1/8 >) ((end * * 2 4) . #<Mom 1/4 >) ((end 1 12 2 4) . #<Mom 1/4 >) ((end 1 16 2 4) . #<Mom 1/4 >) ((end 1 32 2 4) . #<Mom 1/8 >) ((end * * 4 8) . #<Mom 1/4 >) ((end 1 16 4 8) . #<Mom 1/4 >) ((end 1 32 4 8) . #<Mom 1/8 >) ((end * * 4 16) . #<Mom 1/8 >) ((end * * 6 8) . #<Mom 3/8 >) ((end 1 16 6 8) . #<Mom 3/8 >) ((end 1 32 6 8) . #<Mom 1/8 >) ((end * * 9 8) . #<Mom 3/8 >) ((end 1 16 9 8) . #<Mom 3/8 >) ((end 1 32 9 8) . #<Mom 1/8 >) ((end * * 12 8) . #<Mom 3/8 >) ((end 1 16 12 8) . #<Mom 3/8 >) ((end 1 32 12 8) . #<Mom 1/8 >))
  • Set translator property explicitKeySignatureVisibility to all-visible
  • Set translator property explicitClefVisibility to all-visible
  • Set translator property barNumberVisibility to default-bar-number-visibility
  • Set translator property defaultBarType to |
  • Set translator property automaticMelismata to #t
  • Set translator property automaticPhrasing to #t
  • Set translator property centralCPosition to -6
  • Set translator property clefPosition to -2
  • Set translator property clefGlyph to clefs-G
  • Set translator property systemStartDelimiter to 'SystemStartBar
  • Set translator property changeMoment to '(#<Mom 0 > . #<Mom 1/512 >)
  • Set translator property splitInterval to '(0 . 1)
  • Set translator property soloADue to #t
  • Set translator property aDueText to a2
  • Set translator property soloIIText to Solo II
  • Set translator property soloText to Solo
  • Set translator property localKeySignature to '()

Context Score can contain FiguredBass, NoteNames, PianoStaff, ChoirStaff, GrandStaff, ChordNames, Lyrics, RhythmicStaff, StaffGroup, StaffContainer, TabStaff and Staff

This context is built from the following engravers:

Score_engraver

Top level engraver. Takes care of generating columns and the complete system (ie. System)

This engraver decides whether a column is breakable. The default is that a column is always breakable. However, when every Bar_engraver that does not have a barline at a certain point will call Score_engraver::forbid_breaks to stop linebreaks. In practice, this means that you can make a breakpoint by creating a barline (assuming that there are no beams or notes that prevent a breakpoint.)

Properties (read)

currentCommandColumn (grob (GRaphical OBject)):
Grob that is X-parent to all current breakable (clef, key signature, etc.) items.
currentMusicalColumn (grob (GRaphical OBject)):
Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).
This engraver creates the following grobs: NonMusicalPaperColumn, PaperColumn and System.

Score_engraver is part of contexts: Score

Span_arpeggio_engraver

Properties (read)

connectArpeggios (boolean):
If set, connect all arpeggios that are found. In this way, you can make arpeggios that cross staves.
This engraver creates the following grobs: Arpeggio.

Span_arpeggio_engraver is part of contexts: StaffGroup, PianoStaff, InnerStaffGroup, Score and GrandStaff

Bar_number_engraver

A bar number is created whenever measurePosition is zero. It is put on top of all staves, and appears only at left side of the staff.

Properties (read)

stavesFound (list):
list of all staff-symbols found.
currentBarNumber (integer):
Contains the current barnumber. This property is incremented at every barline.
This engraver creates the following grobs: BarNumber.

Bar_number_engraver is part of contexts: Score

Lyric_phrasing_engraver

This engraver combines note heads and lyrics for alignment.

This engraver is switched on by default. Turn it off for faster processing of orchestral scores.

Properties (read)

phrasingPunctuation (string):

associatedVoice (string):
Name of the Voice that has the melody for this LyricsVoice.
melismaEngraverBusy (boolean):
See (lilypond)melismaBusy. This is set automatically.
automaticPhrasing (boolean):
If set, the Lyric_phrasing_engraver will match note heads of context called Voice X to syllables from LyricsVoice called X-<something>. This feature is turned on by default. See the example file lyrics-multi-stanza.ly.

Lyric_phrasing_engraver is part of contexts: Score

Vertical_align_engraver

Catch Vertical axis groups and stack them.

This engraver creates the following grobs: VerticalAlignment.

Vertical_align_engraver is part of contexts: PianoStaff, Score and Lyrics

Spacing_engraver

make a SpacingSpanner and do bookkeeping of shortest starting and playing notes

This engraver creates the following grobs: SpacingSpanner.

Spacing_engraver is part of contexts: Score

Break_align_engraver

Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder

Properties (read)

breakAlignOrder (list):
Defines the order in which prefatory matter (clefs, key signatures) appears, eg. this puts the key signatures after the bar lines:
          	\property Score.breakAlignOrder = #'(
          	  span-bar
          	  breathing-sign
          	  clef
          	  staff-bar
          	  key
          	  time-signature
          	)
          
This engraver creates the following grobs: BreakAlignGroup, BreakAlignment and LeftEdge.

Break_align_engraver is part of contexts: Score

Mark_engraver

Properties (read)

stavesFound (list):
list of all staff-symbols found.
rehearsalMark (number or string):
This engraver creates the following grobs: RehearsalMark.

Mark_engraver is part of contexts: Score

System_start_delimiter_engraver

Creates a system start delimiter (ie. SystemStart{Bar,Brace,Bracket} spanner

Properties (read)

systemStartDelimiter (symbol):
Which grob to make for the start of the system/staff?
This engraver creates the following grobs: SystemStartBar, SystemStartBrace and SystemStartBracket.

System_start_delimiter_engraver is part of contexts: StaffGroup, PianoStaff, InnerStaffGroup, Score, GrandStaff, InnerChoirStaff and ChoirStaff

Output_property_engraver

Interpret Music of Output_property type, and apply a function to any Graphic objects that satisfies the predicate.

Output_property_engraver is part of contexts: Voice, StaffGroup, InnerStaffGroup, RhythmicStaff, TabVoice, Thread, Staff, Score, ChordNames and TabStaff

Timing_engraver

Responsible for synchronizing timing information from staves. Normally in Score. In order to create polyrhythmic music, this engraver should be removed from Score and placed in Staff.

Properties (read)

currentBarNumber (integer):
Contains the current barnumber. This property is incremented at every barline.
measurePosition (moment):
How much of the current measure (measured in whole notes) have we had. This can be set manually to create incomplete measures (anacrusis, upbeat), the start of the music.
measureLength (moment):
Length of one measure in the current time signature last?
oneBeat (moment):
How long does one beat in the current time signature last?
timing (boolean):
Keep administration of measure length, position, bar number, etc? Switch off for cadenzas.
skipBars (boolean):
Set to true to skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. If not set (the default) multimeasure notes and rests expand into their full length, printing the appropriate number of empty bars so that synchronization with other voices is preserved.
          @lilypond[fragment,verbatim,center]
          r1 r1*3 R1*3  \\property Score.skipBars= ##t r1*3 R1*3
          
          @end lilypond
          

defaultBarType (string):
Sets the default type of bar line. Available bar types: [FIXME];

This variable is typically read at Score level, so overriding Staff.defaultBarType will have no effect.

barAlways (boolean):
If set to true a bar line is drawn after each note.
whichBar (string):
This property is read to determine what type of barline to create.

Example:

          \property Staff.whichBar = "|:"
          

This will create a start-repeat bar in this staff only.

If not set explicitly (by property or bar), this is set according to values of defaultBarType, barAlways, barNonAuto and measurePosition.

Valid values are described in (lilypond-internals)bar-line-interface.

.

barNonAuto (boolean):
If set to true then bar lines will not be printed automatically; they must be explicitly created with bar keywords. Unlike with the cadenza keyword, measures are still counted. Bar generation will resume according to that count if this property is set to zero.
timeSignatureFraction (pair of numbers):
pair of numbers, signifying the time signature. For example #'(4 . 4) is a 4/4time signature.

Timing_engraver is part of contexts: Score

Staff_collecting_engraver

Maintain the stavesFound variable

Properties (read)

stavesFound (list):
list of all staff-symbols found.
Properties (write)

stavesFound (list):
list of all staff-symbols found.

Staff_collecting_engraver is part of contexts: Score

Repeat_acknowledge_engraver

Acknowledge repeated music, and convert the contents of repeatCommands ainto an appropriate setting for whichBar

Properties (read)

whichBar (string):
This property is read to determine what type of barline to create.

Example:

          \property Staff.whichBar = "|:"
          

This will create a start-repeat bar in this staff only.

If not set explicitly (by property or bar), this is set according to values of defaultBarType, barAlways, barNonAuto and measurePosition.

Valid values are described in (lilypond-internals)bar-line-interface.

.

repeatCommands (list):
This property is read to find any command of the form (volta . X), where X is a string or #f

Repeat_acknowledge_engraver is part of contexts: Score


Go back to index of LilyPond.

Please send GNU LilyPond questions and comments to lilypond-user@gnu.org.

Please send comments on these web pages to (address unknown)

Copyright (c) 1997--2002 Han-Wen Nienhuys and Jan Nieuwenhuizen.

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.


This page was built from LilyPond-1.6.6 (stable-branch) by

<(address unknown)>, Thu Dec 26 14:15:44 2002 MSK.