]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.108
authorfred <fred>
Wed, 27 Mar 2002 00:33:16 +0000 (00:33 +0000)
committerfred <fred>
Wed, 27 Mar 2002 00:33:16 +0000 (00:33 +0000)
CHANGES
VERSION
lily/a2-engraver.cc
lily/crescendo.cc
lily/dynamic-engraver.cc
lily/include/crescendo.hh
ly/catalan.ly
scm/element-descriptions.scm
scm/interface.scm

diff --git a/CHANGES b/CHANGES
index b4796d80bca6de57eb5fe6444d967603d7d40a7b..e18b6da2e6d1890cdaec4db1cc08e50646b6e91d 100644 (file)
--- 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 6ecffd3ce9b7ac7e571a43d3d9df3c87e812fbae..e73b2c105e3ec375669c287713c06b9fc578cdcb 100644 (file)
--- 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
index 4c84ff402e725862c440290a29b5581f2adc00b0..ee33e68d75f4e3353fbead06625b376039cce5b3 100644 (file)
@@ -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_)
       )
     {
       /*
index 9bfbf02eff6c8aaff9edc2fca3730cedb13d7d98..32c9d07f2813eac777ed5438a9526559ad1a5c3d 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  crescendo.cc -- implement Crescendo
+  crescendo.cc -- implement Hairpin
 
   source file of the GNU LilyPond music typesetter
 
 #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<Spanner*>(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<bool> broken;
+  Drul_array<Real> extra_off;
   Direction d = LEFT;
   do
     {
-      Paper_column* s = dynamic_cast<Paper_column*> (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 ();
 }
index ee1aea2fbf1ed1ba71d483bb2cfb1d33be132c92..57e35bd730472fd2cdb4cd24f93ed5fcd38c71c6 100644 (file)
@@ -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;
     }
index c487894bc2c558198be4cc94f1433a771b7d7939..b34ccc56dfd56883ebec394422aa8ba059908e95 100644 (file)
@@ -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));
index 403494d2cb1e372e53495ab7797a43fccc2d4540..c55565c8d0c4f8ddaa44df49751051cb8228e128 100644 (file)
@@ -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 ))
index 72c8e72edddffacac16adb2e3af1344f4b4988d0..0fba22b9778cae81aa04960ada339408e69d8fbd 100644 (file)
        ))
        
        (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)
                (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)
                (font-family . roman)
                (meta . ,(element-description  "NoteName"
                                               note-name-interface font-interface
-                                              general-element-interface))
+                                              ))
                ))
 
        (OctavateEight . (
index 7a5683c88792165a1d5458ae0661929cf5806abb..ddc17acb9a1492560d445ddb1db63d391462cdad 100644 (file)
@@ -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.")
     )   )  )