lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: pedal bugs


From: Chris Jackson
Subject: Re: pedal bugs
Date: Sun, 23 Jun 2002 23:30:31 +0100
User-agent: Mutt/1.3.28i

Hi, 

This patch will fix the pedal line-lengths bug. Sorry this wasn't sent
sooner..

-- 
chris



Index: ChangeLog
===================================================================
RCS file: /home/lilypond/lilypond/ChangeLog,v
retrieving revision 1.235
diff -p -u -r1.235 ChangeLog
--- ChangeLog   23 Jun 2002 11:55:52 -0000      1.235
+++ ChangeLog   23 Jun 2002 22:20:58 -0000
@@ -1,3 +1,9 @@
+2002-06-23  Chris Jackson  <address@hidden>
+
+       * lily/text-spanner.cc (setup_pedal_bracket):
+       * lily/piano-pedal-engraver.cc (create_bracket_grobs): 
+       Fix the lengths of mixed-style piano pedal brackets.
+
 2002-06-23  Jan Nieuwenhuizen  <address@hidden>
 
        * Documentation/user/tutorial.itely (First steps): Add missing
Index: lily/piano-pedal-engraver.cc
===================================================================
RCS file: /home/lilypond/lilypond/lily/piano-pedal-engraver.cc,v
retrieving revision 1.39
diff -p -u -r1.39 piano-pedal-engraver.cc
--- lily/piano-pedal-engraver.cc        19 Jun 2002 19:06:33 -0000      1.39
+++ lily/piano-pedal-engraver.cc        23 Jun 2002 22:20:59 -0000
@@ -352,10 +352,12 @@ Piano_pedal_engraver::create_bracket_gro
                                       gh_bool2scm (false));
 
       /*
-       Warning: we can't hang the bracket on an item in Y-direction:
-       it will cause problems when the bracket is broken, because the
-       item can be on another line.
+       Mixed style: Store a pointer to the preceding text for use in
+       calculating the length of the line 
       */
+      if (p->item_p_)
+       p->bracket_p_->set_grob_property ("pedal-text", p->item_p_->self_scm 
());
+      
       p->bracket_p_->set_bound (LEFT, unsmob_grob (get_property 
("currentMusicalColumn")));
       Axis_group_interface::add_element (p->line_spanner_, p->bracket_p_);     
      
 
Index: lily/text-spanner.cc
===================================================================
RCS file: /home/lilypond/lilypond/lily/text-spanner.cc,v
retrieving revision 1.56
diff -p -u -r1.56 text-spanner.cc
--- lily/text-spanner.cc        17 Jun 2002 16:46:28 -0000      1.56
+++ lily/text-spanner.cc        23 Jun 2002 22:20:59 -0000
@@ -244,7 +244,7 @@ Text_spanner::setup_pedal_bracket(Spanne
   if ( to_boolean (me->get_grob_property ("text-start")) )
     {
       height[LEFT] = 0;
-      Grob * textbit = me->get_parent(Y_AXIS);
+      Grob * textbit = unsmob_grob (me->get_grob_property("pedal-text"));
       extra_short = padding;
       if (textbit->internal_has_interface(ly_symbol2scm("text-interface"))) 
        // for plain text, e.g., Sost. Ped.
@@ -287,7 +287,7 @@ struct Pianopedal
 };
 ADD_INTERFACE (Pianopedal,"piano-pedal-interface",
               "",
-              "pedal-type edge-widen edge-height shorten-pair text-start 
left-widen right-widen");
+              "pedal-type edge-widen edge-height shorten-pair text-start 
left-widen right-widen pedal-text");
 
 ADD_INTERFACE (Text_spanner,"text-spanner-interface",
               "generic text spanner",
Index: scm/grob-property-description.scm
===================================================================
RCS file: /home/lilypond/lilypond/scm/grob-property-description.scm,v
retrieving revision 1.82
diff -p -u -r1.82 grob-property-description.scm
--- scm/grob-property-description.scm   21 Jun 2002 15:10:20 -0000      1.82
+++ scm/grob-property-description.scm   23 Jun 2002 22:21:00 -0000
@@ -267,6 +267,7 @@ FIXME: also pair? (cons LEFT RIGHT)
 (grob-property-description 'old-accidentals list? "list of (pitch, accidental) 
pairs.")
 (grob-property-description 'padding number? "add this much extra space between 
objects that are next to each other.")
 (grob-property-description 'pedal-type symbol? "Style of piano pedal: text, 
bracket or mixed.")
+(grob-property-description 'pedal-text ly-grob? "Pointer to the text of a 
mixed-style piano pedal.")
 (grob-property-description 'penalty number? "Penalty for breaking at
 this column. 10000 or more means forbid linebreak, -10000 or less
 means force linebreak.  Other values influence linebreaking decisions





reply via email to

[Prev in Thread] Current Thread [Next in Thread]