]> git.donarmstrong.com Git - lilypond.git/commitdiff
acknowledge repeat slash as rhythmic event. Fixes spacing of slashes,
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 20 Dec 2006 01:00:07 +0000 (02:00 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 20 Dec 2006 01:00:07 +0000 (02:00 +0100)
due to previous fixes in basic-spacing.cc and Rational::operator double()

lily/spacing-engraver.cc
scm/define-event-classes.scm
scm/define-grob-interfaces.scm
scm/define-grobs.scm
scm/define-music-types.scm

index c6fc091de0711f4a4ac31bbff8be752d64bd62f7..81d5f2c8294a7f8b95a6bf2da46cb0457a394628 100644 (file)
@@ -68,12 +68,14 @@ protected:
   DECLARE_ACKNOWLEDGER (staff_spacing);
   DECLARE_ACKNOWLEDGER (note_spacing);
   DECLARE_ACKNOWLEDGER (rhythmic_head);
+  DECLARE_ACKNOWLEDGER (rhythmic_grob);
   DECLARE_TRANSLATOR_LISTENER (spacing_section);
 
   void start_translation_timestep ();
   void stop_translation_timestep ();
   void process_music ();
-  
+  void add_starter_duration (Grob_info i);
+
   virtual void finalize ();
 
   void start_spanner ();
@@ -144,8 +146,21 @@ Spacing_engraver::acknowledge_staff_spacing (Grob_info i)
   Pointer_group_interface::add_grob (spacing_, ly_symbol2scm ("wishes"), i.grob ());
 }
 
+void
+Spacing_engraver::acknowledge_rhythmic_grob (Grob_info i)
+{
+ add_starter_duration (i);  
+}
+
 void
 Spacing_engraver::acknowledge_rhythmic_head (Grob_info i)
+{
+  add_starter_duration (i);
+}
+
+
+void
+Spacing_engraver::add_starter_duration (Grob_info i)
 {
   if (i.grob ()->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface"))
       || i.grob ()->internal_has_interface (ly_symbol2scm ("multi-measure-interface")))
@@ -243,6 +258,7 @@ Spacing_engraver::start_translation_timestep ()
 ADD_ACKNOWLEDGER (Spacing_engraver, staff_spacing);
 ADD_ACKNOWLEDGER (Spacing_engraver, note_spacing);
 ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_head);
+ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_grob);
 
 ADD_TRANSLATOR (Spacing_engraver,
                "make a SpacingSpanner and do "
index e7d59622d4fec6af82016cdbe0d3c73cd4364f07..2bda1a2d025f020c4fcc3c20c5c3a05bc367db9b 100644 (file)
@@ -37,6 +37,7 @@
     (span-dynamic-event . (decrescendo-event crescendo-event))
     (pedal-event . (sostenuto-event sustain-event una-corda-event))
     (rhythmic-event . (lyric-event melodic-event multi-measure-rest-event
+                                  percent-event
                                   rest-event skip-event bass-figure-event))
     (melodic-event . (cluster-note-event note-event))
     (() . (Announcement))
index c6eb5204936c859ac80d3ea840048179a6ac6e7c..bf2c5b6c9910b638cae5b88b3b004da79499feba 100644 (file)
 
 (ly:add-interface
  'rhythmic-grob-interface
- "Any object with a rhythmic basis. Used to determine which grobs
-are interesting enough to maintain a hara-kiri staff."
+ "Any object with a duration. Used to determine which grobs are
+interesting enough to maintain a hara-kiri staff."
  '())
 
 
index 7aad372102825fbbe3882e3a7d255cfc7b6cfed1..02f530d54bb4288e9c2fa0387c809288153862e6 100644 (file)
        (thickness . 0.48)
        (slope . 1.7)
        (meta . ((class . Item)
-                (interfaces . (percent-repeat-item-interface))))))
+                (interfaces . (rhythmic-grob-interface
+                               percent-repeat-item-interface))))))
 
     (RepeatTie
      . (
index 99036e4ed49f9c0fea41f5e0878a51bad20a3187..bec7bc5efcdea16691abb1879b2aad3f1c6fa84f 100644 (file)
@@ -387,7 +387,7 @@ Syntax: @code{\\property @var{context}.@var{prop} = @var{scheme-val}}.")
     (PercentEvent
      . (
        (description .  "Used internally to signal percent repeats.")
-       (types . (general-music event percent-event))
+       (types . (general-music event percent-event rhythmic-event))
        ))
 
     (PesOrFlexaEvent