X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Ffigured-bass-engraver.cc;h=8a06ea3a1b8471ef5fcfee3ab3229d25e1f3c3ee;hb=5b4b0d6e9a197e8f9eb085b7c2ad78b8be3e5cfc;hp=32ad86a9eb7592fa42c428ee857f4a6d8399802c;hpb=41e45dd730c075e78065dfa78e5e54be664d905e;p=lilypond.git diff --git a/lily/figured-bass-engraver.cc b/lily/figured-bass-engraver.cc index 32ad86a9eb..8a06ea3a1b 100644 --- a/lily/figured-bass-engraver.cc +++ b/lily/figured-bass-engraver.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2005--2007 Han-Wen Nienhuys + (c) 2005--2008 Han-Wen Nienhuys */ @@ -28,6 +28,9 @@ struct Figure_group SCM number_; SCM alteration_; + SCM augmented_; + SCM diminished_; + SCM augmented_slash_; Item *figure_item_; Stream_event *current_event_; @@ -40,6 +43,9 @@ struct Figure_group continuation_line_ = 0; number_ = SCM_EOL; alteration_ = SCM_EOL; + augmented_ = SCM_EOL; + diminished_ = SCM_EOL; + augmented_slash_ = SCM_EOL; group_ = 0; current_event_ = 0; } @@ -51,7 +57,13 @@ struct Figure_group && ly_is_equal (number_, current_event_->get_property ("figure")) && ly_is_equal (alteration_, - current_event_->get_property ("alteration")); + current_event_->get_property ("alteration")) + && ly_is_equal (augmented_, + current_event_->get_property ("augmented")) + && ly_is_equal (diminished_, + current_event_->get_property ("diminished")) + && ly_is_equal (augmented_slash_, + current_event_->get_property ("augmented-slash")); } }; @@ -91,6 +103,9 @@ Figured_bass_engraver::derived_mark () const { scm_gc_mark (groups_[i].number_); scm_gc_mark (groups_[i].alteration_); + scm_gc_mark (groups_[i].augmented_); + scm_gc_mark (groups_[i].diminished_); + scm_gc_mark (groups_[i].augmented_slash_); } } @@ -348,6 +363,9 @@ Figured_bass_engraver::process_music () { groups_[i].number_ = SCM_BOOL_F; groups_[i].alteration_ = SCM_BOOL_F; + groups_[i].augmented_ = SCM_BOOL_F; + groups_[i].diminished_ = SCM_BOOL_F; + groups_[i].augmented_slash_ = SCM_BOOL_F; } } @@ -362,7 +380,8 @@ Figured_bass_engraver::process_music () { if (!group.continuation_line_) { - Spanner * line = make_spanner ("BassFigureContinuation", SCM_EOL); + Spanner * line + = make_spanner ("BassFigureContinuation", SCM_EOL); Item * item = group.figure_item_; group.continuation_line_ = line; line->set_bound (LEFT, item); @@ -412,7 +431,8 @@ Figured_bass_engraver::process_music () void Figured_bass_engraver::create_grobs () { - Grob *muscol = dynamic_cast (unsmob_grob (get_property ("currentMusicalColumn"))); + Grob *muscol + = dynamic_cast (unsmob_grob (get_property ("currentMusicalColumn"))); if (!alignment_) { alignment_ = make_spanner ("BassFigureAlignment", SCM_EOL); @@ -449,6 +469,9 @@ Figured_bass_engraver::create_grobs () group.number_ = fig; group.alteration_ = group.current_event_->get_property ("alteration"); + group.augmented_ = group.current_event_->get_property ("augmented"); + group.diminished_ = group.current_event_->get_property ("diminished"); + group.augmented_slash_ = group.current_event_->get_property ("augmented-slash"); SCM text = group.current_event_->get_property ("text"); if (!Text_interface::is_markup (text)