X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fmusic-types.scm;h=9effc7b93798b457aacd30ef07a1fe2266480439;hb=refs%2Ftags%2Frelease%2F1.7.4;hp=b3d31c8d7acc59f18f58ca431e93d269a450ee27;hpb=1b9fc29140bd1d9345f784595afd22158876dfb7;p=lilypond.git diff --git a/scm/music-types.scm b/scm/music-types.scm index b3d31c8d7a..9effc7b937 100644 --- a/scm/music-types.scm +++ b/scm/music-types.scm @@ -3,15 +3,23 @@ `( (AbortEvent . ( - (description . "Abort currently running spanners.") - (internal-class-name . "Request") + (description . "End the currently running spanners.") + (internal-class-name . "Event") (span-type . "abort") (types . (general-music event abort-event)) )) + (AbsoluteDynamicEvent + . ( + (description . "Creates a dynamic mark. Syntax: @var{note}@code{\\x}, +where x is one of \@\{\\ppp, \\pp, \\p, \\mp, \\mf, \\f, \\ff, \\fff.\@\}") + (internal-class-name . "Event") + (types . (general-music event dynamic-event absolute-dynamic-event)) + )) (ArpeggioEvent . ( - (description . "Make an arpeggio on this note.") - (internal-class-name . "Request") + (description . "Make an arpeggio on this note. Syntax: +@var{note}-@code{\\arpeggio}") + (internal-class-name . "Event") (types . (general-music arpeggio-event event)) )) @@ -19,12 +27,16 @@ ;; separate non articulation scripts (ArticulationEvent . ( - (description . "") + (description . "Adds an articulation marking to a note. Syntax: +@var{note}@code{X}@code{Y}, where X is a direction (up @code{^}, down +@code{_}, or Lilypond's choice (no direction specified)), and where Y +is an articulation (such as @code{-.}, @code{->}, @code{\\tenuto}, +@code{\\downbow}). See the user manual for details.") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music event articulation-event script-event)) )) - (AutoChangeMusic + (AutoChangeMusic . ( (description . "") @@ -32,84 +44,86 @@ (iterator-ctor . ,Auto_change_iterator::constructor) (types . (general-music music-wrapper-music auto-change-instruction)) )) - (BarCheck - . ( + (BarCheck + . ( (description . "") - - (internal-class-name . "Music") - (types . (general-music bar-check)) - (iterator-ctor . ,Bar_check_iterator::constructor) - )) + (internal-class-name . "Music") + (types . (general-music bar-check)) + (iterator-ctor . ,Bar_check_iterator::constructor) + )) (BassFigureEvent . ( (description . "") - (internal-class-name . "Request") - (compress-procedure . ,music-duration-compress) - (length . ,music-duration-length) + (internal-class-name . "Event") (types . (general-music event rhythmic-event bass-figure-event)) )) (BeamEvent . ( - (description . "") + (description . "Starts or stops a beam. Syntax for manual control: +\[c8 c c\] c8") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music event beam-event span-event)) )) (BreakEvent . ( - (description . "") + (description . "Creates a line break. Syntax: \\break.") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music break-event event)) )) (BreathingSignEvent . ( - (description . "") + (description . "Creates a `breath mark' or `comma'. Syntax: +@var{note}\\breathe.") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music event breathing-event)) )) (BusyPlayingEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music event busy-playing-event)) )) (ContextSpeccedMusic . ( (description . "") - - (internal-class-name . "Context_specced_music") + (iterator-ctor . ,Context_specced_music_iterator::constructor) + (internal-class-name . "Music_wrapper") (types . (context-specification general-music music-wrapper-music)) )) - (CrescendoEvent + (CrescendoEvent . ( - (description . "") + (description . "Begins or ends a crescendo. Syntax: @var{note}\\cr +... @var{note}\\rc (you can also use \\<, \\!, \\cresc, and +\\endcresc. See the user manual for details.).") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music dynamic-event crescendo-event event)) )) (DecrescendoEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music dynamic-event decrescendo-event event)) - )) - (ExtenderEvent + )) + + (ExtenderEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music extender-event event)) )) (GlissandoEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music glissando-event event)) )) (GraceMusic @@ -120,11 +134,17 @@ (iterator-ctor . ,Grace_iterator::constructor) (types . (grace-music music-wrapper-music general-music)) )) - (HyphenEvent + (NoteGroupingEvent + . ( + (description . "Start or stop grouping brackets.") + (internal-class-name . "Event") + (types . (general-music event note-grouping-event)) + )) + (HyphenEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music hyphen-event event)) )) (KeyChangeEvent @@ -134,7 +154,7 @@ (internal-class-name . "Key_change_req") (types . (general-music key-change-event event)) )) - (LyricCombineMusic + (LyricCombineMusic . ( (description . "") @@ -143,21 +163,19 @@ (iterator-ctor . ,Lyric_combine_music_iterator::constructor) )) - (LyricEvent + (LyricEvent . ( (description . "A lyric syllable. Must be entered in lyrics mode, i.e. -@code{\lyrics @{ twinkle4 twinkle4 @} } .") +@code{\\lyrics @{ twinkle4 twinkle4 @} } .") - (length . ,music-duration-length) - (compress-procedure . ,music-duration-compress) - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music rhythmic-event lyric-event event)) )) (LigatureEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (span-type . ligature) (types . (general-music event span-event ligature-event)) )) @@ -165,28 +183,28 @@ . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music mark-event event)) )) (MelismaEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music span-event melisma-playing-event event)) )) (MelismaPlayingEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music event)) )) (MultiMeasureRestEvent . ( (description . "Rests that may be compressed into Multi rests. Syntax @code{R2.*4} for 4 measures in 3/4 time. Note the capital R.") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music event multi-measure-rest-event)) )) (Music @@ -200,33 +218,31 @@ . ( (description . "") - (internal-class-name . "Request") - (length . ,music-duration-length) - (compress-procedure . ,music-duration-compress) + (internal-class-name . "Event") (types . (general-music event note-event rhythmic-event melodic-event)) )) - (OverrideProperty - . ( + (OverrideProperty + . ( (description . "") - (internal-class-name . "Music") - (types . (general-music layout-instruction)) - (iterator-ctor . , Push_property_iterator::constructor) - )) + (internal-class-name . "Music") + (types . (general-music layout-instruction)) + (iterator-ctor . , Push_property_iterator::constructor) + )) - (PartCombineMusic + (PartCombineMusic . ( (description . "") - (internal-class-name . "Part_combine_music") + (internal-class-name . "Simultaneous_music") (types . (general-music part-combine-music)) (iterator-ctor . ,Part_combine_music_iterator::constructor) - )) - (PhrasingSlurEvent + )) + (PhrasingSlurEvent . ( - (description . "Start or end phrasing slur. Syntax NOTE \( and \) NOTE") - (internal-class-name . "Request") - (types . (general-music span-event phrasing-slur-event slur-event)) + (description . "Start or end phrasing slur. Syntax NOTE \\( and \\) NOTE") + (internal-class-name . "Event") + (types . (general-music span-event phrasing-slur-event)) )) (PropertySet . ( @@ -236,7 +252,7 @@ (iterator-ctor . ,Property_iterator::constructor) ) ) - (PropertyUnset + (PropertyUnset . ( (description . "") @@ -245,40 +261,37 @@ (iterator-ctor . ,Property_unset_iterator::constructor) ) ) - (PorrectusEvent + (PorrectusEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music porrectus-event event)) )) (RepeatedMusic . ( (description . "") - (internal-class-name . "Repeated_music") (type . repeated-music) (types . (general-music repeated-music)) )) - (Request + (Event . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music event)) )) (RestEvent . ( (description . "") - (internal-class-name . "Request") - (length . ,music-duration-length) - (compress-procedure . ,music-duration-compress) + (internal-class-name . "Event") (types . (general-music event rhythmic-event rest-event)) )) (SequentialMusic . ( - (description . "Music expressions concatenated. Syntax \sequential @{..@} or simply @{..@} .") + (description . "Music expressions concatenated. Syntax \\sequential @{..@} or simply @{..@} .") (internal-class-name . "Sequential_music") (iterator-ctor . ,Sequential_music_iterator::constructor) @@ -286,7 +299,7 @@ )) (SimultaneousMusic . ( - (description . "Music playing together. Syntax: \simultaneous @{ .. @} or < .. >.") + (description . "Music playing together. Syntax: \\simultaneous @{ .. @} or < .. >.") (internal-class-name . "Simultaneous_music") (iterator-ctor . ,Simultaneous_music_iterator::constructor) @@ -296,19 +309,19 @@ (SlurEvent . ( (description . "Start or end slur. Syntax NOTE( and )NOTE") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music span-event slur-event)) )) (RevertProperty - . ( + . ( (description . "") - (internal-class-name . "Music") - (types . (general-music layout-instruction)) - (iterator-ctor . , Pop_property_iterator::constructor) - )) - + (internal-class-name . "Music") + (types . (general-music layout-instruction)) + (iterator-ctor . , Pop_property_iterator::constructor) + )) + (OutputPropertySetMusic . ( (description . "") @@ -317,21 +330,21 @@ (iterator-ctor . ,Output_property_music_iterator::constructor) (types . (general-music layout-instruction)) )) - + (TextSpanEvent . ( (description . "Start a text spanner like 8va.....|") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music span-event text-span-event)) )) (TranslatorChange . ( (description . "") - (internal-class-name . "Music") (iterator-ctor . , Change_iterator::constructor) (types . (general-music translator-change-instruction)) )) + (TimeScaledMusic . ( (description . "") @@ -339,10 +352,10 @@ (iterator-ctor . ,Time_scaled_music_iterator::constructor) (types . (time-scaled-music music-wrapper-music general-music)) )) + (TransposedMusic . ( (description . "") - (internal-class-name . "Transposed_music") (types . (music-wrapper-music general-music transposed-music)) )) @@ -358,7 +371,6 @@ (UnrelativableMusic . ( (description . "") - (internal-class-name . "Un_relativable_music") (types . (music-wrapper-music general-music unrelativable-music)) )) @@ -371,98 +383,146 @@ (types . (music-wrapper-music general-music relative-octave-music)) )) - - (RequestChord + + (EventChord . ( (description . "") - (internal-class-name . "Request_chord") - (iterator-ctor . ,Request_chord_iterator::constructor) - (types . (general-music request-chord simultaneous-music)) + (internal-class-name . "Simultaneous_music") + (iterator-ctor . ,Event_chord_iterator::constructor) + (types . (general-music event-chord simultaneous-music)) ) ) - + (ScriptEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music event)) )) (SkipEvent . ( (description . "") - (internal-class-name . "Request") - (length . ,music-duration-length) - (compress-procedure . ,music-duration-compress) + (internal-class-name . "Event") (types . (general-music event rhythmic-event skip-event)) )) (SpanEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music event)) )) (SustainPedalEvent - . ( - (description . "") - (internal-class-name . "Request") - (types . (general-music pedal-event sustain-pedal-event)) - )) + . ( + (description . "") + (internal-class-name . "Event") + (types . (general-music pedal-event sustain-pedal-event)) + )) (SostenutoEvent - . ( - (description . "") - (internal-class-name . "Request") - (types . (general-music pedal-event sostenuto-pedal-event)) - )) + . ( + (description . "") + (internal-class-name . "Event") + (types . (general-music pedal-event sostenuto-pedal-event)) + )) (UnaCordaEvent - . ( - (description . "") - (internal-class-name . "Request") - (types . (general-music pedal-event una-corda-pedal-event)) - )) + . ( + (description . "") + (internal-class-name . "Event") + (types . (general-music pedal-event una-corda-pedal-event)) + )) (StringNumberEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music string-number-event event)) )) (TempoEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music tempo-event event)) )) (TextScriptEvent . ( (description . "") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music script-event text-script-event event)) )) (TieEvent . ( - (description . "A tie. Entered as ~.") - (internal-class-name . "Request") + (description . "A tie. Entered as ~.") + (internal-class-name . "Event") (types . (general-music tie-event event)) )) (TremoloEvent . ( (description . "Un measured tremolo.") - (internal-class-name . "Request") + (internal-class-name . "Event") (types . (general-music event tremolo-event)) )) - (VoiceSeparator - . ( + (VoiceSeparator + . ( (description . "") - (internal-class-name . "Music") - (types . (separator general-music)) - )) + (internal-class-name . "Music") + (types . (separator general-music)) + )) + + (VoltaRepeatedMusic + . ( + (iterator-ctor . ,Volta_repeat_iterator::constructor) + (internal-class-name . "Repeated_music") + (description . "") + (start-moment-function . ,Repeated_music::first_start) + (length . ,Repeated_music::volta_music_length) + (types . (general-music repeated-music volta-repeated-music)) + )) + + (UnfoldedRepeatedMusic + . ( + (iterator-ctor . ,Unfolded_repeat_iterator::constructor) + (description . "") + (start-moment-function . ,Repeated_music::first_start) + (internal-class-name . "Repeated_music") + (types . (general-music repeated-music unfolded-repeated-music)) + (length . ,Repeated_music::unfolded_music_length) + )) + (PercentRepeatedMusic + . ( + (internal-class-name . "Repeated_music") + (description . "") + (iterator-ctor . ,Percent_repeat_iterator::constructor) + (start-moment-function . ,Repeated_music::first_start) + (length . ,Repeated_music::unfolded_music_length) + (types . (general-music repeated-music percent-repeated-music)) + )) + (TremoloRepeteadMusic + . ( + (iterator-ctor . ,Chord_tremolo_iterator::constructor) + (description . "") + (internal-class-name . "Repeated_music") + (start-moment-function . ,Repeated_music::first_start) + + ;; the length of the repeat is handled by shifting the note logs + (length . ,Repeated_music::folded_music_length) + (types . (general-music repeated-music tremolo-repeated-music)) + + )) + (FoldedRepeatedMusic + . ( + (internal-class-name . "Repeated_music") + (description . "") + (iterator-ctor . ,Folded_repeat_iterator::constructor) + (start-moment-function . ,Repeated_music::minimum_start) + (length . ,Repeated_music::folded_music_length) + (types . (general-music repeated-music folded-repeated-music)) + )) )) (set! music-descriptions @@ -492,7 +552,7 @@ (define-public (make-music-by-name x) (if (not (symbol? x)) - (misc-error "Not a symbol: ~s" x)) + (error (format "Not a symbol: ~a" x))) (let* ( (props (hashq-ref music-name-to-property-table x '())) @@ -502,28 +562,35 @@ ) (if (eq? props '()) - (ly-warn (format "Could not find music type `~a'" x))) - (ly-make-bare-music name props) - )) + (ly:warn (format "Could not find music type `~a'" x))) + (ly:make-bare-music name props) + )) + -(define-public (old-span-request->event name) - (let +(define-public (make-repeated-music name) + (let* ( - (entry (assoc - name - '( - ("text" . TextSpanEvent) - ("decrescendo" . DecrescendoEvent) - ("crescendo" . CrescendoEvent) - ("Sustain" . SustainPedalEvent) - ("UnaCorda" . UnaCordaEvent) - ("Sostenuto" . SostenutoEvent) - ))) - ) - (if (eq? entry #f) - (error (format "Could not find span type ~a" name)) - - (make-music-by-name (cdr entry)) + (handle (assoc + name + '(("volta" . VoltaRepeatedMusic) + ("unfold" . UnfoldedRepeatedMusic) + ("percent" . PercentRepeatedMusic) + ("tremolo" . TremoloRepeteadMusic) + ("fold" . FoldedRepeatedMusic) + ))) + (music-name + (if (pair? handle) + (cdr handle) + (begin + (ly:warn + (string-append "Unknown repeat type `" name + "'\nSee music-types.scm for supported repeats")) + 'VoltaRepeatedMusic) + ) ) - )) + ) + + (make-music-by-name music-name) + )) +