;;;;
;;;; source file of the GNU LilyPond music typesetter
;;;;
-;;;; (c) 1998--2006 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 1998--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
;;;; Jan Nieuwenhuizen <janneke@gnu.org>
;; TODO: should link back into user manual.
+(define (mm-rest-child-list music)
+ "Generate events for multimeasure rests, to be used by the sequential-iterator"
+ (let ((location (ly:music-property music 'origin))
+ (duration (ly:music-property music 'duration)))
+ (list (make-music 'BarCheck
+ 'origin location)
+ (make-event-chord (cons (make-music 'MultiMeasureRestEvent
+ 'origin location
+ 'duration duration)
+ (ly:music-property music 'articulations)))
+ (make-music 'BarCheck
+ 'origin location))))
+
(define-public music-descriptions
`(
(AbsoluteDynamicEvent
where x is one of \\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff.")
(types . (general-music event dynamic-event absolute-dynamic-event))
))
+
+ (AnnotateOutputEvent
+ . ((description . "Print an annotation of an output element.")
+ (types . (general-music event annotate-output-event))
+ ))
+
(ApplyContext
. (
(description . "Call the argument with the current context during interpreting phase")
(types . (general-music apply-context))
(iterator-ctor . ,ly:apply-context-iterator::constructor)
))
+
(ApplyOutputEvent
. (
(description . "
3. context where FUNC is called.
")
- (types . (general-music event layout-instruction))
+ (types . (general-music event apply-output-event))
))
(ArpeggioEvent
. (
(types . (general-music event rhythmic-event bass-figure-event))
))
+
(BeamEvent
. (
(description . "Starts or stops a beam.
c8-[ c c-] c8")
(types . (general-music event beam-event span-event))
))
- (BreakEvent
- . (
- (description . "Create a line break, Syntax: \\break or page break, Syntax: \\pagebreak.")
-
- (types . (general-music break-event event))
- ))
- (BreathingSignEvent
+ (BendAfterEvent
+ . ((description . "A drop/fall/doit jazz articulation")
+ (types . (general-music bend-after-event event))))
+
+ (BreathingEvent
. (
(description . "Creates a `breath mark' or `comma'.
(types . (general-music event breathing-event))
))
- (BusyPlayingEvent
- . (
- (description . "Used internally to signal beginning and ending of notes.")
-
- (types . (general-music event busy-playing-event))
- ))
(ContextChange
. (
(description . "Change staffs in Piano staff.
... @var{note}\\rc (you can also use \\<, \\!, \\cresc, and
\\endcresc. See the user manual for details.).")
- (types . (general-music dynamic-event crescendo-event event))
+ (types . (general-music span-event span-dynamic-event crescendo-event event))
))
(DecrescendoEvent
. (
(description . "See @ref{CrescendoEvent}.")
- (types . (general-music dynamic-event decrescendo-event event))
+ (types . (general-music span-event span-dynamic-event decrescendo-event event))
))
(ExtenderEvent
(types . (general-music event-chord simultaneous-music))
))
- (FingerEvent
+
+ (FingeringEvent
. (
(description . "Specify what finger to use for this note.")
(types . (general-music fingering-event event))
(LineBreakEvent
. (
(description . "Allow, forbid or force a line break.")
- (types . (general-music break-event event))
+ (types . (general-music line-break-event break-event event))
))
(LyricCombineMusic
(types . (general-music mark-event event))
))
- (MelismaPlayingEvent
- . (
- (description . "Used internally to signal melismas.")
- (types . (general-music melisma-playing-event event))
- ))
(ManualMelismaEvent
. (
(description . "Start or stop a melisma.
Syntax: @code{c4\\melisma d\\melismaEnd}.")
(types . (general-music melisma-span-event event))
))
-
- (MultiMeasureRestEvent
+
+ (MultiMeasureRestMusic
. (
(description . "Rests that may be compressed into Multi rests.
Syntax
-@code{R2.*4} for 4 measures in 3/4 time. Note the capital R.")
- (types . (general-music event rhythmic-event multi-measure-rest-event))
+@code{R2.*4} for 4 measures in 3/4 time.")
+ (iterator-ctor . ,ly:sequential-iterator::constructor)
+ (elements-callback . ,mm-rest-child-list)
+ (types . (general-music multi-measure-rest))
))
-
- (MultiMeasureRestMusicGroup
- . (
- (description . "Like sequential-music, but specifically intended
-to group start-mmrest, skip, stop-mmrest sequence.
-Syntax @code{R2.*5} for 5 measures in 3/4 time.")
- (length-callback . ,ly:music-sequence::cumulative-length-callback)
- (start-callback . ,ly:music-sequence::first-start-callback)
- (iterator-ctor . ,ly:sequential-music-iterator::constructor)
- (types . (general-music sequential-music))
+ (MultiMeasureRestEvent
+ . (
+ (description . "Used internally by MultiMeasureRestMusic to signal rests")
+ (types . (general-music event rhythmic-event multi-measure-rest-event))
))
(MultiMeasureTextEvent
@code{\\override [ @var{Ctxt} . ] @var{Obj} @var{prop} = @var{val}}
")
- (types . (general-music layout-instruction))
+ (types . (general-music layout-instruction-event override-property-event))
(iterator-ctor . ,ly:push-property-iterator::constructor)
))
(PageBreakEvent
. (
(description . "Allow, forbid or force a page break.")
- (types . (general-music break-event event))
+ (types . (general-music break-event page-break-event event))
))
(PageTurnEvent
. (
(description . "Allow, forbid or force a page turn.")
- (types . (general-music break-event event))
+ (types . (general-music break-event page-turn-event event))
))
(PartCombineMusic
. (
(description . "Set a context property.
Syntax: @code{\\property @var{context}.@var{prop} = @var{scheme-val}}.")
- (types . (layout-instruction general-music))
+ (types . (layout-instruction-event general-music))
(iterator-ctor . ,ly:property-iterator::constructor)
))
. (
(description . "Remove the definition of a context @code{\\property}.")
- (types . (layout-instruction general-music))
+ (types . (layout-instruction-event general-music))
(iterator-ctor . ,ly:property-unset-iterator::constructor)
))
(PercentEvent
. (
(description . "Used internally to signal percent repeats.")
- (types . (general-music event percent-event))
+ (types . (general-music event percent-event rhythmic-event))
))
(PesOrFlexaEvent
previously added property from a graphical object definition
")
- (types . (general-music layout-instruction))
+ (types . (general-music layout-instruction-event))
(iterator-ctor . , ly:pop-property-iterator::constructor)
))
(length-callback . ,ly:music-sequence::cumulative-length-callback)
(start-callback . ,ly:music-sequence::first-start-callback)
- (iterator-ctor . ,ly:sequential-music-iterator::constructor)
+ (elements-callback . ,(lambda (m) (ly:music-property m 'elements)))
+ (iterator-ctor . ,ly:sequential-iterator::constructor)
(types . (general-music sequential-music))
))
. (
(description . "Print Solo.1")
(part-combine-status . solo1)
- (types . (general-music event part-combine-event))
+ (types . (general-music event part-combine-event solo-one-event))
))
(SoloTwoEvent
. (
(description . "Print Solo.2")
(part-combine-status . solo2)
- (types . (general-music event part-combine-event))
+ (types . (general-music event part-combine-event solo-two-event))
))
(UnisonoEvent
. ((description . "Print a2")
(part-combine-status . unisono)
- (types . (general-music event part-combine-event))))
+ (types . (general-music event part-combine-event unisono-event))))
(SimultaneousMusic
. (
(types . (general-music event span-event staff-span-event))
))
- (StartPlayingEvent
- . (
- (description . "Used internally to signal beginning of notes.")
-
- (types . (general-music event start-playing-event))
- ))
-
(TextSpanEvent
. (
(description . "Start a text spanner like 8va.....|")
(types . (time-scaled-music music-wrapper-music general-music))
))
- (TupletEvent
+ (TupletSpanEvent
. (
(description . "Used internally to signal where tuplet brackets start and stop.")
- (types . (tuplet-spanner-event span-event event general-music))
+ (types . (tuplet-span-event span-event event general-music))
))
(UnrelativableMusic
(SustainEvent
. (
(description . "Depress or release sustain pedal. ")
- (types . (general-music event pedal-event sustain-pedal-event))
+ (types . (general-music event pedal-event sustain-event))
))
(SostenutoEvent
. (
(description . "Depress or release sostenuto pedal. ")
- (types . (general-music event pedal-event sostenuto-pedal-event))
+ (types . (general-music event pedal-event sostenuto-event))
))
(UnaCordaEvent
. (
(description . "Depress or release una-corda pedal.")
- (types . (general-music event pedal-event una-corda-pedal-event))
+ (types . (general-music event pedal-event una-corda-event))
))
(StringNumberEvent
(types . (general-music string-number-event event))
))
- (MetronomeChangeEvent
+ (StrokeFingerEvent
. (
- (description . "Change tempo setting (in beats per minute).")
- (types . (general-music metronome-change-event tempo-event event))
- ))
+ (description . "Specify with which finger to pluck a string.
+
+Syntax: @code{\\rightHandFinger @var{text}}.")
+
+ (types . (general-music stroke-finger-event event))
+ ))
(TextScriptEvent
. (
(ly:error (_ "symbol expected: ~S") name))
(let ((props (hashq-ref music-name-to-property-table name '())))
(if (not (pair? props))
- (ly:error (_ "can't find music object: ~S") name))
+ (ly:error (_ "cannot find music object: ~S") name))
(let ((m (ly:make-music props)))
(define (set-props mus-props)
(if (and (not (null? mus-props))