From: Han-Wen Nienhuys Date: Tue, 8 Aug 2006 17:06:32 +0000 (+0000) Subject: * scm/define-music-types.scm (music-descriptions): add X-Git-Tag: cvs/HEAD~177 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=1a0e26e91fa7152dd1abaaeb8585a26d169c028b;p=lilypond.git * scm/define-music-types.scm (music-descriptions): add line-break-event to LineBreakEvent music * lily/music.cc (to_event): don't crash if music type not set. * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if spacing not set. * lily/spacing-engraver.cc (stop_translation_timestep): set spacing for proportional notation too. --- diff --git a/ChangeLog b/ChangeLog index 99df8bb3e1..70b2426249 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2006-08-08 Han-Wen Nienhuys + * scm/define-music-types.scm (music-descriptions): add + line-break-event to LineBreakEvent music + + * lily/music.cc (to_event): don't crash if music type not set. + + * lily/spacing-loose-columns.cc (set_loose_columns): don't barf if + spacing not set. + + + * lily/spacing-engraver.cc (stop_translation_timestep): set + spacing for proportional notation too. + * scm/translation-functions.scm (format-bass-figure): inspect stream-event. * scripts/lilypond-book.py (bindir): add bindir to $PATH. @@ -22,7 +34,6 @@ * lily/paper-book.cc (pages): use the new page-breaking calling convention ->>>>>>> 1.5227 2006-08-07 Erik Sandberg * lily/lexer.ll, lily/source-file.cc: Add \sourcefileline command diff --git a/lily/music.cc b/lily/music.cc index 3775512538..8a169a217b 100644 --- a/lily/music.cc +++ b/lily/music.cc @@ -270,7 +270,10 @@ Music::to_event () const SCM class_name = ly_symbol2scm (out); // catch mistakes. - assert (internal_is_music_type (class_name)); + if (!internal_is_music_type (class_name)) + { + programming_error ("Not a music type"); + } Stream_event *e = new Stream_event (class_name, mutable_property_alist_); Moment length = get_length (); diff --git a/lily/spacing-engraver.cc b/lily/spacing-engraver.cc index e80f98f1ae..d544410227 100644 --- a/lily/spacing-engraver.cc +++ b/lily/spacing-engraver.cc @@ -170,6 +170,10 @@ Spacing_engraver::stop_translation_timestep () Paper_column *musical_column = dynamic_cast (unsmob_grob (get_property ("currentMusicalColumn"))); + musical_column->set_object ("spacing", spacing_->self_scm ()); + unsmob_grob (get_property ("currentCommandColumn")) + ->set_object ("spacing", spacing_->self_scm ()); + SCM proportional = get_property ("proportionalNotationDuration"); if (unsmob_moment (proportional)) { @@ -211,10 +215,6 @@ Spacing_engraver::stop_translation_timestep () musical_column->set_property ("shortest-playing-duration", sh); musical_column->set_property ("shortest-starter-duration", st); - - musical_column->set_object ("spacing", spacing_->self_scm ()); - unsmob_grob (get_property ("currentCommandColumn")) - ->set_object ("spacing", spacing_->self_scm ()); } diff --git a/lily/spacing-loose-columns.cc b/lily/spacing-loose-columns.cc index cebabe1084..13a37071c0 100644 --- a/lily/spacing-loose-columns.cc +++ b/lily/spacing-loose-columns.cc @@ -13,7 +13,7 @@ #include "staff-spacing.hh" #include "note-spacing.hh" #include "spacing-spanner.hh" - +#include "warn.hh" #include "moment.hh" /* Find the loose columns in POSNS, and drape them around the columns @@ -88,7 +88,10 @@ set_loose_columns (System *which, Column_x_positions const *posns) } Spacing_options options; - options.init_from_grob (spacing); + if (spacing) + options.init_from_grob (spacing); + else + programming_error ("Column without spacing object"); bool expand_only = false; Real base_note_space = 0.0; diff --git a/scm/define-music-types.scm b/scm/define-music-types.scm index b20225cfca..76c113513b 100644 --- a/scm/define-music-types.scm +++ b/scm/define-music-types.scm @@ -254,7 +254,7 @@ Syntax: @var{note}\\laissezVibrer.") (LineBreakEvent . ( (description . "Allow, forbid or force a line break.") - (types . (general-music break-event event)) + (types . (general-music line-break-event break-event event)) )) (LyricCombineMusic