From: Han-Wen Nienhuys Date: Sun, 8 May 2005 23:30:51 +0000 (+0000) Subject: * lily/include/grob-info.hh (class Grob_info): make data member X-Git-Tag: release/2.5.24~42 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=02c656d3b0cb895cc81b428d699d960746800e45;p=lilypond.git * lily/include/grob-info.hh (class Grob_info): make data member private. Changes throughout. * lily/vertical-align-engraver.cc (acknowledge_grob): read alignAboveContext and alignBelowContext --- diff --git a/ChangeLog b/ChangeLog index 141a16a40f..988738e479 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2005-05-09 Han-Wen Nienhuys + * lily/include/grob-info.hh (class Grob_info): make data member + private. Changes throughout. + * input/regression/alignment-order.ly: new file. * lily/vertical-align-engraver.cc (acknowledge_grob): read diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index 8a47a9cae1..259e340d04 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -483,15 +483,15 @@ Accidental_engraver::acknowledge_grob (Grob_info info) if (note && note->is_mus_type ("note-event") - && Rhythmic_head::has_interface (info.grob_)) + && Rhythmic_head::has_interface (info.grob ())) { if (to_boolean (get_property ("harmonicAccidentals")) - || !ly_c_equal_p (info.grob_->get_property ("style"), + || !ly_c_equal_p (info.grob ()->get_property ("style"), ly_symbol2scm ("harmonic"))) { Accidental_entry entry; - entry.head_ = info.grob_; + entry.head_ = info.grob (); entry.origin_trans_ = dynamic_cast (info.origin_translator ()); entry.origin_ = entry.origin_trans_->context (); entry.melodic_ = note; @@ -499,13 +499,13 @@ Accidental_engraver::acknowledge_grob (Grob_info info) accidentals_.push (entry); } } - else if (Tie::has_interface (info.grob_)) - ties_.push (dynamic_cast (info.grob_)); - else if (Arpeggio::has_interface (info.grob_)) - left_objects_.push (info.grob_); - else if (info.grob_ + else if (Tie::has_interface (info.grob ())) + ties_.push (dynamic_cast (info.grob ())); + else if (Arpeggio::has_interface (info.grob ())) + left_objects_.push (info.grob ()); + else if (info.grob () ->internal_has_interface (ly_symbol2scm ("finger-interface"))) - left_objects_.push (info.grob_); + left_objects_.push (info.grob ()); } void diff --git a/lily/ambitus-engraver.cc b/lily/ambitus-engraver.cc index 12402a3100..f48668e755 100644 --- a/lily/ambitus-engraver.cc +++ b/lily/ambitus-engraver.cc @@ -114,10 +114,10 @@ Ambitus_engraver::stop_translation_timestep () void Ambitus_engraver::acknowledge_grob (Grob_info info) { - Item *item = dynamic_cast (info.grob_); + Item *item = dynamic_cast (info.grob ()); if (item) { - if (Note_head::has_interface (info.grob_)) + if (Note_head::has_interface (info.grob ())) { Music *nr = info.music_cause (); if (nr && nr->is_mus_type ("note-event")) diff --git a/lily/arpeggio-engraver.cc b/lily/arpeggio-engraver.cc index 08682dd674..61dbe54f32 100644 --- a/lily/arpeggio-engraver.cc +++ b/lily/arpeggio-engraver.cc @@ -50,27 +50,27 @@ Arpeggio_engraver::acknowledge_grob (Grob_info info) { if (arpeggio_) { - if (Stem::has_interface (info.grob_)) + if (Stem::has_interface (info.grob ())) { if (!arpeggio_->get_parent (Y_AXIS)) - arpeggio_->set_parent (info.grob_, Y_AXIS); + arpeggio_->set_parent (info.grob (), Y_AXIS); Pointer_group_interface::add_grob (arpeggio_, ly_symbol2scm ("stems"), - info.grob_); + info.grob ()); } /* We can't catch local key items (accidentals) from Voice context, see Local_key_engraver */ - else if (Rhythmic_head::has_interface (info.grob_)) + else if (Rhythmic_head::has_interface (info.grob ())) { - Side_position_interface::add_support (arpeggio_, info.grob_); + Side_position_interface::add_support (arpeggio_, info.grob ()); } - else if (Note_column::has_interface (info.grob_)) + else if (Note_column::has_interface (info.grob ())) { - info.grob_->set_property ("arpeggio", arpeggio_->self_scm ()); + info.grob ()->set_property ("arpeggio", arpeggio_->self_scm ()); } } } diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc index e4d71d0754..a4d8025704 100644 --- a/lily/auto-beam-engraver.cc +++ b/lily/auto-beam-engraver.cc @@ -287,23 +287,23 @@ Auto_beam_engraver::acknowledge_grob (Grob_info info) if (stems_) { - if (Beam::has_interface (info.grob_)) + if (Beam::has_interface (info.grob ())) { end_beam (); } - else if (Bar_line::has_interface (info.grob_)) + else if (Bar_line::has_interface (info.grob ())) { end_beam (); } - else if (Rest::has_interface (info.grob_)) + else if (Rest::has_interface (info.grob ())) { end_beam (); } } - if (Stem::has_interface (info.grob_)) + if (Stem::has_interface (info.grob ())) { - Item *stem = dynamic_cast (info.grob_); + Item *stem = dynamic_cast (info.grob ()); Music *m = info.music_cause (); if (!m->is_mus_type ("rhythmic-event")) { diff --git a/lily/axis-group-engraver.cc b/lily/axis-group-engraver.cc index 6d74ade67c..eac9299877 100644 --- a/lily/axis-group-engraver.cc +++ b/lily/axis-group-engraver.cc @@ -89,7 +89,7 @@ Axis_group_engraver::finalize () void Axis_group_engraver::acknowledge_grob (Grob_info i) { - elts_.push (i.grob_); + elts_.push (i.grob ()); } /* @@ -191,8 +191,8 @@ Hara_kiri_engraver::acknowledge_grob (Grob_info i) { for (SCM s = interesting_; scm_is_pair (s); s = scm_cdr (s)) { - if (i.grob_->internal_has_interface (scm_car (s))) - Hara_kiri_group_spanner::add_interesting_item (staffline_, i.grob_); + if (i.grob ()->internal_has_interface (scm_car (s))) + Hara_kiri_group_spanner::add_interesting_item (staffline_, i.grob ()); } } } diff --git a/lily/bar-number-engraver.cc b/lily/bar-number-engraver.cc index 4e9cc302f7..b694089094 100644 --- a/lily/bar-number-engraver.cc +++ b/lily/bar-number-engraver.cc @@ -64,7 +64,7 @@ Bar_number_engraver::Bar_number_engraver () void Bar_number_engraver::acknowledge_grob (Grob_info inf) { - Grob *s = inf.grob_; + Grob *s = inf.grob (); if (text_ && dynamic_cast (s) && s->get_property ("break-align-symbol") == ly_symbol2scm ("left-edge")) diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index 7e3a898dd3..917d2db3c1 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -217,18 +217,18 @@ Beam_engraver::acknowledge_grob (Grob_info info) { if (beam_) { - if (Rest::has_interface (info.grob_)) + if (Rest::has_interface (info.grob ())) { - info.grob_->add_offset_callback (Beam::rest_collision_callback_proc, Y_AXIS); + info.grob ()->add_offset_callback (Beam::rest_collision_callback_proc, Y_AXIS); } - else if (Stem::has_interface (info.grob_)) + else if (Stem::has_interface (info.grob ())) { Moment now = now_mom (); if (!valid_start_point ()) return; - Item *stem = dynamic_cast (info.grob_); + Item *stem = dynamic_cast (info.grob ()); if (Stem::get_beam (stem)) return; diff --git a/lily/break-align-engraver.cc b/lily/break-align-engraver.cc index a9787ef377..2897a1aaa8 100644 --- a/lily/break-align-engraver.cc +++ b/lily/break-align-engraver.cc @@ -67,7 +67,7 @@ Break_align_engraver::derived_mark () const void Break_align_engraver::acknowledge_grob (Grob_info inf) { - if (Item *item = dynamic_cast (inf.grob_)) + if (Item *item = dynamic_cast (inf.grob ())) { /* Removed check for item->empty (X_AXIS). --hwn 20/1/04 diff --git a/lily/chord-tremolo-engraver.cc b/lily/chord-tremolo-engraver.cc index 50d4e382cd..363d756537 100644 --- a/lily/chord-tremolo-engraver.cc +++ b/lily/chord-tremolo-engraver.cc @@ -142,9 +142,9 @@ Chord_tremolo_engraver::typeset_beam () void Chord_tremolo_engraver::acknowledge_grob (Grob_info info) { - if (beam_ && Stem::has_interface (info.grob_)) + if (beam_ && Stem::has_interface (info.grob ())) { - Grob *s = info.grob_; + Grob *s = info.grob (); if (start_mom_ == now_mom ()) Stem::set_beaming (s, flags_, RIGHT); @@ -170,14 +170,14 @@ Chord_tremolo_engraver::acknowledge_grob (Grob_info info) } } else if (repeat_ - && flags_ && !body_is_sequential_ && Stem::has_interface (info.grob_)) + && flags_ && !body_is_sequential_ && Stem::has_interface (info.grob ())) { stem_tremolo_ = make_item ("StemTremolo", repeat_->self_scm ()); stem_tremolo_->set_property ("flag-count", scm_int2num (flags_)); stem_tremolo_->set_property ("stem", - info.grob_->self_scm ()); - stem_tremolo_->set_parent (info.grob_, X_AXIS); + info.grob ()->self_scm ()); + stem_tremolo_->set_parent (info.grob (), X_AXIS); } } diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index bed486a45e..e7a0d00304 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -71,10 +71,10 @@ Clef_engraver::set_glyph () void Clef_engraver::acknowledge_grob (Grob_info info) { - Item *item = dynamic_cast (info.grob_); + Item *item = dynamic_cast (info.grob ()); if (item) { - if (Bar_line::has_interface (info.grob_) + if (Bar_line::has_interface (info.grob ()) && scm_is_string (get_property ("clefGlyph"))) create_clef (); } diff --git a/lily/cluster-engraver.cc b/lily/cluster-engraver.cc index c6ea93dc86..565754199e 100644 --- a/lily/cluster-engraver.cc +++ b/lily/cluster-engraver.cc @@ -117,7 +117,7 @@ Cluster_spanner_engraver::stop_translation_timestep () void Cluster_spanner_engraver::acknowledge_grob (Grob_info info) { - if (!beacon_ && Note_column::has_interface (info.grob_)) + if (!beacon_ && Note_column::has_interface (info.grob ())) { finished_spanner_ = spanner_; spanner_ = 0; diff --git a/lily/coherent-ligature-engraver.cc b/lily/coherent-ligature-engraver.cc index 71995b18bb..0ed1405afa 100644 --- a/lily/coherent-ligature-engraver.cc +++ b/lily/coherent-ligature-engraver.cc @@ -177,7 +177,7 @@ compute_delta_pitches (Array primitives) Item *prev_primitive = 0, *primitive = 0; for (int i = 0; i < primitives.size (); i++) { - primitive = dynamic_cast (primitives[i].grob_); + primitive = dynamic_cast (primitives[i].grob ()); Music *music_cause = primitives[i].music_cause (); int pitch = unsmob_pitch (music_cause->get_property ("pitch"))->steps (); diff --git a/lily/collision-engraver.cc b/lily/collision-engraver.cc index 13edfdd486..66813fb37c 100644 --- a/lily/collision-engraver.cc +++ b/lily/collision-engraver.cc @@ -42,13 +42,13 @@ Collision_engraver::process_acknowledged_grobs () void Collision_engraver::acknowledge_grob (Grob_info i) { - if (Note_column::has_interface (i.grob_)) + if (Note_column::has_interface (i.grob ())) { /*should check Y axis? */ - if (Note_column::has_rests (i.grob_) || i.grob_->get_parent (X_AXIS)) + if (Note_column::has_rests (i.grob ()) || i.grob ()->get_parent (X_AXIS)) return; - note_columns_.push (i.grob_); + note_columns_.push (i.grob ()); } } diff --git a/lily/custos-engraver.cc b/lily/custos-engraver.cc index 0c5157d599..2e232ea8ca 100644 --- a/lily/custos-engraver.cc +++ b/lily/custos-engraver.cc @@ -62,13 +62,13 @@ Custos_engraver::start_translation_timestep () void Custos_engraver::acknowledge_grob (Grob_info info) { - Item *item = dynamic_cast (info.grob_); + Item *item = dynamic_cast (info.grob ()); if (item) { Music *m = info.music_cause (); - if (Bar_line::has_interface (info.grob_)) + if (Bar_line::has_interface (info.grob ())) custos_permitted = true; - else if (Note_head::has_interface (info.grob_) + else if (Note_head::has_interface (info.grob ()) && m && m->is_mus_type ("note-event")) { diff --git a/lily/dot-column-engraver.cc b/lily/dot-column-engraver.cc index 2bd44f58af..0b1a5b3a85 100644 --- a/lily/dot-column-engraver.cc +++ b/lily/dot-column-engraver.cc @@ -50,7 +50,7 @@ Dot_column_engraver::stop_translation_timestep () void Dot_column_engraver::acknowledge_grob (Grob_info info) { - Grob *d = unsmob_grob (info.grob_->get_property ("dot")); + Grob *d = unsmob_grob (info.grob ()->get_property ("dot")); if (d) { if (!dotcol_) @@ -58,11 +58,11 @@ Dot_column_engraver::acknowledge_grob (Grob_info info) dotcol_ = make_item ("DotColumn", SCM_EOL); } - Dot_column::add_head (dotcol_, info.grob_); + Dot_column::add_head (dotcol_, info.grob ()); } - else if (Stem::has_interface (info.grob_)) + else if (Stem::has_interface (info.grob ())) { - stem_ = info.grob_; + stem_ = info.grob (); } } diff --git a/lily/drum-note-engraver.cc b/lily/drum-note-engraver.cc index c73cbf9791..2d19c7d4bf 100644 --- a/lily/drum-note-engraver.cc +++ b/lily/drum-note-engraver.cc @@ -121,23 +121,23 @@ Drum_notes_engraver::process_music () void Drum_notes_engraver::acknowledge_grob (Grob_info inf) { - if (Stem::has_interface (inf.grob_)) + if (Stem::has_interface (inf.grob ())) { for (int i = 0; i < scripts_.size (); i++) { Grob *e = scripts_[i]; if (to_dir (e->get_property ("side-relative-direction"))) - e->set_property ("direction-source", inf.grob_->self_scm ()); + e->set_property ("direction-source", inf.grob ()->self_scm ()); /* add dep ? */ - e->add_dependency (inf.grob_); - Side_position_interface::add_support (e, inf.grob_); + e->add_dependency (inf.grob ()); + Side_position_interface::add_support (e, inf.grob ()); } } - else if (Note_column::has_interface (inf.grob_)) + else if (Note_column::has_interface (inf.grob ())) { for (int i = 0; i < scripts_.size (); i++) { @@ -146,7 +146,7 @@ Drum_notes_engraver::acknowledge_grob (Grob_info inf) if (!e->get_parent (X_AXIS) && Side_position_interface::get_axis (e) == Y_AXIS) { - e->set_parent (inf.grob_, X_AXIS); + e->set_parent (inf.grob (), X_AXIS); } } } diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index dd7e8ad4fb..843573fdb3 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -368,19 +368,19 @@ Dynamic_engraver::acknowledge_grob (Grob_info info) if (!line_spanner_) return; - if (Note_column::has_interface (info.grob_)) + if (Note_column::has_interface (info.grob ())) { if (line_spanner_ /* Don't refill killed spanner */ && line_spanner_->is_live ()) { - Side_position_interface::add_support (line_spanner_, info.grob_); - add_bound_item (line_spanner_, dynamic_cast (info.grob_)); + Side_position_interface::add_support (line_spanner_, info.grob ()); + add_bound_item (line_spanner_, dynamic_cast (info.grob ())); } if (script_ && !script_->get_parent (X_AXIS)) { - SCM head = scm_last_pair (info.grob_->get_property ("note-heads")); + SCM head = scm_last_pair (info.grob ()->get_property ("note-heads")); if (scm_is_pair (head)) script_->set_parent (unsmob_grob (scm_car (head)), X_AXIS); } @@ -389,20 +389,20 @@ Dynamic_engraver::acknowledge_grob (Grob_info info) { if (!cresc_->get_bound (LEFT)) { - cresc_->set_bound (LEFT, info.grob_); + cresc_->set_bound (LEFT, info.grob ()); add_bound_item (line_spanner_, cresc_->get_bound (LEFT)); } } if (finished_cresc_ && !finished_cresc_->get_bound (RIGHT)) { - finished_cresc_->set_bound (RIGHT, info.grob_); + finished_cresc_->set_bound (RIGHT, info.grob ()); } } - else if (Script_interface::has_interface (info.grob_) && script_) + else if (Script_interface::has_interface (info.grob ()) && script_) { - SCM p = info.grob_->get_property ("script-priority"); + SCM p = info.grob ()->get_property ("script-priority"); /* UGH. @@ -412,7 +412,7 @@ Dynamic_engraver::acknowledge_grob (Grob_info info) if (scm_is_number (p) && scm_to_int (p) < scm_to_int (script_->get_property ("script-priority"))) - Side_position_interface::add_support (line_spanner_, info.grob_); + Side_position_interface::add_support (line_spanner_, info.grob ()); } } diff --git a/lily/engraver-group-engraver.cc b/lily/engraver-group-engraver.cc index 5270d7121c..d68e0579c1 100644 --- a/lily/engraver-group-engraver.cc +++ b/lily/engraver-group-engraver.cc @@ -38,7 +38,7 @@ Engraver_group_engraver::acknowledge_grobs () { Grob_info info = announce_infos_[j]; - SCM meta = info.grob_->internal_get_property (meta_sym); + SCM meta = info.grob ()->internal_get_property (meta_sym); SCM nm = scm_assoc (name_sym, meta); if (scm_is_pair (nm)) nm = scm_cdr (nm); diff --git a/lily/engraver.cc b/lily/engraver.cc index 88985792dc..b7bc326c15 100644 --- a/lily/engraver.cc +++ b/lily/engraver.cc @@ -39,10 +39,7 @@ Engraver::announce_grob (Grob *e, SCM cause) if (unsmob_music (cause) || unsmob_grob (cause)) e->set_property ("cause", cause); - Grob_info i; - i.grob_ = e; - if (!i.origin_trans_) - i.origin_trans_ = this; + Grob_info i (this, e); Engraver *g = get_daddy_engraver (); if (g) diff --git a/lily/extender-engraver.cc b/lily/extender-engraver.cc index 6058843e87..ac03f5c67f 100644 --- a/lily/extender-engraver.cc +++ b/lily/extender-engraver.cc @@ -63,7 +63,7 @@ Extender_engraver::process_music () void Extender_engraver::acknowledge_grob (Grob_info i) { - Item *item = dynamic_cast (i.grob_); + Item *item = dynamic_cast (i.grob ()); if (item && item->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface"))) diff --git a/lily/fingering-engraver.cc b/lily/fingering-engraver.cc index 59570ba4a8..00e468a781 100644 --- a/lily/fingering-engraver.cc +++ b/lily/fingering-engraver.cc @@ -44,21 +44,21 @@ Fingering_engraver::try_music (Music *m) void Fingering_engraver::acknowledge_grob (Grob_info inf) { - if (Stem::has_interface (inf.grob_)) + if (Stem::has_interface (inf.grob ())) { for (int i = 0; i < fingerings_.size (); i++) { - Side_position_interface::add_support (fingerings_[i], inf.grob_); + Side_position_interface::add_support (fingerings_[i], inf.grob ()); } } - else if (Rhythmic_head::has_interface (inf.grob_)) + else if (Rhythmic_head::has_interface (inf.grob ())) { for (int i = 0; i < fingerings_.size (); i++) { Grob *t = fingerings_[i]; - Side_position_interface::add_support (t, inf.grob_); + Side_position_interface::add_support (t, inf.grob ()); if (!t->get_parent (X_AXIS)) - t->set_parent (inf.grob_, X_AXIS); + t->set_parent (inf.grob (), X_AXIS); } } } diff --git a/lily/font-size-engraver.cc b/lily/font-size-engraver.cc index bc372a6a43..d1ac0e634b 100644 --- a/lily/font-size-engraver.cc +++ b/lily/font-size-engraver.cc @@ -37,8 +37,8 @@ Font_size_engraver::acknowledge_grob (Grob_info gi) { Real font_size = scm_to_double (sz); - font_size += robust_scm2double (gi.grob_->get_property ("font-size"), 0); - gi.grob_->set_property ("font-size", scm_make_real (font_size)); + font_size += robust_scm2double (gi.grob ()->get_property ("font-size"), 0); + gi.grob ()->set_property ("font-size", scm_make_real (font_size)); } } diff --git a/lily/glissando-engraver.cc b/lily/glissando-engraver.cc index 21baa4f150..c1288efaf3 100644 --- a/lily/glissando-engraver.cc +++ b/lily/glissando-engraver.cc @@ -61,9 +61,9 @@ Glissando_engraver::process_music () void Glissando_engraver::acknowledge_grob (Grob_info info) { - if (Rhythmic_head::has_interface (info.grob_)) + if (Rhythmic_head::has_interface (info.grob ())) { - Grob *g = info.grob_; + Grob *g = info.grob (); if (line_) line_->set_bound (LEFT, g); diff --git a/lily/gregorian-ligature-engraver.cc b/lily/gregorian-ligature-engraver.cc index d1bd875f67..7af8430ade 100644 --- a/lily/gregorian-ligature-engraver.cc +++ b/lily/gregorian-ligature-engraver.cc @@ -87,7 +87,7 @@ void check_and_fix_all_prefixes (Array primitives) /* Check for illegal head modifier combinations */ for (int i = 0; i < primitives.size (); i++) { - Grob *primitive = primitives[i].grob_; + Grob *primitive = primitives[i].grob (); /* compute head prefix set by inspecting primitive grob properties */ int prefix_set @@ -201,7 +201,7 @@ provide_context_info (Array primitives) int prev_pitch = 0; for (int i = 0; i < primitives.size (); i++) { - Grob *primitive = primitives[i].grob_; + Grob *primitive = primitives[i].grob (); Music *music_cause = primitives[i].music_cause (); int context_info = 0; int pitch = unsmob_pitch (music_cause->get_property ("pitch"))->steps (); diff --git a/lily/grid-line-span-engraver.cc b/lily/grid-line-span-engraver.cc index e138dca2a4..5ad0bed8a0 100644 --- a/lily/grid-line-span-engraver.cc +++ b/lily/grid-line-span-engraver.cc @@ -32,9 +32,9 @@ void Grid_line_span_engraver::acknowledge_grob (Grob_info i) { int depth = i.origin_contexts (this).size (); - if (depth && i.grob_->internal_has_interface (ly_symbol2scm ("grid-point-interface"))) + if (depth && i.grob ()->internal_has_interface (ly_symbol2scm ("grid-point-interface"))) { - Item *it = dynamic_cast (i.grob_); + Item *it = dynamic_cast (i.grob ()); lines_.push (it); if (lines_.size () >= 2 && !spanline_) diff --git a/lily/grob-pq-engraver.cc b/lily/grob-pq-engraver.cc index 10644e7775..542880c184 100644 --- a/lily/grob-pq-engraver.cc +++ b/lily/grob-pq-engraver.cc @@ -49,7 +49,7 @@ Grob_pq_engraver::acknowledge_grob (Grob_info gi) Music *m = gi.music_cause (); if (m - && !gi.grob_->internal_has_interface (ly_symbol2scm ("multi-measure-interface"))) + && !gi.grob ()->internal_has_interface (ly_symbol2scm ("multi-measure-interface"))) { Moment n = now_mom (); Moment l = m->get_length (); @@ -65,7 +65,7 @@ Grob_pq_engraver::acknowledge_grob (Grob_info gi) Moment end = n + l; SCM lst = scm_acons (end.smobbed_copy (), - gi.grob_->self_scm (), + gi.grob ()->self_scm (), SCM_EOL); SCM busy = get_property ("busyGrobs"); diff --git a/lily/horizontal-bracket-engraver.cc b/lily/horizontal-bracket-engraver.cc index 74938b2fa7..2c5f39bbba 100644 --- a/lily/horizontal-bracket-engraver.cc +++ b/lily/horizontal-bracket-engraver.cc @@ -71,15 +71,15 @@ Horizontal_bracket_engraver::try_music (Music *m) void Horizontal_bracket_engraver::acknowledge_grob (Grob_info gi) { - if (Note_column::has_interface (gi.grob_)) + if (Note_column::has_interface (gi.grob ())) { for (int i = 0; i < bracket_stack_.size (); i++) { - Side_position_interface::add_support (bracket_stack_[i], gi.grob_); + Side_position_interface::add_support (bracket_stack_[i], gi.grob ()); Pointer_group_interface::add_grob (bracket_stack_[i], - ly_symbol2scm ("columns"), gi.grob_); + ly_symbol2scm ("columns"), gi.grob ()); add_bound_item (bracket_stack_[i], - gi.grob_); + gi.grob ()); } } } diff --git a/lily/hyphen-engraver.cc b/lily/hyphen-engraver.cc index 2f314f0006..9961258729 100644 --- a/lily/hyphen-engraver.cc +++ b/lily/hyphen-engraver.cc @@ -40,7 +40,7 @@ Hyphen_engraver::Hyphen_engraver () void Hyphen_engraver::acknowledge_grob (Grob_info i) { - Item *item = dynamic_cast (i.grob_); + Item *item = dynamic_cast (i.grob ()); // -> Text_item if (item && item->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface"))) { diff --git a/lily/include/grob-info.hh b/lily/include/grob-info.hh index 06b48ab89b..25b3d71774 100644 --- a/lily/include/grob-info.hh +++ b/lily/include/grob-info.hh @@ -20,11 +20,13 @@ class Grob_info { Translator *origin_trans_; friend class Engraver; + Grob *grob_; public: - Grob *grob_; - Context *context () const; + Grob *grob () const { return grob_; } Translator *origin_translator () const { return origin_trans_; } + + Context *context () const; Music *music_cause (); Link_array origin_contexts (Translator *) const; Grob_info (Translator *, Grob *); diff --git a/lily/instrument-name-engraver.cc b/lily/instrument-name-engraver.cc index 2a20e73fce..34fcca0c22 100644 --- a/lily/instrument-name-engraver.cc +++ b/lily/instrument-name-engraver.cc @@ -78,7 +78,7 @@ Instrument_name_engraver::create_text () void Instrument_name_engraver::acknowledge_grob (Grob_info i) { - if (Bar_line::has_interface (i.grob_)) + if (Bar_line::has_interface (i.grob ())) { create_text (); } @@ -86,9 +86,9 @@ Instrument_name_engraver::acknowledge_grob (Grob_info i) /* Ugh - typechecking for pedal and dynamic sucks. */ - if (dynamic_cast (i.grob_) - && (i.grob_->internal_has_interface (ly_symbol2scm ("dynamic-interface")) - || i.grob_->internal_has_interface (ly_symbol2scm ("piano-pedal-interface")))) + if (dynamic_cast (i.grob ()) + && (i.grob ()->internal_has_interface (ly_symbol2scm ("dynamic-interface")) + || i.grob ()->internal_has_interface (ly_symbol2scm ("piano-pedal-interface")))) return; /* @@ -100,12 +100,12 @@ Instrument_name_engraver::acknowledge_grob (Grob_info i) We could also just use stavesFound, but lets keep this working without staffs as well. */ - if (dynamic_cast (i.grob_) - && ((Axis_group_interface::has_interface (i.grob_) - && Axis_group_interface::has_axis (i.grob_, Y_AXIS))) - && !Align_interface::has_interface (i.grob_)) + if (dynamic_cast (i.grob ()) + && ((Axis_group_interface::has_interface (i.grob ()) + && Axis_group_interface::has_axis (i.grob (), Y_AXIS))) + && !Align_interface::has_interface (i.grob ())) { - SCM nl = scm_cons (i.grob_->self_scm (), + SCM nl = scm_cons (i.grob ()->self_scm (), get_property ("instrumentSupport")); context ()->set_property ("instrumentSupport", nl); diff --git a/lily/key-engraver.cc b/lily/key-engraver.cc index 8a178f02b0..e8ad6ab2b3 100644 --- a/lily/key-engraver.cc +++ b/lily/key-engraver.cc @@ -104,7 +104,7 @@ Key_engraver::try_music (Music *ev) void Key_engraver::acknowledge_grob (Grob_info info) { - if (Clef::has_interface (info.grob_)) + if (Clef::has_interface (info.grob ())) { SCM c = get_property ("createKeyOnClefChange"); if (to_boolean (c)) @@ -112,7 +112,7 @@ Key_engraver::acknowledge_grob (Grob_info info) create_key (false); } } - else if (Bar_line::has_interface (info.grob_) + else if (Bar_line::has_interface (info.grob ()) && scm_is_pair (get_property ("keySignature"))) { create_key (true); diff --git a/lily/ledger-line-engraver.cc b/lily/ledger-line-engraver.cc index c2a8335e6f..c4ebc455d5 100644 --- a/lily/ledger-line-engraver.cc +++ b/lily/ledger-line-engraver.cc @@ -52,9 +52,9 @@ Ledger_line_engraver::finalize () void Ledger_line_engraver::acknowledge_grob (Grob_info s) { - if (!to_boolean (s.grob_->get_property ("no-ledgers"))) + if (!to_boolean (s.grob ()->get_property ("no-ledgers"))) Pointer_group_interface::add_grob (span_, ly_symbol2scm ("note-heads"), - s.grob_); + s.grob ()); } ADD_TRANSLATOR (Ledger_line_engraver, "Creates the spanner to draw ledger lines, and notices objects that need ledger lines", diff --git a/lily/ligature-bracket-engraver.cc b/lily/ligature-bracket-engraver.cc index eec8ff0cfa..9eddeb71da 100644 --- a/lily/ligature-bracket-engraver.cc +++ b/lily/ligature-bracket-engraver.cc @@ -41,10 +41,10 @@ Ligature_bracket_engraver::acknowledge_grob (Grob_info info) { if (current_ligature ()) { - if (Note_column::has_interface (info.grob_)) + if (Note_column::has_interface (info.grob ())) { Tuplet_bracket::add_column (current_ligature (), - dynamic_cast (info.grob_)); + dynamic_cast (info.grob ())); } else Ligature_engraver::acknowledge_grob (info); } diff --git a/lily/ligature-engraver.cc b/lily/ligature-engraver.cc index 609978af4a..70f490e3b4 100644 --- a/lily/ligature-engraver.cc +++ b/lily/ligature-engraver.cc @@ -269,13 +269,13 @@ Ligature_engraver::acknowledge_grob (Grob_info info) { if (ligature_) { - if (Note_head::has_interface (info.grob_)) + if (Note_head::has_interface (info.grob ())) { primitives_.push (info); - info.grob_->set_property ("print-function", + info.grob ()->set_property ("print-function", brew_ligature_primitive_proc); } - if (Rest::has_interface (info.grob_)) + if (Rest::has_interface (info.grob ())) { info.music_cause ()->origin ()->warning (_ ("ignoring rest: ligature may not contain rest")); prev_start_req_->origin ()->warning (_ ("ligature was started here")); diff --git a/lily/mark-engraver.cc b/lily/mark-engraver.cc index 4e843841f9..03748d10b5 100644 --- a/lily/mark-engraver.cc +++ b/lily/mark-engraver.cc @@ -45,7 +45,7 @@ Mark_engraver::Mark_engraver () void Mark_engraver::acknowledge_grob (Grob_info inf) { - Grob *s = inf.grob_; + Grob *s = inf.grob (); if (text_ && Bar_line::has_interface (s)) { /* diff --git a/lily/measure-grouping-engraver.cc b/lily/measure-grouping-engraver.cc index 9ae9fb8183..f44a8b3b5b 100644 --- a/lily/measure-grouping-engraver.cc +++ b/lily/measure-grouping-engraver.cc @@ -41,7 +41,7 @@ Measure_grouping_engraver::acknowledge_grob (Grob_info gi) { if (grouping_) { - Side_position_interface::add_support (grouping_, gi.grob_); + Side_position_interface::add_support (grouping_, gi.grob ()); } } diff --git a/lily/mensural-ligature-engraver.cc b/lily/mensural-ligature-engraver.cc index 12840db59e..59c65531fe 100644 --- a/lily/mensural-ligature-engraver.cc +++ b/lily/mensural-ligature-engraver.cc @@ -87,7 +87,7 @@ Mensural_ligature_engraver::transform_heads (Array primitives) for (int i = 0, s = primitives.size (); i < s; i++) { Grob_info info = primitives[i]; - Item *primitive = dynamic_cast (info.grob_); + Item *primitive = dynamic_cast (info.grob ()); int duration_log = Note_head::get_balltype (primitive); Music *nr = info.music_cause (); @@ -315,7 +315,7 @@ Mensural_ligature_engraver::propagate_properties (Spanner *ligature, for (int i = 0; i < primitives.size (); i++) { - Item *primitive = dynamic_cast (primitives[i].grob_); + Item *primitive = dynamic_cast (primitives[i].grob ()); int output = scm_to_int (primitive->get_property ("primitive")); primitive->set_property ("thickness", scm_make_real (thickness)); @@ -355,7 +355,7 @@ Mensural_ligature_engraver::fold_up_primitives (Array primitives) Real distance = 0; for (int i = 0; i < primitives.size (); i++) { - Item *current = dynamic_cast (primitives[i].grob_); + Item *current = dynamic_cast (primitives[i].grob ()); if (i == 0) { first = current; diff --git a/lily/new-fingering-engraver.cc b/lily/new-fingering-engraver.cc index 728d5643a4..7ae551bd82 100644 --- a/lily/new-fingering-engraver.cc +++ b/lily/new-fingering-engraver.cc @@ -60,7 +60,7 @@ protected: void New_fingering_engraver::acknowledge_grob (Grob_info inf) { - if (Rhythmic_head::has_interface (inf.grob_)) + if (Rhythmic_head::has_interface (inf.grob ())) { Music *note_ev = inf.music_cause (); if (!note_ev) @@ -77,7 +77,7 @@ New_fingering_engraver::acknowledge_grob (Grob_info inf) if (m->is_mus_type ("fingering-event")) { - add_fingering (inf.grob_, m, note_ev); + add_fingering (inf.grob (), m, note_ev); } else if (m->is_mus_type ("text-script-event")) { @@ -85,26 +85,26 @@ New_fingering_engraver::acknowledge_grob (Grob_info inf) } else if (m->is_mus_type ("script-event")) { - add_script (inf.grob_, m, note_ev); + add_script (inf.grob (), m, note_ev); } else if (m->is_mus_type ("string-number-event")) { - add_string (inf.grob_, m, note_ev); + add_string (inf.grob (), m, note_ev); } else if (m->is_mus_type ("harmonic-event")) { - inf.grob_->set_property ("style", ly_symbol2scm ("harmonic")); - Grob *d = unsmob_grob (inf.grob_->get_property ("dot")); + inf.grob ()->set_property ("style", ly_symbol2scm ("harmonic")); + Grob *d = unsmob_grob (inf.grob ()->get_property ("dot")); if (d) d->suicide (); } } - heads_.push (inf.grob_); + heads_.push (inf.grob ()); } - else if (Stem::has_interface (inf.grob_)) + else if (Stem::has_interface (inf.grob ())) { - stem_ = inf.grob_; + stem_ = inf.grob (); } } diff --git a/lily/note-head-line-engraver.cc b/lily/note-head-line-engraver.cc index 12fd61e212..36af9534d2 100644 --- a/lily/note-head-line-engraver.cc +++ b/lily/note-head-line-engraver.cc @@ -50,9 +50,9 @@ Note_head_line_engraver::Note_head_line_engraver () void Note_head_line_engraver::acknowledge_grob (Grob_info info) { - if (Rhythmic_head::has_interface (info.grob_)) + if (Rhythmic_head::has_interface (info.grob ())) { - head_ = info.grob_; + head_ = info.grob (); if (to_boolean (get_property ("followVoice"))) { Context *tr = context (); diff --git a/lily/ottava-engraver.cc b/lily/ottava-engraver.cc index 1975eb0ca7..f4da2e4153 100644 --- a/lily/ottava-engraver.cc +++ b/lily/ottava-engraver.cc @@ -68,8 +68,8 @@ Ottava_spanner_engraver::process_music () void Ottava_spanner_engraver::acknowledge_grob (Grob_info info) { - Item *it = dynamic_cast (info.grob_); - if (span_ && it && Note_column::has_interface (info.grob_)) + Item *it = dynamic_cast (info.grob ()); + if (span_ && it && Note_column::has_interface (info.grob ())) { Side_position_interface::add_support (span_, it); diff --git a/lily/output-property-engraver.cc b/lily/output-property-engraver.cc index dc7207a3ed..c80cc9c051 100644 --- a/lily/output-property-engraver.cc +++ b/lily/output-property-engraver.cc @@ -49,12 +49,12 @@ Output_property_engraver::acknowledge_grob (Grob_info inf) /* should typecheck pred. */ - SCM result = scm_call_1 (pred, inf.grob_->self_scm ()); + SCM result = scm_call_1 (pred, inf.grob ()->self_scm ()); if (to_boolean (result)) { SCM sym = o->get_property ("grob-property"); SCM val = o->get_property ("grob-value"); - inf.grob_->internal_set_property (sym, val); + inf.grob ()->internal_set_property (sym, val); } } else @@ -62,7 +62,7 @@ Output_property_engraver::acknowledge_grob (Grob_info inf) Context * d = inf.context (); SCM proc = o->get_property ("procedure"); scm_call_3 (proc, - inf.grob_->self_scm (), + inf.grob ()->self_scm (), d->self_scm (), context ()->self_scm ()); } diff --git a/lily/part-combine-engraver.cc b/lily/part-combine-engraver.cc index 9e10ff3e12..9bd1a12085 100644 --- a/lily/part-combine-engraver.cc +++ b/lily/part-combine-engraver.cc @@ -70,17 +70,17 @@ Part_combine_engraver::acknowledge_grob (Grob_info i) { if (text_) { - if (Note_head::has_interface (i.grob_)) + if (Note_head::has_interface (i.grob ())) { Grob *t = text_; - Side_position_interface::add_support (t, i.grob_); + Side_position_interface::add_support (t, i.grob ()); if (Side_position_interface::get_axis (t) == X_AXIS && !t->get_parent (Y_AXIS)) - t->set_parent (i.grob_, Y_AXIS); + t->set_parent (i.grob (), Y_AXIS); } - if (Stem::has_interface (i.grob_)) + if (Stem::has_interface (i.grob ())) { - Side_position_interface::add_support (text_, i.grob_); + Side_position_interface::add_support (text_, i.grob ()); } } } diff --git a/lily/phrasing-slur-engraver.cc b/lily/phrasing-slur-engraver.cc index 318e8da6db..5af17ec462 100644 --- a/lily/phrasing-slur-engraver.cc +++ b/lily/phrasing-slur-engraver.cc @@ -70,8 +70,8 @@ Phrasing_slur_engraver::try_music (Music *m) void Phrasing_slur_engraver::acknowledge_grob (Grob_info info) { - Grob *e = info.grob_; - if (Note_column::has_interface (info.grob_)) + Grob *e = info.grob (); + if (Note_column::has_interface (info.grob ())) { for (int i = slurs_.size (); i--;) Slur::add_column (slurs_[i], e); diff --git a/lily/piano-pedal-engraver.cc b/lily/piano-pedal-engraver.cc index eb46d8e433..835d6b1f59 100644 --- a/lily/piano-pedal-engraver.cc +++ b/lily/piano-pedal-engraver.cc @@ -131,17 +131,17 @@ Piano_pedal_engraver::acknowledge_grob (Grob_info info) { for (Pedal_info *p = info_list_; p && p->name_; p++) { - if (Note_column::has_interface (info.grob_)) + if (Note_column::has_interface (info.grob ())) { if (p->line_spanner_) { - Side_position_interface::add_support (p->line_spanner_, info.grob_); - add_bound_item (p->line_spanner_, info.grob_); + Side_position_interface::add_support (p->line_spanner_, info.grob ()); + add_bound_item (p->line_spanner_, info.grob ()); } if (p->bracket_) - add_bound_item (p->bracket_, info.grob_); + add_bound_item (p->bracket_, info.grob ()); if (p->finished_bracket_) - add_bound_item (p->finished_bracket_, info.grob_); + add_bound_item (p->finished_bracket_, info.grob ()); } } } diff --git a/lily/pitch-squash-engraver.cc b/lily/pitch-squash-engraver.cc index 0ccf797d46..870a5a9315 100644 --- a/lily/pitch-squash-engraver.cc +++ b/lily/pitch-squash-engraver.cc @@ -22,9 +22,9 @@ Pitch_squash_engraver::acknowledge_grob (Grob_info i) { SCM newpos = get_property ("squashedPosition"); if (scm_is_number (newpos) - && Note_head::has_interface (i.grob_)) + && Note_head::has_interface (i.grob ())) { - i.grob_->set_property ("staff-position", newpos); + i.grob ()->set_property ("staff-position", newpos); } } diff --git a/lily/rest-collision-engraver.cc b/lily/rest-collision-engraver.cc index 0a1af49d7a..2d718092f0 100644 --- a/lily/rest-collision-engraver.cc +++ b/lily/rest-collision-engraver.cc @@ -49,10 +49,10 @@ Rest_collision_engraver::process_acknowledged_grobs () void Rest_collision_engraver::acknowledge_grob (Grob_info i) { - if (Note_column::has_interface (i.grob_)) + if (Note_column::has_interface (i.grob ())) { - note_columns_.push (i.grob_); - if (Note_column::has_rests (i.grob_)) + note_columns_.push (i.grob ()); + if (Note_column::has_rests (i.grob ())) rest_count_++; } } diff --git a/lily/rhythmic-column-engraver.cc b/lily/rhythmic-column-engraver.cc index f726dc88ab..af4f263aa1 100644 --- a/lily/rhythmic-column-engraver.cc +++ b/lily/rhythmic-column-engraver.cc @@ -113,7 +113,7 @@ Rhythmic_column_engraver::process_acknowledged_grobs () void Rhythmic_column_engraver::acknowledge_grob (Grob_info i) { - Item *item = dynamic_cast (i.grob_); + Item *item = dynamic_cast (i.grob ()); if (!item || item->get_parent (X_AXIS)) return; if (Stem::has_interface (item)) diff --git a/lily/score-engraver.cc b/lily/score-engraver.cc index 0f01110780..08be7890d5 100644 --- a/lily/score-engraver.cc +++ b/lily/score-engraver.cc @@ -149,8 +149,8 @@ void Score_engraver::announce_grob (Grob_info info) { announce_infos_.push (info); - pscore_->root_system ()->typeset_grob (info.grob_); - elems_.push (info.grob_); + pscore_->root_system ()->typeset_grob (info.grob ()); + elems_.push (info.grob ()); } void @@ -268,21 +268,21 @@ Score_engraver::forbid_breaks () void Score_engraver::acknowledge_grob (Grob_info gi) { - if (Staff_spacing::has_interface (gi.grob_)) + if (Staff_spacing::has_interface (gi.grob ())) { Pointer_group_interface::add_grob (command_column_, ly_symbol2scm ("spacing-wishes"), - gi.grob_); + gi.grob ()); } - if (Note_spacing::has_interface (gi.grob_)) + if (Note_spacing::has_interface (gi.grob ())) { Pointer_group_interface::add_grob (musical_column_, ly_symbol2scm ("spacing-wishes"), - gi.grob_); + gi.grob ()); } - if (Axis_group_interface::has_interface (gi.grob_) - && gi.grob_->internal_has_interface (ly_symbol2scm ("vertically-spaceable-interface"))) + if (Axis_group_interface::has_interface (gi.grob ()) + && gi.grob ()->internal_has_interface (ly_symbol2scm ("vertically-spaceable-interface"))) { SCM spaceable = get_property ("verticallySpacedContexts"); Context *orig = gi.origin_contexts (this)[0]; @@ -292,7 +292,7 @@ Score_engraver::acknowledge_grob (Grob_info gi) { Pointer_group_interface::add_grob (system_, ly_symbol2scm ("spaceable-staves"), - gi.grob_); + gi.grob ()); } } } diff --git a/lily/script-column-engraver.cc b/lily/script-column-engraver.cc index 7e027aacfc..a7ae23ec4a 100644 --- a/lily/script-column-engraver.cc +++ b/lily/script-column-engraver.cc @@ -41,11 +41,11 @@ Script_column_engraver::stop_translation_timestep () void Script_column_engraver::acknowledge_grob (Grob_info inf) { - Item *thing = dynamic_cast (inf.grob_); - if (thing && Side_position_interface::has_interface (inf.grob_)) // ugh FIXME + Item *thing = dynamic_cast (inf.grob ()); + if (thing && Side_position_interface::has_interface (inf.grob ())) // ugh FIXME { if (!Item::is_breakable (thing) - && Side_position_interface::get_axis (inf.grob_) == Y_AXIS) + && Side_position_interface::get_axis (inf.grob ()) == Y_AXIS) { scripts_.push (thing); } diff --git a/lily/script-engraver.cc b/lily/script-engraver.cc index afeb0fe621..bc001d68a7 100644 --- a/lily/script-engraver.cc +++ b/lily/script-engraver.cc @@ -170,21 +170,21 @@ void Script_engraver::acknowledge_grob (Grob_info info) { int script_count = scripts_.size (); - if (Stem::has_interface (info.grob_)) + if (Stem::has_interface (info.grob ())) { for (int i = 0; i < script_count; i++) { Grob *e = scripts_[i].script_; if (to_dir (e->get_property ("side-relative-direction"))) - e->set_property ("direction-source", info.grob_->self_scm ()); + e->set_property ("direction-source", info.grob ()->self_scm ()); /* FIXME: add dependency */ - e->add_dependency (info.grob_); - Side_position_interface::add_support (e, info.grob_); + e->add_dependency (info.grob ()); + Side_position_interface::add_support (e, info.grob ()); } } - else if (Rhythmic_head::has_interface (info.grob_) + else if (Rhythmic_head::has_interface (info.grob ()) && info.music_cause ()) { for (int i = 0; i < script_count; i++) @@ -194,13 +194,13 @@ Script_engraver::acknowledge_grob (Grob_info info) if (Side_position_interface::get_axis (e) == X_AXIS && !e->get_parent (Y_AXIS)) { - e->set_parent (info.grob_, Y_AXIS); - e->add_dependency (info.grob_); + e->set_parent (info.grob (), Y_AXIS); + e->add_dependency (info.grob ()); } - Side_position_interface::add_support (e, info.grob_); + Side_position_interface::add_support (e, info.grob ()); } } - else if (Note_column::has_interface (info.grob_)) + else if (Note_column::has_interface (info.grob ())) { /* Make note column the parent of the script. That is not correct, but due to seconds in a chord, noteheads may be @@ -214,11 +214,11 @@ Script_engraver::acknowledge_grob (Grob_info info) if (!e->get_parent (X_AXIS) && Side_position_interface::get_axis (e) == Y_AXIS) - e->set_parent (info.grob_, X_AXIS); + e->set_parent (info.grob (), X_AXIS); } } - else if (Slur::has_interface (info.grob_)) - slur_ = dynamic_cast (info.grob_); + else if (Slur::has_interface (info.grob ())) + slur_ = dynamic_cast (info.grob ()); } void diff --git a/lily/separating-line-group-engraver.cc b/lily/separating-line-group-engraver.cc index 3d28bb3c4f..50648340d2 100644 --- a/lily/separating-line-group-engraver.cc +++ b/lily/separating-line-group-engraver.cc @@ -105,7 +105,7 @@ Separating_line_group_engraver::finalize () void Separating_line_group_engraver::acknowledge_grob (Grob_info i) { - Item *it = dynamic_cast (i.grob_); + Item *it = dynamic_cast (i.grob ()); if (!it) return; if (it->get_parent (X_AXIS) diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index d0629b9700..2cdf5289c6 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -72,8 +72,8 @@ Slur_engraver::set_melisma (bool m) void Slur_engraver::acknowledge_grob (Grob_info info) { - Grob *e = info.grob_; - if (Note_column::has_interface (info.grob_)) + Grob *e = info.grob (); + if (Note_column::has_interface (info.grob ())) { for (int i = slurs_.size (); i--;) Slur::add_column (slurs_[i], e); diff --git a/lily/spacing-engraver.cc b/lily/spacing-engraver.cc index 2c7f59360e..4aeebc586a 100644 --- a/lily/spacing-engraver.cc +++ b/lily/spacing-engraver.cc @@ -96,13 +96,13 @@ Spacing_engraver::finalize () void Spacing_engraver::acknowledge_grob (Grob_info i) { - if (Note_spacing::has_interface (i.grob_) || Staff_spacing::has_interface (i.grob_)) + if (Note_spacing::has_interface (i.grob ()) || Staff_spacing::has_interface (i.grob ())) { - Pointer_group_interface::add_grob (spacing_, ly_symbol2scm ("wishes"), i.grob_); + Pointer_group_interface::add_grob (spacing_, ly_symbol2scm ("wishes"), i.grob ()); } - if (i.grob_->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface")) - || i.grob_->internal_has_interface (ly_symbol2scm ("multi-measure-event"))) + if (i.grob ()->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface")) + || i.grob ()->internal_has_interface (ly_symbol2scm ("multi-measure-event"))) return; /* diff --git a/lily/span-arpeggio-engraver.cc b/lily/span-arpeggio-engraver.cc index 79dbbd0dc2..8495a2f5fe 100644 --- a/lily/span-arpeggio-engraver.cc +++ b/lily/span-arpeggio-engraver.cc @@ -41,10 +41,10 @@ Span_arpeggio_engraver::Span_arpeggio_engraver () void Span_arpeggio_engraver::acknowledge_grob (Grob_info info) { - if (Arpeggio::has_interface (info.grob_) + if (Arpeggio::has_interface (info.grob ()) && info.origin_contexts (this).size ()) // huh? what's this test for? { - arpeggios_.push (info.grob_); + arpeggios_.push (info.grob ()); } } diff --git a/lily/span-bar-engraver.cc b/lily/span-bar-engraver.cc index db6baa0ffa..a3d1fc4887 100644 --- a/lily/span-bar-engraver.cc +++ b/lily/span-bar-engraver.cc @@ -40,9 +40,9 @@ void Span_bar_engraver::acknowledge_grob (Grob_info i) { int depth = i.origin_contexts (this).size (); - if (depth && Bar_line::has_interface (i.grob_)) + if (depth && Bar_line::has_interface (i.grob ())) { - Item *it = dynamic_cast (i.grob_); + Item *it = dynamic_cast (i.grob ()); bars_.push (it); if (bars_.size () >= 2 && !spanbar_) diff --git a/lily/staff-collecting-engraver.cc b/lily/staff-collecting-engraver.cc index 095bfe1115..f9b97e4c67 100644 --- a/lily/staff-collecting-engraver.cc +++ b/lily/staff-collecting-engraver.cc @@ -25,10 +25,10 @@ Staff_collecting_engraver::Staff_collecting_engraver () void Staff_collecting_engraver::acknowledge_grob (Grob_info gi) { - if (Staff_symbol::has_interface (gi.grob_)) + if (Staff_symbol::has_interface (gi.grob ())) { SCM staffs = get_property ("stavesFound"); - staffs = scm_cons (gi.grob_->self_scm (), staffs); + staffs = scm_cons (gi.grob ()->self_scm (), staffs); context ()->set_property ("stavesFound", staffs); } diff --git a/lily/staff-symbol-engraver.cc b/lily/staff-symbol-engraver.cc index 73c63f1dd7..61d3955384 100644 --- a/lily/staff-symbol-engraver.cc +++ b/lily/staff-symbol-engraver.cc @@ -108,7 +108,7 @@ Staff_symbol_engraver::acknowledge_grob (Grob_info s) symbol? */ if (span_) - s.grob_->set_property ("staff-symbol", span_->self_scm ()); + s.grob ()->set_property ("staff-symbol", span_->self_scm ()); } ADD_TRANSLATOR (Staff_symbol_engraver, diff --git a/lily/stanza-number-align-engraver.cc b/lily/stanza-number-align-engraver.cc index 16d2e073d2..52b18cbe11 100644 --- a/lily/stanza-number-align-engraver.cc +++ b/lily/stanza-number-align-engraver.cc @@ -33,7 +33,7 @@ Stanza_number_align_engraver::Stanza_number_align_engraver () void Stanza_number_align_engraver::acknowledge_grob (Grob_info gi) { - Grob *h = gi.grob_; + Grob *h = gi.grob (); if (h->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface"))) lyrics_.push (h); diff --git a/lily/stanza-number-engraver.cc b/lily/stanza-number-engraver.cc index 2f77b5d4f7..d74f0d8bcb 100644 --- a/lily/stanza-number-engraver.cc +++ b/lily/stanza-number-engraver.cc @@ -55,9 +55,9 @@ void Stanza_number_engraver::acknowledge_grob (Grob_info inf) { if (text_ - && inf.grob_->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface"))) + && inf.grob ()->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface"))) { - Side_position_interface::add_support (text_, inf.grob_); + Side_position_interface::add_support (text_, inf.grob ()); } } diff --git a/lily/stem-engraver.cc b/lily/stem-engraver.cc index d665a96d06..a8a7f66815 100644 --- a/lily/stem-engraver.cc +++ b/lily/stem-engraver.cc @@ -106,9 +106,9 @@ Stem_engraver::make_stem (Grob_info gi) void Stem_engraver::acknowledge_grob (Grob_info gi) { - if (Rhythmic_head::has_interface (gi.grob_)) + if (Rhythmic_head::has_interface (gi.grob ())) { - if (Rhythmic_head::get_stem (gi.grob_)) + if (Rhythmic_head::get_stem (gi.grob ())) return; Music *cause = gi.music_cause (); @@ -126,7 +126,7 @@ Stem_engraver::acknowledge_grob (Grob_info gi) gi.music_cause ()->origin ()->warning (_f ("maybe input should specify polyphonic voices")); } - Stem::add_head (stem_, gi.grob_); + Stem::add_head (stem_, gi.grob ()); } } diff --git a/lily/system-start-delimiter-engraver.cc b/lily/system-start-delimiter-engraver.cc index a5f3624d28..55ef8fd32c 100644 --- a/lily/system-start-delimiter-engraver.cc +++ b/lily/system-start-delimiter-engraver.cc @@ -29,17 +29,17 @@ protected: void System_start_delimiter_engraver::acknowledge_grob (Grob_info inf) { - if (Staff_symbol::has_interface (inf.grob_)) + if (Staff_symbol::has_interface (inf.grob ())) { /* don't add as Axis_group_interface::add_element (delim_, ), because that would set the parent as well */ - Pointer_group_interface::add_grob (delim_, ly_symbol2scm ("elements"), inf.grob_); + Pointer_group_interface::add_grob (delim_, ly_symbol2scm ("elements"), inf.grob ()); } - else if (System_start_delimiter::has_interface (inf.grob_)) + else if (System_start_delimiter::has_interface (inf.grob ())) { - SCM gl = inf.grob_->get_property ("glyph"); + SCM gl = inf.grob ()->get_property ("glyph"); SCM my_gl = delim_->get_property ("glyph"); /* @@ -47,13 +47,13 @@ System_start_delimiter_engraver::acknowledge_grob (Grob_info inf) */ if (scm_is_string (gl) && ly_c_equal_p (gl, scm_makfrom0str ("brace")) && scm_is_string (my_gl) && ly_c_equal_p (my_gl, scm_makfrom0str ("bracket"))) - inf.grob_->translate_axis (-0.8, X_AXIS); // ugh + inf.grob ()->translate_axis (-0.8, X_AXIS); // ugh else if (scm_is_string (gl) && ly_c_equal_p (gl, scm_makfrom0str ("bracket")) && scm_is_string (my_gl) && ly_c_equal_p (my_gl, scm_makfrom0str ("bracket"))) { - inf.grob_->translate_axis (-0.8, X_AXIS); // ugh - inf.grob_->set_property ("arch-height", - scm_make_real (scm_to_double (inf.grob_->get_property + inf.grob ()->translate_axis (-0.8, X_AXIS); // ugh + inf.grob ()->set_property ("arch-height", + scm_make_real (scm_to_double (inf.grob ()->get_property ("arch-height")) + 0.5)); } } diff --git a/lily/text-engraver.cc b/lily/text-engraver.cc index 9569f3d24b..f1d83168f1 100644 --- a/lily/text-engraver.cc +++ b/lily/text-engraver.cc @@ -43,30 +43,30 @@ Text_engraver::try_music (Music *m) void Text_engraver::acknowledge_grob (Grob_info inf) { - if (Rhythmic_head::has_interface (inf.grob_)) + if (Rhythmic_head::has_interface (inf.grob ())) { for (int i = 0; i < texts_.size (); i++) { Grob *t = texts_[i]; - Side_position_interface::add_support (t, inf.grob_); + Side_position_interface::add_support (t, inf.grob ()); /* ugh. */ if (Side_position_interface::get_axis (t) == X_AXIS && !t->get_parent (Y_AXIS)) - t->set_parent (inf.grob_, Y_AXIS); + t->set_parent (inf.grob (), Y_AXIS); else if (Side_position_interface::get_axis (t) == Y_AXIS && !t->get_parent (X_AXIS)) - t->set_parent (inf.grob_, X_AXIS); + t->set_parent (inf.grob (), X_AXIS); } } - if (Stem::has_interface (inf.grob_)) + if (Stem::has_interface (inf.grob ())) { for (int i = 0; i < texts_.size (); i++) { - Side_position_interface::add_support (texts_[i], inf.grob_); + Side_position_interface::add_support (texts_[i], inf.grob ()); } } } diff --git a/lily/text-spanner-engraver.cc b/lily/text-spanner-engraver.cc index 0001365823..5c177c5a96 100644 --- a/lily/text-spanner-engraver.cc +++ b/lily/text-spanner-engraver.cc @@ -91,10 +91,10 @@ Text_spanner_engraver::acknowledge_grob (Grob_info info) Spanner *spans[2] ={span_, finished_}; for (int i = 0; i < 2; i++) { - if (spans[i] && Note_column::has_interface (info.grob_)) + if (spans[i] && Note_column::has_interface (info.grob ())) { - Side_position_interface::add_support (spans[i], info.grob_); - add_bound_item (spans[i], dynamic_cast (info.grob_)); + Side_position_interface::add_support (spans[i], info.grob ()); + add_bound_item (spans[i], dynamic_cast (info.grob ())); } } } diff --git a/lily/tie-engraver.cc b/lily/tie-engraver.cc index 4cb3ec1df5..2e9ce6c196 100644 --- a/lily/tie-engraver.cc +++ b/lily/tie-engraver.cc @@ -101,9 +101,9 @@ Tie_engraver::process_music () void Tie_engraver::acknowledge_grob (Grob_info i) { - if (Note_head::has_interface (i.grob_)) + if (Note_head::has_interface (i.grob ())) { - Grob *h = i.grob_; + Grob *h = i.grob (); now_heads_.push (h); for (int i = heads_to_tie_.size (); i--;) { diff --git a/lily/trill-spanner-engraver.cc b/lily/trill-spanner-engraver.cc index fd93042b28..ddb283ea48 100644 --- a/lily/trill-spanner-engraver.cc +++ b/lily/trill-spanner-engraver.cc @@ -97,10 +97,10 @@ Trill_spanner_engraver::acknowledge_grob (Grob_info info) Spanner *spans[2] ={span_, finished_}; for (int i = 0; i < 2; i++) { - if (spans[i] && Note_column::has_interface (info.grob_)) + if (spans[i] && Note_column::has_interface (info.grob ())) { - Side_position_interface::add_support (spans[i], info.grob_); - add_bound_item (spans[i], dynamic_cast (info.grob_)); + Side_position_interface::add_support (spans[i], info.grob ()); + add_bound_item (spans[i], dynamic_cast (info.grob ())); } } } diff --git a/lily/tuplet-engraver.cc b/lily/tuplet-engraver.cc index c2ca198984..bf82dc0931 100644 --- a/lily/tuplet-engraver.cc +++ b/lily/tuplet-engraver.cc @@ -87,12 +87,12 @@ Tuplet_engraver::process_music () void Tuplet_engraver::acknowledge_grob (Grob_info i) { - if (Note_column::has_interface (i.grob_)) + if (Note_column::has_interface (i.grob ())) { for (int j = 0; j < tuplets_.size (); j++) if (tuplets_[j].spanner_) Tuplet_bracket::add_column (tuplets_[j].spanner_, - dynamic_cast (i.grob_)); + dynamic_cast (i.grob ())); } } diff --git a/lily/vaticana-ligature-engraver.cc b/lily/vaticana-ligature-engraver.cc index aef60cb2da..e6b0f002b8 100644 --- a/lily/vaticana-ligature-engraver.cc +++ b/lily/vaticana-ligature-engraver.cc @@ -154,7 +154,7 @@ Vaticana_ligature_engraver::align_heads (Array primitives, * The paper column where we put the whole ligature into. */ Paper_column *column - = dynamic_cast (primitives[0].grob_)->get_column (); + = dynamic_cast (primitives[0].grob ())->get_column (); Real join_thickness = thickness * column->get_layout ()->get_dimension (ly_symbol2scm ("linethickness")); @@ -176,7 +176,7 @@ Vaticana_ligature_engraver::align_heads (Array primitives, int prev_prefix_set = 0; for (int i = 0; i < primitives.size (); i++) { - Item *primitive = dynamic_cast (primitives[i].grob_); + Item *primitive = dynamic_cast (primitives[i].grob ()); int prefix_set = scm_to_int (primitive->get_property ("prefix-set")); int context_info @@ -362,7 +362,7 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, String prev_glyph_name = ""; for (int i = 0; i < primitives.size (); i++) { - Item *primitive = dynamic_cast (primitives[i].grob_); + Item *primitive = dynamic_cast (primitives[i].grob ()); int delta_pitch; SCM delta_pitch_scm = primitive->get_property ("delta-pitch"); @@ -584,7 +584,7 @@ Vaticana_ligature_engraver::transform_heads (Spanner *ligature, #if 0 // experimental code to collapse spacing after ligature /* TODO: set to max (old/new spacing-increment), since other voices/staves also may want to set this property. */ - Item *first_primitive = dynamic_cast (primitives[0].grob_); + Item *first_primitive = dynamic_cast (primitives[0].grob ()); Paper_column *paper_column = first_primitive->get_column (); paper_column->warning (_f ("Vaticana_ligature_engraver: " "setting `spacing-increment = %f': ptr =%ul", diff --git a/lily/vertical-align-engraver.cc b/lily/vertical-align-engraver.cc index 3e1838ae1f..7b0b9900f6 100644 --- a/lily/vertical-align-engraver.cc +++ b/lily/vertical-align-engraver.cc @@ -86,8 +86,8 @@ Vertical_align_engraver::qualifies (Grob_info i) const { int sz = i.origin_contexts ((Translator *)this).size (); - return sz > 0 && Axis_group_interface::has_interface (i.grob_) - && !i.grob_->get_parent (Y_AXIS) && Axis_group_interface::has_axis (i.grob_, Y_AXIS); + return sz > 0 && Axis_group_interface::has_interface (i.grob ()) + && !i.grob ()->get_parent (Y_AXIS) && Axis_group_interface::has_axis (i.grob (), Y_AXIS); } void @@ -98,7 +98,7 @@ Vertical_align_engraver::acknowledge_grob (Grob_info i) String id = i.context ()->id_string (); scm_hash_set_x (id_to_group_hashtab_, scm_makfrom0str (id.to_str0 ()), - i.grob_->self_scm ()); + i.grob ()->self_scm ()); SCM before_id = i.context ()->get_property ("alignAboveContext"); @@ -108,7 +108,7 @@ Vertical_align_engraver::acknowledge_grob (Grob_info i) SCM after = scm_hash_ref (id_to_group_hashtab_, after_id, SCM_BOOL_F); - Align_interface::add_element (valign_, i.grob_, + Align_interface::add_element (valign_, i.grob (), get_property ("verticalAlignmentChildCallback")); if (unsmob_grob (before) || unsmob_grob (after)) @@ -121,12 +121,12 @@ Vertical_align_engraver::acknowledge_grob (Grob_info i) { if (scm_car (s) == after) { - *current = scm_cons (i.grob_->self_scm(), s); + *current = scm_cons (i.grob ()->self_scm(), s); break; } else if (scm_car (s) == before) { - scm_set_cdr_x (s, scm_cons (i.grob_->self_scm (), + scm_set_cdr_x (s, scm_cons (i.grob ()->self_scm (), scm_cdr (s))); break; } diff --git a/lily/volta-engraver.cc b/lily/volta-engraver.cc index 91d0f87bf1..03e940650d 100644 --- a/lily/volta-engraver.cc +++ b/lily/volta-engraver.cc @@ -161,7 +161,7 @@ Volta_engraver::process_music () void Volta_engraver::acknowledge_grob (Grob_info i) { - if (Item *item = dynamic_cast (i.grob_)) + if (Item *item = dynamic_cast (i.grob ())) { if (Note_column::has_interface (item)) { @@ -176,7 +176,7 @@ Volta_engraver::acknowledge_grob (Grob_info i) Volta_bracket_interface::add_bar (end_volta_span_, item); } } - else if (Staff_symbol::has_interface (i.grob_)) + else if (Staff_symbol::has_interface (i.grob ())) { /* We only want to know about a single staff: then we add to the @@ -185,7 +185,7 @@ Volta_engraver::acknowledge_grob (Grob_info i) staff_ = SCM_UNDEFINED; if (staff_ != SCM_UNDEFINED) - staff_ = i.grob_->self_scm (); + staff_ = i.grob ()->self_scm (); } }