From 5b42a287848b7889e2ef2418e7d992d23594e31d Mon Sep 17 00:00:00 2001 From: Han-Wen Nienhuys Date: Mon, 31 May 2004 12:00:30 +0000 Subject: [PATCH] * lily/tie-performer.cc (stop_translation_timestep): reset ties_created_. Fixes: midi-tie.ly, midi-lyrics-barcheck.ly * lily/chord-tremolo-engraver.cc (stop_translation_timestep): clear repeat_ directly after setting stem_tremolo_. Fixes: tremolo-repeat.ly * input/regression/span-bar-break.ly: new file. * scm/define-grobs.scm (all-grob-descriptions): remove break-visibility from SpanBar. Fixes: piano-repeat.ly --- ChangeLog | 16 +++++++++++++++- input/regression/span-bar-break.ly | 17 +++++++++++++++++ lily/chord-tremolo-engraver.cc | 10 ++++++++-- lily/paper-book.cc | 7 +++++-- lily/span-bar.cc | 5 +++-- lily/tie-performer.cc | 8 +++----- scm/define-grobs.scm | 1 - 7 files changed, 51 insertions(+), 13 deletions(-) create mode 100644 input/regression/span-bar-break.ly diff --git a/ChangeLog b/ChangeLog index e9eae179a6..aae8ec07ad 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,23 @@ +2004-05-31 Han-Wen Nienhuys + + * lily/tie-performer.cc (stop_translation_timestep): reset + ties_created_. Fixes: midi-tie.ly, midi-lyrics-barcheck.ly + + * lily/chord-tremolo-engraver.cc (stop_translation_timestep): + clear repeat_ directly after setting stem_tremolo_. Fixes: + tremolo-repeat.ly + + * input/regression/span-bar-break.ly: new file. + + * scm/define-grobs.scm (all-grob-descriptions): remove + break-visibility from SpanBar. Fixes: piano-repeat.ly + 2004-05-30 Han-Wen Nienhuys * python/lilylib.py (make_ps_images): only compute bbox when needed. * scripts/lilypond-book.py (process_snippets): use lily -f ps - files for generating pngs. + files for generating pngs. (failed experiment) * scm/framework-ps.scm (output-classic-framework-ps): dump EPS file with PFA fonts included. diff --git a/input/regression/span-bar-break.ly b/input/regression/span-bar-break.ly new file mode 100644 index 0000000000..479429dfa7 --- /dev/null +++ b/input/regression/span-bar-break.ly @@ -0,0 +1,17 @@ +\version "2.2.0" + +\header { texidoc = "At the beginning of a system, +the @code{|:} repeat barline is drawn between the staves, +but the @code{:|} is not." +" } + +\score { + \notes \new PianoStaff << + \context Staff=up { + \bar "|:" r1 + \bar ":|" \break r1 + } + \context Staff=down { r r } + >> + \paper{ raggedright = ##t } +} diff --git a/lily/chord-tremolo-engraver.cc b/lily/chord-tremolo-engraver.cc index 7048eb41c8..ab2dc0d39a 100644 --- a/lily/chord-tremolo-engraver.cc +++ b/lily/chord-tremolo-engraver.cc @@ -206,9 +206,15 @@ Chord_tremolo_engraver::start_translation_timestep () void Chord_tremolo_engraver::stop_translation_timestep () { - typeset_beam (); + if (stem_tremolo_) + { + repeat_ = 0; + if (beam_) + programming_error ("Huh, beam and stem tremolo?"); + stem_tremolo_ = 0; + } - stem_tremolo_ = 0; + typeset_beam (); } diff --git a/lily/paper-book.cc b/lily/paper-book.cc index 6c5c02dabb..21abd2737d 100644 --- a/lily/paper-book.cc +++ b/lily/paper-book.cc @@ -328,8 +328,11 @@ Paper_book::lines () if (!title.is_empty ()) lines_ = scm_cons (stencil2line (title, true), lines_); - SCM line_list = scm_vector_to_list (score_lines_[i].lines_); // guh. - lines_ = scm_append (scm_list_2 (scm_reverse (line_list), lines_)); + if (scm_vector_p (score_lines_[i].lines_) == SCM_BOOL_T) + { + SCM line_list = scm_vector_to_list (score_lines_[i].lines_); // guh. + lines_ = scm_append (scm_list_2 (scm_reverse (line_list), lines_)); + } } lines_ = scm_reverse (lines_); diff --git a/lily/span-bar.cc b/lily/span-bar.cc index b49bde8aa3..8e87dc0530 100644 --- a/lily/span-bar.cc +++ b/lily/span-bar.cc @@ -130,8 +130,9 @@ MAKE_SCHEME_CALLBACK (Span_bar,before_line_breaking,1); SCM Span_bar::before_line_breaking (SCM smob) { - evaluate_empty (unsmob_grob (smob)); - evaluate_glyph (unsmob_grob (smob)); + Grob * g = unsmob_grob (smob); + evaluate_empty (g); + evaluate_glyph (g); /* No need to call Bar_line::before_line_breaking (), because the info in ELEMENTS already has been procced by diff --git a/lily/tie-performer.cc b/lily/tie-performer.cc index a90d4bab1e..5bcc1987a0 100644 --- a/lily/tie-performer.cc +++ b/lily/tie-performer.cc @@ -32,8 +32,6 @@ public: TRANSLATOR_DECLARATIONS (Tie_performer); }; - - Tie_performer::Tie_performer () { event_ = 0; @@ -41,7 +39,6 @@ Tie_performer::Tie_performer () ties_created_ = false; } - bool Tie_performer::try_music (Music *mus) { @@ -75,7 +72,7 @@ Tie_performer::acknowledge_audio_element (Audio_element_info inf) if (right_mus && left_mus && ly_c_equal_p (right_mus->get_property ("pitch"), - left_mus->get_property ("pitch"))) + left_mus->get_property ("pitch"))) { an->tie_to (th); ties_created_ = true; @@ -88,7 +85,7 @@ void Tie_performer::start_translation_timestep () { context ()->set_property ("tieMelismaBusy", - ly_bool2scm (heads_to_tie_.size ())); + ly_bool2scm (heads_to_tie_.size ())); } @@ -99,6 +96,7 @@ Tie_performer::stop_translation_timestep () { heads_to_tie_.clear (); last_event_ = 0; + ties_created_ = false; } if (event_) diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index b7cdfff34b..dff0c8b851 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -868,7 +868,6 @@ (break-align-symbol . staff-bar) (bar-size-procedure . ,Span_bar::get_bar_size) (print-function . ,Span_bar::print) - (break-visibility . ,begin-of-line-invisible) (X-extent-callback . ,Span_bar::width_callback) (Y-extent-callback . ()) (breakable . #t) -- 2.39.2