+2004-05-31 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * 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 <hanwen@xs4all.nl>
* 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.
--- /dev/null
+\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 }
+}
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 ();
}
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_);
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
TRANSLATOR_DECLARATIONS (Tie_performer);
};
-
-
Tie_performer::Tie_performer ()
{
event_ = 0;
ties_created_ = false;
}
-
bool
Tie_performer::try_music (Music *mus)
{
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;
Tie_performer::start_translation_timestep ()
{
context ()->set_property ("tieMelismaBusy",
- ly_bool2scm (heads_to_tie_.size ()));
+ ly_bool2scm (heads_to_tie_.size ()));
}
{
heads_to_tie_.clear ();
last_event_ = 0;
+ ties_created_ = false;
}
if (event_)
(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)