due to previous fixes in basic-spacing.cc and Rational::operator double()
DECLARE_ACKNOWLEDGER (staff_spacing);
DECLARE_ACKNOWLEDGER (note_spacing);
DECLARE_ACKNOWLEDGER (rhythmic_head);
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 ();
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 ();
virtual void finalize ();
void start_spanner ();
Pointer_group_interface::add_grob (spacing_, ly_symbol2scm ("wishes"), i.grob ());
}
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)
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")))
{
if (i.grob ()->internal_has_interface (ly_symbol2scm ("lyric-syllable-interface"))
|| i.grob ()->internal_has_interface (ly_symbol2scm ("multi-measure-interface")))
ADD_ACKNOWLEDGER (Spacing_engraver, staff_spacing);
ADD_ACKNOWLEDGER (Spacing_engraver, note_spacing);
ADD_ACKNOWLEDGER (Spacing_engraver, rhythmic_head);
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 "
ADD_TRANSLATOR (Spacing_engraver,
"make a SpacingSpanner and do "
(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
(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
rest-event skip-event bass-figure-event))
(melodic-event . (cluster-note-event note-event))
(() . (Announcement))
rest-event skip-event bass-figure-event))
(melodic-event . (cluster-note-event note-event))
(() . (Announcement))
(ly:add-interface
'rhythmic-grob-interface
(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."
(thickness . 0.48)
(slope . 1.7)
(meta . ((class . Item)
(thickness . 0.48)
(slope . 1.7)
(meta . ((class . Item)
- (interfaces . (percent-repeat-item-interface))))))
+ (interfaces . (rhythmic-grob-interface
+ percent-repeat-item-interface))))))
(PercentEvent
. (
(description . "Used internally to signal percent repeats.")
(PercentEvent
. (
(description . "Used internally to signal percent repeats.")
- (types . (general-music event percent-event))
+ (types . (general-music event percent-event rhythmic-event))