From 5a190f16cfeca6e554edf8151ae70ffa16daafb0 Mon Sep 17 00:00:00 2001 From: fred Date: Tue, 26 Mar 2002 21:48:59 +0000 Subject: [PATCH] lilypond-1.1.39 --- NEWS | 40 ++++++++++++++++++++++++++++ lily/chord-name-engraver.cc | 2 +- lily/lyric-engraver.cc | 2 +- lily/tuplet-spanner.cc | 53 +++++++++++++++++++++---------------- 4 files changed, 72 insertions(+), 25 deletions(-) diff --git a/NEWS b/NEWS index 00ccefc193..1306606e52 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,43 @@ +pl 39 + - \property textstyle -> textStyle + +pl 38.tca1 + - added scm/accordion-script.scm and update ly/accordion-defs.ly + - renamed some accordion symbols to make them more english and less + norwenglish. + - removed dot from \accBayanbase + +pl 37.script4 + - bf: molecule + - bf: tuplet spanner appearance. + - bf: less spacing after clef. Invisible bar has no dims. + - included AIMS. The why of Lily. + - warning if duplicate engraver. + - warning if no ties could be created. + - bf: \time1/4; .. beams .. + - bf: staff switching beams / slurs. + - tuplets on multiple beams. + - Documentation/tex/lilypond-regtest.doc + - bf: nested tuplets + - slur cleanups. + - bf: multi_measure_rest_engraver in Score_context. + +pl 38.uu1 + - bf: clef_8 + - bf: barnumbers. + +pl 37.script3 + - fixes for spring_spacer, introduced +Spacing_engraver + - cleanup for rest-collisions. + - hacks for GUILE gc + - mudela-book \mudelafile + - Documentation/tex/lilypond-regtest.doc + - MF rest fixes + + +******** +pl 38 (april 6) pl 37.script2 - bf: AFM for BlueSky AFM files. - \penalty = 4278 -> \penalty 4278 diff --git a/lily/chord-name-engraver.cc b/lily/chord-name-engraver.cc index 794ac1b3f0..dbebdf6e08 100644 --- a/lily/chord-name-engraver.cc +++ b/lily/chord-name-engraver.cc @@ -83,7 +83,7 @@ Chord_name_engraver::do_process_requests () item_p->text_str_ = chord.banter_str (inversion); - Scalar style = get_property ("textstyle", 0); + Scalar style = get_property ("textStyle", 0); if (style.length_i ()) item_p->style_str_ = style; diff --git a/lily/lyric-engraver.cc b/lily/lyric-engraver.cc index fa5c1035d1..f5807666da 100644 --- a/lily/lyric-engraver.cc +++ b/lily/lyric-engraver.cc @@ -43,7 +43,7 @@ Lyric_engraver::do_process_requests() text_p_= new G_text_item; text_p_->text_str_ = req_l_->text_str_; - Scalar style = get_property ("textstyle", 0); + Scalar style = get_property ("textStyle", 0); if (style.length_i ()) text_p_->style_str_ = style; diff --git a/lily/tuplet-spanner.cc b/lily/tuplet-spanner.cc index a2068ecf25..adcb935f25 100644 --- a/lily/tuplet-spanner.cc +++ b/lily/tuplet-spanner.cc @@ -5,11 +5,8 @@ (c) 1997--1999 Jan Nieuwenhuizen */ -/* - todo: handle breaking elegantly. - */ -#include "beam.hh" +#include "beam.hh" #include "box.hh" #include "debug.hh" #include "lookup.hh" @@ -18,16 +15,17 @@ #include "paper-def.hh" #include "tuplet-spanner.hh" #include "stem.hh" - #include "note-column.hh" Tuplet_spanner::Tuplet_spanner () { - beam_l_ =0; bracket_visibility_b_ = true; num_visibility_b_ = true; } +/* + TODO. We should control the gap for lookup from here. + */ Molecule* Tuplet_spanner::do_brew_molecule_p () const { @@ -37,10 +35,13 @@ Tuplet_spanner::do_brew_molecule_p () const Real ncw = column_arr_.top ()->extent (X_AXIS).length (); Molecule num (lookup_l ()->text ("italic", number_str_)); + num.align_to (X_AXIS, CENTER); + num.translate_axis (dir_ * paper_l ()->get_realvar (interline_scm_sym), Y_AXIS); - if (beam_l_ && !bracket_visibility_b_) + if (beam_l_arr_.size () == 1 && !bracket_visibility_b_) { - Directional_spanner* ds = dynamic_cast(beam_l_); + Beam *beam_l = beam_l_arr_[0]; + Directional_spanner* ds = dynamic_cast(beam_l); num.translate (ds->center ()); num.translate_axis (ncw, X_AXIS); } @@ -50,13 +51,15 @@ Tuplet_spanner::do_brew_molecule_p () const Real dy = column_arr_.top ()->extent (Y_AXIS) [dir_] - column_arr_[0]->extent (Y_AXIS) [dir_]; Real w = extent (X_AXIS).length () + ncw; - + // num.align_to (Y_AXIS, CENTER); num.translate (Offset (w/2, dy/2)); mol_p->add_molecule (lookup_l ()->plet (dy, w, dir_)); } if (num_visibility_b_) - mol_p->add_molecule (num); + { + mol_p->add_molecule (num); + } } return mol_p; } @@ -77,10 +80,14 @@ Tuplet_spanner::do_post_processing () if (column_arr_.size()) translate_axis (column_arr_[0]->extent (Y_AXIS)[dir_], Y_AXIS); - if (!broken_b () && beam_l_ - && spanned_drul_[LEFT]->column_l () == beam_l_->spanned_drul_[LEFT]->column_l () - && spanned_drul_[RIGHT]->column_l () == beam_l_->spanned_drul_[RIGHT]->column_l ()) - bracket_visibility_b_ = false; + if (beam_l_arr_.size () == 1) + { + Beam * beam_l = beam_l_arr_[0]; + if (!broken_b () + && spanned_drul_[LEFT]->column_l () == beam_l->spanned_drul_[LEFT]->column_l () + && spanned_drul_[RIGHT]->column_l () == beam_l->spanned_drul_[RIGHT]->column_l ()) + bracket_visibility_b_ = false; + } if (column_arr_.size () == 1) bracket_visibility_b_ = false; @@ -91,32 +98,32 @@ Tuplet_spanner::do_substitute_element_pointer (Score_element* o, Score_element* { if (Note_column *onc = dynamic_cast (o)) column_arr_.substitute (onc, dynamic_cast (n)); - else if (o == beam_l_) + else if (Beam * b = dynamic_cast (o)) { - beam_l_ = dynamic_cast (n); + beam_l_arr_.substitute (b, dynamic_cast (n)); } } -void -Tuplet_spanner::set_default_dir () +Direction +Tuplet_spanner::get_default_dir () const { - dir_ = UP; + Direction d = UP; for (int i=0; i < column_arr_.size (); i ++) { if (column_arr_[i]->dir () < 0) { - dir_ = DOWN; + d = DOWN; break; } } + return d; } void -Tuplet_spanner::set_beam (Beam *b) +Tuplet_spanner::add_beam (Beam *b) { - assert(!beam_l_); - beam_l_ = b; add_dependency (b); + beam_l_arr_.push (b); } void -- 2.39.5