From bbf39f1dd5a6500ce5b9033d55ea625f03084fdd Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Mon, 9 Oct 2006 12:41:36 +0000 Subject: [PATCH] * scm/define-grob-interfaces.scm (trill-pitch-accidental-interface): add trill-pitch-accidental-interface * lily/dots-engraver.cc (acknowledge_rhythmic_head): only dereference if it's really a duration. * scm/define-grobs.scm (all-grob-descriptions): set allow-loose-spacing for PaperColumn and NonMusicalPaperColumn. Kludge for #110. * lily/spacing-determine-loose-columns.cc (is_loose_column): allow-loose-spacing property. --- ChangeLog | 7 +++++++ lily/dots-engraver.cc | 7 +++++-- lily/pitched-trill-engraver.cc | 1 + scm/define-grob-interfaces.scm | 5 +++++ scm/define-grobs.scm | 1 + 5 files changed, 19 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index f9d9cb6c3b..000ed28ca8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2006-10-09 Han-Wen Nienhuys + * scm/define-grob-interfaces.scm + (trill-pitch-accidental-interface): + add trill-pitch-accidental-interface + + * lily/dots-engraver.cc (acknowledge_rhythmic_head): only + dereference if it's really a duration. + * lily/figured-bass-engraver.cc (process_music): clear spanner if useBassFigureExtenders is not set. (listen_bass_figure): record as new event if diff --git a/lily/dots-engraver.cc b/lily/dots-engraver.cc index 1b34354e43..cb39fc0a80 100644 --- a/lily/dots-engraver.cc +++ b/lily/dots-engraver.cc @@ -37,11 +37,14 @@ Dots_engraver::acknowledge_rhythmic_head (Grob_info gi) if (unsmob_grob (note->get_object ("dot"))) return; - Duration dur = *unsmob_duration (cause->get_property ("duration")); - if (dur.dot_count ()) + + Duration *dur = unsmob_duration (cause->get_property ("duration")); + if (dur && dur->dot_count ()) { Item *d = make_item ("Dots", note->self_scm ()); Rhythmic_head::set_dots (note, d); + + d->set_property ("dot-count", scm_from_int (dur->dot_count ())); d->set_parent (note, Y_AXIS); } } diff --git a/lily/pitched-trill-engraver.cc b/lily/pitched-trill-engraver.cc index 71913d2bb9..84e99f0039 100644 --- a/lily/pitched-trill-engraver.cc +++ b/lily/pitched-trill-engraver.cc @@ -112,6 +112,7 @@ Pitched_trill_engraver::make_trill (Stream_event *ev) // fixme: naming -> alterations trill_accidental_->set_property ("accidentals", scm_list_1 (scm_from_int (p->get_alteration ()))); Side_position_interface::add_support (trill_accidental_, trill_head_); + trill_head_->set_object ("accidental-grob", trill_accidental_->self_scm ()); trill_accidental_->set_parent (trill_head_, Y_AXIS); Axis_group_interface::add_element (trill_group_, trill_accidental_); diff --git a/scm/define-grob-interfaces.scm b/scm/define-grob-interfaces.scm index 5876ae40e9..59ff1593a7 100644 --- a/scm/define-grob-interfaces.scm +++ b/scm/define-grob-interfaces.scm @@ -117,6 +117,11 @@ "A note head to indicate trill pitches" '(accidental-grob)) +(ly:add-interface + 'trill-pitch-accidental-interface + "An accidental for trill pitch" + '(accidentals)) + (ly:add-interface 'rhythmic-grob-interface "Any object with a rhythmic basis. Used to determine which grobs diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index be8462be0a..7e633bc126 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -1780,6 +1780,7 @@ (stencil . ,ly:accidental-interface::print) (meta . ((class . Item) (interfaces . (item-interface + trill-pitch-accidental-interface side-position-interface font-interface)))))) -- 2.39.5