From 9a63326816f586dd79d326776583697f95203330 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Tue, 24 Aug 2010 15:22:31 +0200 Subject: [PATCH] Metronome-mark: Neil's comments[2]; more cleanups. * use get_property instead of get_property_data * check for list_p before blindy using scm_member * remove metronome-mark and break-aligned-interface --- lily/metronome-engraver.cc | 21 +++++++++++++-------- scm/define-grobs.scm | 8 ++------ 2 files changed, 15 insertions(+), 14 deletions(-) diff --git a/lily/metronome-engraver.cc b/lily/metronome-engraver.cc index 10935953f9..7eaf3145ad 100644 --- a/lily/metronome-engraver.cc +++ b/lily/metronome-engraver.cc @@ -73,20 +73,26 @@ Metronome_mark_engraver::derived_mark () const scm_gc_mark (last_text_); } +static bool +safe_is_member (SCM scm, SCM lst) +{ + return scm_list_p (lst) == SCM_BOOL_T + && scm_member (scm, lst) != SCM_BOOL_F; +} + void Metronome_mark_engraver::acknowledge_break_aligned (Grob_info info) { Grob *g = info.grob (); if (text_ - && g->get_property_data ("break-align-symbol") + && g->get_property ("break-align-symbol") == ly_symbol2scm ("staff-bar")) bar_ = g; else if (text_ && !support_ - && scm_member (g->get_property_data ("break-align-symbol"), - text_->get_property_data ("break-align-symbols")) - != SCM_BOOL_F) + && safe_is_member (g->get_property ("break-align-symbol"), + text_->get_property ("break-align-symbols"))) { support_ = g; text_->set_parent (g, X_AXIS); @@ -108,10 +114,9 @@ Metronome_mark_engraver::acknowledge_grob (Grob_info info) Grob *g = info.grob (); if (text_ - && scm_member (grob_name_scm (g), - text_->get_property_data ("non-break-align-symbols")) - != SCM_BOOL_F) - text_->set_parent (g, X_AXIS); + && safe_is_member (grob_name_scm (g), + text_->get_property ("non-break-align-symbols"))) + text_->set_parent (g, X_AXIS); } void diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 8a7689a6a6..38bd6eb630 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -430,7 +430,6 @@ key-cancellation key-signature time-signature - metronome-mark custos) ;; unbroken @@ -443,7 +442,6 @@ key-cancellation key-signature time-signature - metronome-mark custos) ;; begin of line @@ -456,7 +454,6 @@ key-signature staff-bar time-signature - metronome-mark custos))) (non-musical . #t) (positioning-done . ,ly:break-alignment-interface::calc-positioning-done) @@ -1173,12 +1170,11 @@ ,(ly:make-simple-closure (list ly:self-alignment-interface::x-aligned-on-self))))) (self-alignment-X . ,LEFT) - (break-align-symbol . metronome-mark) - (break-align-symbols . (key-signature time-signature metronome-mark)) + (break-align-symbols . (key-signature time-signature)) (non-break-align-symbols . (multi-measure-rest)) + (non-musical . #t) (meta . ((class . Item) (interfaces . (break-alignable-interface - break-aligned-interface font-interface metronome-mark-interface self-alignment-interface -- 2.39.2