[icon]

GNU LilyPond

Welcome to the home of the GNU Music Typesetter

What is LilyPond
General information
Simple examples
Complex examples
Download
GNU/Linux binaries
Windows
Source code
Documentation
Tutorial
Manual
Glossary
other ...

Support
Mailing lists
Search
WikiWiki
FAQs

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

Node:Grace, Next:, Previous:ChordNames, Up:LilyPond interpretation contexts



Grace

The context for handling grace notes. It is instantiated automatically when you use grace. Basically, it is an `embedded' miniature of the Score context. Since this context needs special interaction with the rest of LilyPond, you should not explicitly instantiate it.

This context creates the following grobs: Accidentals, Beam, Dots, DynamicLineSpanner, DynamicText, GraceAlignment, Hairpin, NoteColumn, NoteHead, Slur, StemTremolo, Stem, TextScript and TextSpanner.This context is a `bottom' context; it can not contain other contexts.

This context is built from the following engravers:

Grace_engraver_group

An engraver that creates a `shielded' context-tree with separate notion of time

Grace_engraver_group is part of contexts: Grace

Property_engraver

This is a engraver that converts property settings into back-end grob-property settings. Example: Voice.stemLength will set #'length in all Stem objects.

Due to CPU and memory requirements, the use of this engraver is deprecated.

Properties

Generic_property_list (list):
description of the conversion.

Defines names and types for generic properties. These are properties than can be plugged into the backend directly. See the init file generic-property.scm for details. For internal use only, deprecated.

Property_engraver is part of contexts: Lyrics, PianoStaff, GrandStaff, Grace, Thread, RhythmicStaff, Voice, Staff and ChordNames

Text_engraver

Create text-scripts

Properties

scriptHorizontal (boolean):
Put scripts left or right of note heads. Support for this is limited. Accidentals will collide with scripts.
textNonEmpty (boolean):
If set to true then text placed above or below the staff is not assumed to have zero width. atText and emptyText are predefined settings. .
This engraver creates the following grobs: TextScript.

Text_engraver is part of contexts: Grace and Voice

Dynamic_engraver

This engraver creates the following grobs: DynamicLineSpanner, DynamicText, Hairpin and TextSpanner.

Dynamic_engraver is part of contexts: Grace and Voice

Rhythmic_column_engraver

Generates NoteColumn, an objects that groups stems, noteheads and rests.

This engraver creates the following grobs: NoteColumn.

Rhythmic_column_engraver is part of contexts: Grace and Voice

Align_note_column_engraver

Generate object to put grace notes from left to right.

Properties

graceAlignPosition (direction):
put the grace note before or after the main note?
graceAccidentalSpace (number):
amount space to alot for an accidental
This engraver creates the following grobs: GraceAlignment.

Align_note_column_engraver is part of contexts: Grace

Auto_beam_engraver

Generate beams based on measure characteristics and observed Stems. Uses beatLength, measureLength and measurePosition to decide when to start and stop a beam. Overriding beaming is done through Stem_engraver properties stemLeftBeamCount and stemRightBeamCount.

Properties

noAutoBeaming (boolean):
If set to true then beams are not generated automatically.
autoBeamSettings (list):
Specifies when automatically generated beams should begin and end. The elements have the format:
   function shortest-duration-in-beam time-signature

where

    function = begin or end
    shortest-duration-in-beam = numerator denominator; eg: 1 16
    time-signature = numerator denominator, eg: 4 4

unspecified or wildcard entries for duration or time-signature
are given by * *

The user can override beam begin or end time by pushing a wildcard entries
'(begin * * * *) or '(end * * * *) resp., eg:

    property Voice.autoBeamSettings push #'(end * * * *) = #(make-moment 1 4)

The head of the list:
    '(
((end * * 3 2) . ,(make-moment 1 2))
((end 1 16 3 2) . ,(make-moment 1 4))
((end 1 32 3 2) . ,(make-moment 1 8))
     ...
    )

This engraver creates the following grobs: Beam.

Auto_beam_engraver is part of contexts: Grace and Voice

Slur_engraver

Build slurs from Slur_reqs

Properties

slurBeginAttachment (symbol):
translates to the car of grob-property 'attachment of NoteColumn. See Slur.
slurEndAttachment (symbol):
translates to the cdr of grob-property 'attachment of NoteColumn. See Slur.
slurMelismaBusy (boolean):
Signal a slur if automaticMelismata is set.
This engraver creates the following grobs: Slur.

Slur_engraver is part of contexts: Grace and Voice

Beam_engraver

Handles Beam_requests by engraving Beams. If omitted, then notes will be printed with flags instead of beams.

Properties

beamMelismaBusy (boolean):
Signal if a beam is set when automaticMelismata is set
This engraver creates the following grobs: Beam.

Beam_engraver is part of contexts: Grace and Voice

Stem_engraver

Create stems and single-stem tremolos. It also works together with the beam engraver for overriding beaming.

Properties

tremoloFlags (integer):
Number of tremolo flags to add if none is specified.
stemLeftBeamCount (integer):
Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased. .
stemRightBeamCount (integer):
idem, for the right side.
This engraver creates the following grobs: Stem and StemTremolo.

Stem_engraver is part of contexts: Grace and Voice

Local_key_engraver

Make accidentals. Catches note heads, ties and notices key-change events. Due to interaction with ties (which don't come together with note heads), this needs to be in a context higher than Tie_engraver. (FIXME).

Properties

localKeySignature (list):
the key signature at this point in the measure. The format is the same as for keySignature.
forgetAccidentals (boolean):
do not set localKeySignature when a note alterated differently from localKeySignature is found.

Causes accidentals to be printed at every note instead of remembered for the duration of a measure.

noResetKey (boolean):
Do not reset local key to the value of keySignature at the start of a measure, as determined by measurePosition.

Do not reset the key at the start of a measure. Accidentals will be printed only once and are in effect until overridden, possibly many measures later.

This engraver creates the following grobs: Accidentals.

Local_key_engraver is part of contexts: Grace and Staff

Note_heads_engraver

Generate one or more noteheads from Music of type Note_req.

This engraver creates the following grobs: Dots and NoteHead.

Note_heads_engraver is part of contexts: Grace and Thread

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: Grace, Thread, RhythmicStaff, Voice, Staff, Score, ChordNames, InnerStaffGroup and StaffGroup


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 lilypond@packages.debian.org

Copyright (c) 1997--2001 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.4.12 (stable-branch) by

Anthony Fok <lilypond@packages.debian.org>, Tue Mar 12 01:35:39 2002 HKT.