From 1fc55f384b7be38162ff82b1eb86ca0449346f87 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sat, 28 Sep 2002 01:23:56 +0000 Subject: [PATCH] *** empty log message *** --- ChangeLog | 11 +++++++++++ lily/a2-engraver.cc | 2 +- lily/accidental-engraver.cc | 2 +- lily/ambitus-engraver.cc | 2 +- lily/auto-beam-engraver.cc | 2 +- lily/axis-group-engraver.cc | 4 ++-- lily/bar-engraver.cc | 2 +- lily/bar-number-engraver.cc | 2 +- lily/beam-engraver.cc | 2 +- lily/break-align-engraver.cc | 2 +- lily/chord-tremolo-engraver.cc | 2 +- lily/clef-engraver.cc | 2 +- lily/collision-engraver.cc | 2 +- lily/completion-note-heads-engraver.cc | 2 +- lily/custos-engraver.cc | 2 +- lily/dot-column-engraver.cc | 2 +- lily/dynamic-performer.cc | 2 +- lily/figured-bass-engraver.cc | 2 +- lily/fingering-engraver.cc | 4 ++-- lily/font-size-engraver.cc | 2 +- lily/forbid-break-engraver.cc | 2 +- lily/grob-pq-engraver.cc | 2 +- lily/instrument-name-engraver.cc | 2 +- lily/key-performer.cc | 2 +- lily/ligature-bracket-engraver.cc | 2 +- lily/lyric-phrasing-engraver.cc | 2 +- lily/mensural-ligature-engraver.cc | 2 +- lily/time-signature-engraver.cc | 2 +- lily/tuplet-engraver.cc | 4 ++-- scm/engraver-documentation-lib.scm | 10 ++++++++-- 30 files changed, 50 insertions(+), 33 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8c0f51f2f5..913c20b244 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2002-09-28 Han-Wen Nienhuys + + * lily/*.cc: specify accepts for many engravers. + + * scm/music-documentation-lib.scm: dump music expressions and + music subtypes. + + * scm/documentation-lib.scm: complete revision. + Use GOOPS objects to store document tree explicitly. Cleanedup and + sped up doco generation a lot. + 2002-09-27 Han-Wen Nienhuys * input/trip.ly (fugaIILeft): add arpeggio diff --git a/lily/a2-engraver.cc b/lily/a2-engraver.cc index 8c24c57b4b..f0bc17f137 100644 --- a/lily/a2-engraver.cc +++ b/lily/a2-engraver.cc @@ -211,7 +211,7 @@ up for the musicexpr called @code{one}, down for the musicexpr called ", /* creats*/ "TextScript", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "multi-measure-rest-interface slur-interface stem-interface tie-interface note-head-interface dynamic-interface text-interface" ,/* reads */ "combineParts noDirection soloADue soloText soloIIText aDueText split-interval unison solo unisilence unirhythm", diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index 4549a30547..49d0a20577 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -484,7 +484,7 @@ 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.", "Accidental", -/* accepts */ "general-music", +/* accepts */ "", "rhythmic-head-interface tie-interface arpeggio-interface", "localKeySignature extraNatural autoAccidentals autoCautionaries", "localKeySignature"); diff --git a/lily/ambitus-engraver.cc b/lily/ambitus-engraver.cc index eda824188c..9d5468cb92 100644 --- a/lily/ambitus-engraver.cc +++ b/lily/ambitus-engraver.cc @@ -197,7 +197,7 @@ Ambitus_engraver::finalize () ENTER_DESCRIPTION(Ambitus_engraver, /* descr */ "", /* creats*/ "Ambitus", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "note-head-interface", /* reads */ "", /* write */ ""); diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc index aff46accf1..932cadc95e 100644 --- a/lily/auto-beam-engraver.cc +++ b/lily/auto-beam-engraver.cc @@ -496,7 +496,7 @@ when to start and stop a beam. Overriding beaming is done through stemRightBeamCount. ", /* creats*/ "Beam", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "stem-interface rest-interface beam-interface bar-line-interface", /* reads */ "autoBeaming autoBeamSettings beatLength subdivideBeams", /* write */ ""); diff --git a/lily/axis-group-engraver.cc b/lily/axis-group-engraver.cc index 841a24c656..28752d2a77 100644 --- a/lily/axis-group-engraver.cc +++ b/lily/axis-group-engraver.cc @@ -168,7 +168,7 @@ ENTER_DESCRIPTION(Hara_kiri_engraver, interesting items (ie. note heads, lyric syllables and normal rests) ", /* creats*/ "HaraKiriVerticalGroup", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "grob-interface", /* reads */ "", /* write */ ""); @@ -176,7 +176,7 @@ interesting items (ie. note heads, lyric syllables and normal rests) ENTER_DESCRIPTION(Axis_group_engraver, /* descr */ "Group all objects created in this context in a VerticalAxisGroup spanner.", /* creats*/ "VerticalAxisGroup", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "grob-interface", /* reads */ "verticalExtent minimumVerticalExtent extraVerticalExtent", /* write */ ""); diff --git a/lily/bar-engraver.cc b/lily/bar-engraver.cc index 180193ec26..926654e4a9 100644 --- a/lily/bar-engraver.cc +++ b/lily/bar-engraver.cc @@ -112,7 +112,7 @@ ENTER_DESCRIPTION(Bar_engraver, /* descr */ "Create barlines. This engraver is controlled through the @code{whichBar} property. If it has no bar line to create, it will forbid a linebreak at this point", /* creats*/ "BarLine", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "", /* reads */ "whichBar", /* write */ ""); diff --git a/lily/bar-number-engraver.cc b/lily/bar-number-engraver.cc index 28b73fd21e..130c42b95a 100644 --- a/lily/bar-number-engraver.cc +++ b/lily/bar-number-engraver.cc @@ -118,7 +118,7 @@ ENTER_DESCRIPTION(Bar_number_engraver, /* descr */ "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.", /* creats*/ "BarNumber", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "break-aligned-interface", /* reads */ "currentBarNumber stavesFound" , /* write */ ""); diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index 8a9fd77774..bb9ac59bc3 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -299,7 +299,7 @@ ENTER_DESCRIPTION(Beam_engraver, /* descr */ "Handles Beam_requests by engraving Beams. If omitted, then notes will be printed with flags instead of beams.", /* creats*/ "Beam", -/* accepts */ "general-music", +/* accepts */ "beam-event abort-event", /* acks */ "stem-interface rest-interface", /* reads */ "beamMelismaBusy beatLength subdivideBeams", /* write */ ""); diff --git a/lily/break-align-engraver.cc b/lily/break-align-engraver.cc index d708eb5f86..864f01a5d5 100644 --- a/lily/break-align-engraver.cc +++ b/lily/break-align-engraver.cc @@ -148,7 +148,7 @@ Break_align_engraver::add_to_group(SCM align_name, Item*item) ENTER_DESCRIPTION(Break_align_engraver, /* descr */ "Align grobs with corresponding break-align-symbols into groups, and order the groups according to breakAlignOrder", /* creats*/ "BreakAlignment BreakAlignGroup LeftEdge", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "break-aligned-interface" ,/* reads */ "breakAlignOrder", /* write */ ""); diff --git a/lily/chord-tremolo-engraver.cc b/lily/chord-tremolo-engraver.cc index 046deec83d..9781fa377d 100644 --- a/lily/chord-tremolo-engraver.cc +++ b/lily/chord-tremolo-engraver.cc @@ -218,7 +218,7 @@ Chord_tremolo_engraver::stop_translation_timestep () ENTER_DESCRIPTION(Chord_tremolo_engraver, /* descr */ "Generates beams for tremolo repeats.", /* creats*/ "Beam", -/* accepts */ "general-music", +/* accepts */ "repeated-music", /* acks */ "stem-interface note-head-interface", /* reads */ "", /* write */ ""); diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index 819ee2cedf..c2e671216b 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -199,7 +199,7 @@ Clef_engraver::start_translation_timestep () ENTER_DESCRIPTION(Clef_engraver, /* descr */ "Determine and set reference point for pitches", /* creats*/ "Clef OctavateEight", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "bar-line-interface", /* reads */ "clefPosition clefGlyph centralCPosition clefOctavation explicitClefVisibility", /* write */ ""); diff --git a/lily/collision-engraver.cc b/lily/collision-engraver.cc index 41399bbeca..4371840b5b 100644 --- a/lily/collision-engraver.cc +++ b/lily/collision-engraver.cc @@ -78,7 +78,7 @@ Collision_engraver::Collision_engraver () ENTER_DESCRIPTION(Collision_engraver, /* descr */ "", /* creats*/ "NoteCollision", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "note-column-interface", /* reads */ "", /* write */ ""); diff --git a/lily/completion-note-heads-engraver.cc b/lily/completion-note-heads-engraver.cc index 95fa36461f..8b8257cc0b 100644 --- a/lily/completion-note-heads-engraver.cc +++ b/lily/completion-note-heads-engraver.cc @@ -313,7 +313,7 @@ ENTER_DESCRIPTION(Completion_heads_engraver, @code{Note_heads_engraver}. It plays some trickery to break long notes and automatically tie them into the next measure.", /* creats*/ "NoteHead Dots", -/* accepts */ "general-music", +/* accepts */ "busy-playing-event note-event", /* acks */ "", /* reads */ "centralCPosition measurePosition measureLength", /* write */ ""); diff --git a/lily/custos-engraver.cc b/lily/custos-engraver.cc index 6af09938e3..eb70aada0e 100644 --- a/lily/custos-engraver.cc +++ b/lily/custos-engraver.cc @@ -148,7 +148,7 @@ Custos_engraver::finalize () ENTER_DESCRIPTION(Custos_engraver, /* descr */ "", /* creats*/ "Custos", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "bar-line-interface note-head-interface", /* reads */ "", /* write */ ""); diff --git a/lily/dot-column-engraver.cc b/lily/dot-column-engraver.cc index 83953c5d54..91bb6ddd8b 100644 --- a/lily/dot-column-engraver.cc +++ b/lily/dot-column-engraver.cc @@ -84,7 +84,7 @@ ENTER_DESCRIPTION(Dot_column_engraver, If omitted, then dots appear on top of the notes. ", /* creats*/ "DotColumn", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "rhythmic-head-interface dot-column-interface stem-interface", /* reads */ "", /* write */ ""); diff --git a/lily/dynamic-performer.cc b/lily/dynamic-performer.cc index c69267b5d9..0825066013 100644 --- a/lily/dynamic-performer.cc +++ b/lily/dynamic-performer.cc @@ -137,7 +137,7 @@ Dynamic_performer::try_music (Music* r) ENTER_DESCRIPTION(Dynamic_performer, /*descr*/ "", /* creats*/ "", - /* accepts */ "general-music", + /* accepts */ "note-column-interface script-interface", /* acks */ "", /*reads */"dynamicAbsoluteVolumeFunction midiMaximumVolume midiMinimumVolume midiInstrument instrumentEqualizer", /*writes*/""); diff --git a/lily/figured-bass-engraver.cc b/lily/figured-bass-engraver.cc index 1a4f310e98..a2baf1831c 100644 --- a/lily/figured-bass-engraver.cc +++ b/lily/figured-bass-engraver.cc @@ -80,7 +80,7 @@ Figured_bass_engraver::process_music () ENTER_DESCRIPTION(Figured_bass_engraver, /* descr */ "Make figured bass numbers.", /* creats*/ "BassFigure", -/* accepts */ "general-music", +/* accepts */ "rest-event bass-figure-event", /* acks */ "", /* reads */ "", /* write */ ""); diff --git a/lily/fingering-engraver.cc b/lily/fingering-engraver.cc index d4b59e1d53..2610f49b8b 100644 --- a/lily/fingering-engraver.cc +++ b/lily/fingering-engraver.cc @@ -39,7 +39,7 @@ protected: bool Fingering_engraver::try_music (Music *m) { - if (dynamic_cast (m)) + if (m->is_mus_type ("text-script-event")) { if (m->get_mus_property ("text-type") != ly_symbol2scm ("finger")) return false; @@ -244,7 +244,7 @@ Fingering_engraver::Fingering_engraver() ENTER_DESCRIPTION(Fingering_engraver, /* descr */ "Create fingering-scripts", /* creats*/ "Fingering", -/* accepts */ "general-music", +/* accepts */ "text-script-event", /* acks */ "rhythmic-head-interface stem-interface", /* reads */ "scriptHorizontal", /* write */ ""); diff --git a/lily/font-size-engraver.cc b/lily/font-size-engraver.cc index 1e337b8c2e..1178abc4b2 100644 --- a/lily/font-size-engraver.cc +++ b/lily/font-size-engraver.cc @@ -47,7 +47,7 @@ Font_size_engraver::acknowledge_grob (Grob_info gi) ENTER_DESCRIPTION(Font_size_engraver, /* descr */ "Puts fontSize into font-relative-size grob property.", /* creats*/ "", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "font-interface", /* reads */ "fontSize", /* write */ ""); diff --git a/lily/forbid-break-engraver.cc b/lily/forbid-break-engraver.cc index 0747251260..c908372922 100644 --- a/lily/forbid-break-engraver.cc +++ b/lily/forbid-break-engraver.cc @@ -16,7 +16,7 @@ ENTER_DESCRIPTION(Forbid_line_break_engraver, /* descr */ "Forbid line breaks when note heads are still playing at some point.", /* creats*/ "", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "", /* reads */ "busyGrobs", /* write */ ""); diff --git a/lily/grob-pq-engraver.cc b/lily/grob-pq-engraver.cc index 44ab000fa2..856650300b 100644 --- a/lily/grob-pq-engraver.cc +++ b/lily/grob-pq-engraver.cc @@ -143,7 +143,7 @@ ENTER_DESCRIPTION(Grob_pq_engraver, engraver is a sort-of a failure, since it doesn't handle all sorts of borderline cases very well. ", /* creats*/ "", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "grob-interface", /* reads */ "busyGrobs", /* write */ "busyGrobs"); diff --git a/lily/instrument-name-engraver.cc b/lily/instrument-name-engraver.cc index e166f48ec9..e3219af373 100644 --- a/lily/instrument-name-engraver.cc +++ b/lily/instrument-name-engraver.cc @@ -127,7 +127,7 @@ ENTER_DESCRIPTION(Instrument_name_engraver, at the left of the staff.", /* creats*/ "InstrumentName", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "bar-line-interface axis-group-interface", /* reads */ "instrument instr", /* write */ ""); diff --git a/lily/key-performer.cc b/lily/key-performer.cc index 66ca419f1e..c04ea1a592 100644 --- a/lily/key-performer.cc +++ b/lily/key-performer.cc @@ -101,5 +101,5 @@ Key_performer::try_music (Music* req) ENTER_DESCRIPTION(Key_performer, "","", - "general-music", + "key-change-event", "","",""); diff --git a/lily/ligature-bracket-engraver.cc b/lily/ligature-bracket-engraver.cc index 5797748366..c729c232af 100644 --- a/lily/ligature-bracket-engraver.cc +++ b/lily/ligature-bracket-engraver.cc @@ -35,7 +35,7 @@ Ligature_bracket_engraver::create_ligature_spanner () ENTER_DESCRIPTION(Ligature_bracket_engraver, /* descr */ "Handles Ligature_requests by engraving Ligature brackets.", /* creats*/ "LigatureBracket", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "ligature-head-interface rest-interface", /* reads */ "", /* write */ ""); diff --git a/lily/lyric-phrasing-engraver.cc b/lily/lyric-phrasing-engraver.cc index 0dba2673df..1621d21d03 100644 --- a/lily/lyric-phrasing-engraver.cc +++ b/lily/lyric-phrasing-engraver.cc @@ -361,7 +361,7 @@ This engraver is switched on by default. Turn it off for faster processing of orchestral scores. ", /* creats*/ "", - /* accepts */ "general-music", + /* accepts */ "", /* acks */ "lyric-syllable-interface note-head-interface lyric-extender-interface", /* reads */ "automaticPhrasing melismaEngraverBusy associatedVoice phrasingPunctuation", /* write */ ""); diff --git a/lily/mensural-ligature-engraver.cc b/lily/mensural-ligature-engraver.cc index 4678e9bf26..457e9532a9 100644 --- a/lily/mensural-ligature-engraver.cc +++ b/lily/mensural-ligature-engraver.cc @@ -567,7 +567,7 @@ Mensural_ligature_engraver::acknowledge_grob (Grob_info info) ENTER_DESCRIPTION (Mensural_ligature_engraver, /* descr */ "Handles Mensural_ligature_requests by glueing special ligature heads together.", /* creats*/ "MensuralLigature", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "ligature-head-interface note-head-interface rest-interface", /* reads */ "", /* write */ ""); diff --git a/lily/time-signature-engraver.cc b/lily/time-signature-engraver.cc index 5b7b384e79..d761129066 100644 --- a/lily/time-signature-engraver.cc +++ b/lily/time-signature-engraver.cc @@ -65,7 +65,7 @@ Time_signature_engraver::stop_translation_timestep () ENTER_DESCRIPTION(Time_signature_engraver, /* descr */ "Create a TimeSignature whenever @code{timeSignatureFraction} changes", /* creats*/ "TimeSignature", -/* accepts */ "general-music", +/* accepts */ "", /* acks */ "", /* reads */ "", /* write */ ""); diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index 052eda58a1..6f697e9251 100644 --- a/lily/tuplet-engraver.cc +++ b/lily/tuplet-engraver.cc @@ -42,7 +42,7 @@ protected: bool Tuplet_engraver::try_music (Music *r) { - if (Time_scaled_music * c = dynamic_cast (r)) + if ( c->is_mus_type ("time-scaled-music")) { Music *el = c->element (); if (!dynamic_cast (el)) @@ -155,7 +155,7 @@ Tuplet_engraver::Tuplet_engraver(){} ENTER_DESCRIPTION(Tuplet_engraver, /* descr */ "Catch Time_scaled_music and generate appropriate bracket ", /* creats*/ "TupletBracket", -/* accepts */ "general-music", +/* accepts */ "time-scaled-music", /* acks */ "note-column-interface", /* reads */ "tupletNumberFormatFunction tupletSpannerDuration tupletInvisible", /* write */ ""); diff --git a/scm/engraver-documentation-lib.scm b/scm/engraver-documentation-lib.scm index b793ae133b..aac8ed15e2 100644 --- a/scm/engraver-documentation-lib.scm +++ b/scm/engraver-documentation-lib.scm @@ -246,14 +246,20 @@ ) )) + +(define all-engravers-list (ly-get-all-translators)) +(set! all-engravers-list + (sort all-engravers-list + (lambda (a b) (string #:name "Engravers" #:desc "All separate engravers" #:children - (map engraver-doc (ly-get-all-translators)))) + (map engraver-doc all-engravers-list))) -(define all-engravers-list (ly-get-all-translators)) (define (all-translation-properties-doc) (let* -- 2.39.5