From ae58654e4a30248bf2db4b42b3e8f4ea2652ab95 Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Sat, 14 Feb 2004 12:38:16 +0000 Subject: [PATCH] release commit --- ChangeLog | 6 ++++ Documentation/topdocs/NEWS.texi | 2 ++ input/regression/note-head-harmonic.ly | 9 +++-- input/test/staff-size.ly | 4 +-- lily/accidental-engraver.cc | 6 ++-- lily/accidental-placement.cc | 1 + lily/completion-note-heads-engraver.cc | 2 +- lily/new-fingering-engraver.cc | 3 ++ lily/note-heads-engraver.cc | 1 - lily/parser.yy | 14 ++++---- lily/rhythmic-head.cc | 4 --- lily/separating-group-spanner.cc | 6 ++-- lily/separation-item.cc | 11 +++--- scm/define-grob-properties.scm | 2 +- scm/define-translator-properties.scm | 46 +++++++++++++------------- scm/document-backend.scm | 26 ++------------- scm/documentation-lib.scm | 4 +-- 17 files changed, 69 insertions(+), 78 deletions(-) diff --git a/ChangeLog b/ChangeLog index f6b854a8c8..97b9e74066 100644 --- a/ChangeLog +++ b/ChangeLog @@ -4,6 +4,12 @@ 2004-02-14 Han-Wen Nienhuys + * lily/accidental-engraver.cc (acknowledge_grob): don't make + accidentals for harmonic notes + + * lily/new-fingering-engraver.cc (acknowledge_grob): kill dots, + for harmonic notes. + * scm/document-backend.scm (interface-doc): prune Grob documentation: don't duplicate interface information. diff --git a/Documentation/topdocs/NEWS.texi b/Documentation/topdocs/NEWS.texi index 2e43336150..349eebd549 100644 --- a/Documentation/topdocs/NEWS.texi +++ b/Documentation/topdocs/NEWS.texi @@ -18,6 +18,8 @@ Version 2.1.13 @itemize @bullet +@item The program reference has been cleaned up and revised. + @item The syntax for setting properties has been simplified: the following table lists the differences: diff --git a/input/regression/note-head-harmonic.ly b/input/regression/note-head-harmonic.ly index e30d0eb719..11f5bacdaa 100644 --- a/input/regression/note-head-harmonic.ly +++ b/input/regression/note-head-harmonic.ly @@ -1,16 +1,19 @@ \header { texidoc = " The handling of stems for harmonic notes must be - completely identical to normal note heads." + completely identical to normal note heads. + + Harmonic heads do not get accidentals or dots." } \version "2.1.22" \score { \notes { - < c'' f''\harmonic >4 + < c'' f''\harmonic >4 \stemUp - < c'' f''\harmonic > + < c'' f''\harmonic >4. + < cis'' fis''\harmonic >8 } \paper { diff --git a/input/test/staff-size.ly b/input/test/staff-size.ly index a8a4159b10..efab3b2856 100644 --- a/input/test/staff-size.ly +++ b/input/test/staff-size.ly @@ -1,4 +1,4 @@ -\version "2.1.22" +\version "2.1.23" \header { texidoc = "@cindex Staff Size @@ -14,7 +14,7 @@ must be set." } \new Staff \with { fontSize = #-1 - StaffSymbol \set #'staff-space = #(magstep -1) + \override StaffSymbol #'staff-space = #(magstep -1) } { \clef bass c8 c c c c c c c diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index 770eaa0246..e20730bb99 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -427,8 +427,10 @@ Accidental_engraver::acknowledge_grob (Grob_info info) Music * note = info.music_cause (); if (note - && note->is_mus_type("note-event") - && Rhythmic_head::has_interface (info.grob_)) + && note->is_mus_type ("note-event") + && Rhythmic_head::has_interface (info.grob_) + && !gh_equal_p (info.grob_->get_grob_property ("style"), ly_symbol2scm ("harmonic")) + ) { Accidental_entry entry ; entry.head_ = info.grob_; diff --git a/lily/accidental-placement.cc b/lily/accidental-placement.cc index 10ebcbc66d..e9d0817695 100644 --- a/lily/accidental-placement.cc +++ b/lily/accidental-placement.cc @@ -9,6 +9,7 @@ source file of the GNU LilyPond music typesetter #include #include + #include "item.hh" #include "skyline.hh" #include "music.hh" diff --git a/lily/completion-note-heads-engraver.cc b/lily/completion-note-heads-engraver.cc index 1669e9a39f..93f3a60604 100644 --- a/lily/completion-note-heads-engraver.cc +++ b/lily/completion-note-heads-engraver.cc @@ -32,7 +32,7 @@ We copy the reqs into scratch note reqs, to make sure that we get all durations exactly right. - */ +*/ class Completion_heads_engraver : public Engraver { diff --git a/lily/new-fingering-engraver.cc b/lily/new-fingering-engraver.cc index 7fc5779d53..35e7e3328e 100644 --- a/lily/new-fingering-engraver.cc +++ b/lily/new-fingering-engraver.cc @@ -90,6 +90,9 @@ New_fingering_engraver::acknowledge_grob (Grob_info inf) else if (m->is_mus_type ("harmonic-event")) { inf.grob_->set_grob_property ("style", ly_symbol2scm ("harmonic")); + Grob * d = unsmob_grob (inf.grob_->get_grob_property ("dot")); + if (d) + d->suicide (); } } diff --git a/lily/note-heads-engraver.cc b/lily/note-heads-engraver.cc index b3ab068c3f..6a10e3e4c8 100644 --- a/lily/note-heads-engraver.cc +++ b/lily/note-heads-engraver.cc @@ -64,7 +64,6 @@ Note_heads_engraver::process_music () Duration dur = *unsmob_duration (req->get_mus_property ("duration")); note->set_grob_property ("duration-log", gh_int2scm (dur.duration_log ())); - if (dur.dot_count ()) { Item * d = make_item ("Dots"); diff --git a/lily/parser.yy b/lily/parser.yy index 06aa057bf8..9f0096c2f5 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -1181,13 +1181,6 @@ music_property_def: $3, $5, SCM_UNDEFINED)); $$= context_spec_music (gh_car ($2), SCM_UNDEFINED, $$, SCM_EOL); } - | SET context_prop_spec '=' scalar { - $$ = property_op_to_music (scm_list_n ( - ly_symbol2scm ("assign"), - gh_cadr ($2), - $4, SCM_UNDEFINED)); - $$= context_spec_music (gh_car ($2), SCM_UNDEFINED, $$, SCM_EOL); - } | REVERT context_prop_spec embedded_scm { $$ = property_op_to_music (scm_list_n ( ly_symbol2scm ("pop"), @@ -1196,6 +1189,13 @@ music_property_def: $$= context_spec_music (gh_car ($2), SCM_UNDEFINED, $$, SCM_EOL); } + | SET context_prop_spec '=' scalar { + $$ = property_op_to_music (scm_list_n ( + ly_symbol2scm ("assign"), + gh_cadr ($2), + $4, SCM_UNDEFINED)); + $$= context_spec_music (gh_car ($2), SCM_UNDEFINED, $$, SCM_EOL); + } | UNSET context_prop_spec { $$ = property_op_to_music (scm_list_n ( ly_symbol2scm ("unset"), diff --git a/lily/rhythmic-head.cc b/lily/rhythmic-head.cc index 977777f98b..e887235cbf 100644 --- a/lily/rhythmic-head.cc +++ b/lily/rhythmic-head.cc @@ -41,8 +41,6 @@ Rhythmic_head::set_dots (Grob*me,Item *dot) me->set_grob_property ("dot", dot->self_scm ()); } - - int Rhythmic_head::duration_log (Grob*me) { @@ -50,8 +48,6 @@ Rhythmic_head::duration_log (Grob*me) return gh_number_p (s) ? gh_scm2int (s) : 0; } - - ADD_INTERFACE (Rhythmic_head,"rhythmic-head-interface", "Note head or rest", "dot stem duration-log"); diff --git a/lily/separating-group-spanner.cc b/lily/separating-group-spanner.cc index 92d9cc236d..38806f5d14 100644 --- a/lily/separating-group-spanner.cc +++ b/lily/separating-group-spanner.cc @@ -117,6 +117,6 @@ Separating_group_spanner::add_spacing_unit (Grob* me ,Item*i) ADD_INTERFACE (Separating_group_spanner,"separation-spanner-interface", - "A spanner that calculates spacing constraints (\"rods\") " - "using the @code{separation-item-interface} grobs in @code{elements}.", - "elements padding"); + "A spanner that calculates spacing constraints (\"rods\") " + "using the @code{separation-item-interface} grobs in @code{elements}.", + "elements padding"); diff --git a/lily/separation-item.cc b/lily/separation-item.cc index b3e7c8a368..34f3855ebc 100644 --- a/lily/separation-item.cc +++ b/lily/separation-item.cc @@ -167,8 +167,9 @@ Separation_item::extremal_break_aligned_grob (Grob *separation_item, Direction d ADD_INTERFACE (Separation_item,"separation-item-interface", - "Item that computes widths to generate spacing rods.\n" -"\n" -"Calculate dimensions for the Separating_group_spanner; this has to be " -"an item to get dependencies correct. " -, "padding X-extent conditional-elements elements"); + "Item that computes widths to generate spacing rods. " + "This is done in concert with @ref{separation-spanner-interface}." + + , + + "padding X-extent conditional-elements elements"); diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm index 350049fdc0..b56727186c 100644 --- a/scm/define-grob-properties.scm +++ b/scm/define-grob-properties.scm @@ -171,7 +171,7 @@ line).") (dashed ,number? " number representing the length of the dashes.") (neutral-direction ,ly:dir? "Where to go if we're on the neutral -position of the staff (see also grob-property neutral-position).") +position of the staff.") ;; todo: why is this tunable? (neutral-position ,number? "Position (in half staff spaces) where diff --git a/scm/define-translator-properties.scm b/scm/define-translator-properties.scm index 11411f4f12..a6cd485be2 100644 --- a/scm/define-translator-properties.scm +++ b/scm/define-translator-properties.scm @@ -397,28 +397,28 @@ Valid values are described in @internalsref{bar-line-interface}. whether a melisma is active. This can be used to signal melismas on top of those automatically detected. ") (graceSettings ,vector? - "Overrides for grace notes. This -property should be manipulated through the @code{add-grace-property} -function.") - (currentCommandColumn ,ly:grob? "Grob that is X-parent to all current breakable (clef, key signature, etc.) items.") - (currentMusicalColumn ,ly:grob? "Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).") + "Overrides for grace notes. This property should +be manipulated through the @code{add-grace-property} function.") + (currentCommandColumn ,ly:grob? "Grob that is X-parent to all +current breakable (clef, key signature, etc.) items.") + (currentMusicalColumn ,ly:grob? "Grob that is X-parent to all +non-breakable items (note heads, lyrics, etc.).") (breakableSeparationItem ,ly:grob? - "The breakable items in this time step, for this staff.") + "The breakable items in this time step, +for this staff.") (localKeySignature ,list? "the key signature at this point in the -measure. The format is the same as for keySignature, but can also contain -((OCTAVE . NAME) . (ALTER . BARNUMBER)) pairs. It is reset at every -bar line. -" ) +measure. The format is the same as for keySignature, but can also +contain ((@var{octave} . @var{name}) . (@var{alter} . @var{barnumber})) +pairs. It is reset at every bar line." ) - (localKeySignatureChanges ,list? "Experimental. - [DOCME]") + (localKeySignatureChanges ,list? "Experimental. [DOCME]") (finalizations ,list? "List of expressions to evaluate before proceeding to next time step. Internal variable.") - (busyGrobs ,list? " -a queue of (END-MOMENT . GROB) conses. This is for internal (C++) use only. -This property contains the grobs which are still busy (eg. noteheads, spanners, etc.) + (busyGrobs ,list? "a queue of (@var{end-moment} . @var{GROB}) +conses. This is for internal (C++) use only. This property contains +the grobs which are still busy (eg. noteheads, spanners, etc.) ") (barCheckLastFail ,ly:moment? "Where in the measurze did the last barcheck fail?") (associatedVoiceContext ,ly:context? "The context object of the Voice that has the melody for this Lyrics.") @@ -429,17 +429,17 @@ variable: store table with MusicName to Engraver entries.") context.") (beamMelismaBusy ,boolean? "Signal if a beam is present.") -(dynamicAbsoluteVolumeFunction ,procedure? "[DOCUMENT-ME] -") + (dynamicAbsoluteVolumeFunction ,procedure? "[DOCUMENT-ME]") -(lastKeySignature ,list? "Last key -signature before a key signature change.") + (lastKeySignature ,list? "Last key signature before a key +signature change.") -(scriptDefinitions ,list? " -Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See @file{scm/script.scm} for more information + (scriptDefinitions ,list? "Description of scripts. This is used by +Script_engraver for typesetting note-super/subscripts. See +@file{scm/script.scm} for more information ") -(stavesFound ,grob-list? "list of all staff-symbols found.") -(tieMelismaBusy ,boolean? "Signal whether a tie is present.") + (stavesFound ,grob-list? "list of all staff-symbols found.") + (tieMelismaBusy ,boolean? "Signal whether a tie is present.") ) )) diff --git a/scm/document-backend.scm b/scm/document-backend.scm index 484c65eace..325985dd22 100644 --- a/scm/document-backend.scm +++ b/scm/document-backend.scm @@ -6,28 +6,6 @@ ;;; Jan Nieuwenhuizen -;;; This file generates documentation for the backend of lilypond. - -;; alist of property descriptions - -;; -" -TODO: - - -Grob bla - -Created by: - - * preset properties + explanation - -Interfaces: - - * properties available. - -" - - (define (interface-doc-string interface grob-description) (let* ((name (car interface)) @@ -210,9 +188,9 @@ node." (make #:name "User backend properties" #:desc "All tunable properties in a big list" - #:text (backend-properties-doc-string all-internal-grob-properties)) + #:text (backend-properties-doc-string all-user-grob-properties)) (make #:name "Internal backend properties" #:desc "All internal layout properties in a big list" - #:text (backend-properties-doc-string all-user-grob-properties)) + #:text (backend-properties-doc-string all-internal-grob-properties)) ))) diff --git a/scm/documentation-lib.scm b/scm/documentation-lib.scm index e0b056205a..14677006ce 100644 --- a/scm/documentation-lib.scm +++ b/scm/documentation-lib.scm @@ -206,9 +206,9 @@ with init values from ALIST (1st optional argument) "(" typename ")" (if handle (string-append - ":\n\n @code{" + ":\n\n" (scm->texi (cdr handle)) - "}\n\n") + "\n\n") "") -- 2.39.5