From 392db32e30464bd24606c1b52bac7af33693bad3 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 27 Mar 2002 00:33:16 +0000 Subject: [PATCH] lilypond-1.3.108 --- CHANGES | 24 ++++++++++++++++++++++++ VERSION | 2 +- lily/a2-engraver.cc | 2 +- lily/crescendo.cc | 22 +++++++++++++++------- lily/dynamic-engraver.cc | 19 ++++++++----------- lily/include/crescendo.hh | 4 ++-- ly/catalan.ly | 2 +- scm/element-descriptions.scm | 8 ++++---- scm/interface.scm | 23 +++++++++++++---------- 9 files changed, 69 insertions(+), 37 deletions(-) diff --git a/CHANGES b/CHANGES index b4796d80bc..e18b6da2e6 100644 --- a/CHANGES +++ b/CHANGES @@ -1,3 +1,27 @@ +1.3.107.jcn3 +============ + +* Dropped ly_lists_equal for gh_equal_ + +* Removed Array from chord. + +* Small bugfix to lilypond-mode. + +* lily/part-combine-music-iterator.cc: fixed (switch `combineParts' +property on), and removed Array. + +1.3.107.uu1 +=========== + +* Bugfix: don't call Crescendo::brew_molecule () too early if there is +an absolute dynamic. + +* Rename class Crescendo to Hairpin. + +* Search/replace: Musical_pitch -> Pitch + +* More links in the backend documentation. + 1.3.106.jcn2 ============ diff --git a/VERSION b/VERSION index 6ecffd3ce9..e73b2c105e 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=107 +PATCH_LEVEL=108 MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a diff --git a/lily/a2-engraver.cc b/lily/a2-engraver.cc index 4c84ff402e..ee33e68d75 100644 --- a/lily/a2-engraver.cc +++ b/lily/a2-engraver.cc @@ -135,7 +135,7 @@ A2_engraver::acknowledge_element (Score_element_info i) if (Stem::has_interface (i.elem_l_) || Slur::has_interface (i.elem_l_) // || Text_item::has_interface (i.elem_l_) - //|| Crescendo::has_interface (i.elem_l_) + //|| Hairpin::has_interface (i.elem_l_) ) { /* diff --git a/lily/crescendo.cc b/lily/crescendo.cc index 9bfbf02eff..32c9d07f28 100644 --- a/lily/crescendo.cc +++ b/lily/crescendo.cc @@ -1,5 +1,5 @@ /* - crescendo.cc -- implement Crescendo + crescendo.cc -- implement Hairpin source file of the GNU LilyPond music typesetter @@ -15,10 +15,10 @@ #include "debug.hh" #include "paper-column.hh" -MAKE_SCHEME_CALLBACK (Crescendo, brew_molecule, 1); +MAKE_SCHEME_CALLBACK (Hairpin, brew_molecule, 1); SCM -Crescendo::brew_molecule (SCM smob) +Hairpin::brew_molecule (SCM smob) { Score_element *me= unsmob_element (smob); Spanner *span = dynamic_cast(me); @@ -35,7 +35,7 @@ Crescendo::brew_molecule (SCM smob) } Direction grow_dir = to_dir (s); - + Real padding = gh_scm2double (me->get_elt_property ("padding")); Real width = span->spanner_length (); width -= span->get_broken_left_end_align (); @@ -47,11 +47,19 @@ Crescendo::brew_molecule (SCM smob) } Drul_array broken; + Drul_array extra_off; Direction d = LEFT; do { - Paper_column* s = dynamic_cast (span->get_bound (d)); // UGH - broken[d] = (!s->musical_b ()); + Item *b = span->get_bound (d); + broken[d] = b->break_status_dir () != CENTER; + + if (!broken [d]) + { + Real r = b->extent (b, X_AXIS)[-d] + padding; + width += d * r; + extra_off[d] = r; + } } while (flip (&d) != LEFT); @@ -69,7 +77,7 @@ Crescendo::brew_molecule (SCM smob) Box b (Interval (0, width), Interval (-2*height, 2*height)); Molecule mol (b, hairpin); - mol.translate_axis (broken_left, X_AXIS); + mol.translate_axis (broken_left + extra_off[LEFT], X_AXIS); return mol.smobbed_copy (); } diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index ee1aea2fbf..57e35bd730 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -266,17 +266,10 @@ Dynamic_engraver::do_process_music () SCM_UNDEFINED); } } - - Score_element *cc = unsmob_element (get_property ("currentMusicalColumn")); - cresc_p_->set_bound (LEFT, cc); - - if (script_p_) - { - Side_position::set_direction (script_p_, LEFT); - Side_position::set_axis (script_p_, X_AXIS); - Side_position::add_support (script_p_, cresc_p_); - } - + cresc_p_->set_bound (LEFT, script_p_ + ? script_p_ + : unsmob_element (get_property ("currentMusicalColumn"))); + Axis_group_interface::add_element (line_spanner_, cresc_p_); announce_element (cresc_p_, accepted_spanreqs_drul_[START]); } @@ -312,6 +305,10 @@ Dynamic_engraver::typeset_all () { if (finished_cresc_p_) { + finished_cresc_p_->set_bound (RIGHT, script_p_ + ? script_p_ + : unsmob_element (get_property ("currentMusicalColumn"))); + typeset_element (finished_cresc_p_); finished_cresc_p_ =0; } diff --git a/lily/include/crescendo.hh b/lily/include/crescendo.hh index c487894bc2..b34ccc56df 100644 --- a/lily/include/crescendo.hh +++ b/lily/include/crescendo.hh @@ -1,5 +1,5 @@ /* - crescendo.hh -- declare Crescendo + crescendo.hh -- declare Hairpin source file of the GNU LilyPond music typesetter @@ -14,7 +14,7 @@ /** The hairpin symbol. */ -struct Crescendo +struct Hairpin { public: DECLARE_SCHEME_CALLBACK (brew_molecule, (SCM)); diff --git a/ly/catalan.ly b/ly/catalan.ly index 403494d2cb..c55565c8d0 100644 --- a/ly/catalan.ly +++ b/ly/catalan.ly @@ -17,7 +17,7 @@ % For using "sostingut" notation, which is also correct -\notenames #'( +\notenames #`( (dobb . ,(make-pitch -1 0 -2 )) (dob . ,(make-pitch -1 0 -1 )) (do . ,(make-pitch -1 0 0 )) diff --git a/scm/element-descriptions.scm b/scm/element-descriptions.scm index 72c8e72edd..0fba22b977 100644 --- a/scm/element-descriptions.scm +++ b/scm/element-descriptions.scm @@ -105,9 +105,9 @@ )) (Crescendo . ( - (molecule-callback . ,Crescendo::brew_molecule) + (molecule-callback . ,Hairpin::brew_molecule) (thickness . 1.0) - (shorten-for-letter . 4.0) + (padding . 1.0) (height . 0.6666) (dash-thickness . 1.2) (dash-length . 4.0) @@ -246,7 +246,7 @@ (molecule-callback . ,Text_item::brew_molecule) (direction . 1) (breakable . #t) - (font-family . number) + (font-family . roman) (font-relative-size . 1) (visibility-lambda . ,end-of-line-invisible) (padding . 0.8) @@ -291,7 +291,7 @@ (font-family . roman) (meta . ,(element-description "NoteName" note-name-interface font-interface - general-element-interface)) + )) )) (OctavateEight . ( diff --git a/scm/interface.scm b/scm/interface.scm index 7a5683c887..ddc17acb9a 100644 --- a/scm/interface.scm +++ b/scm/interface.scm @@ -131,14 +131,8 @@ more than this (in staffspace)") 'note-column-interface "Stem and noteheads combined" (list - (elt-property-description 'horizontal-shift integer? "integer that identifies ranking of note-column for horizontal shifting.") - (elt-property-description 'force-hshift number? "amount of collision_note_width that overides automatic collision settings.") - (elt-property-description 'merge-differently-dotted boolean? "merge black noteheads with differing dot count in collisions. - -Merge noteheads in collisions, even if they have a different number of -dots. This normal notation for polyphonic guitar music. - -") + (elt-property-description 'horizontal-shift integer? "integer that identifies ranking of note-column for horizontal shifting. This is used by @ref{note-collision-interface}") + (elt-property-description 'force-hshift number? "amount of collision_note_width that overides automatic collision settings. This is used by @ref{note-collision-interface}") )) ) @@ -387,12 +381,13 @@ Align_interface::center_on_element). ") (elt-property-description 'grow-direction dir? "crescendo or decrescendo?") (elt-property-description 'thickness number? "thickness, measured in stafflinethickness") (elt-property-description 'height number? "height, measured in staffspace.") + (elt-property-description 'padding number? "horizontal padding. This is useful if a crescendo is set next to a text like `mf'") ))) (define arpeggio-interface (lily-interface 'arpeggio-interface - "arpeggio" + "Functions and settings for drawing an arpeggio symbol (a wavy line left to noteheads." (list (elt-property-description 'stems list? "list of stem objects, corresponding to the notes that the arpeggio has to be before.") ) @@ -402,8 +397,16 @@ Align_interface::center_on_element). ") (define note-collision-interface (lily-interface 'note-collision-interface - "note collision" + "An object that handles collisions between notes with different +stem directions and horizontal shifts. Most of the interesting +properties are to be set in @ref{note-column-interface}" (list + (elt-property-description 'merge-differently-dotted boolean? " +Merge noteheads in collisions, even if they have a different number of +dots. This normal notation for some types of polyphonic music. The +value of this setting is used by @ref{note-collision-interface} + +") (elt-property-description 'note-width 'number? "unit for horizontal translation, measured in staff-space.") ) ) ) -- 2.39.5