* scm/part-combiner.scm: rewrite.
2004-02-04 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * lily/spacing-engraver.cc (finalize): robustifications.
+
* input/regression/new-part-combine-solo-global.ly: new file.
* scm/part-combiner.scm: rewrite.
Axis_group_engraver::finalize ()
{
if (!staffline_)
- {
- programming_error ("Huh? This context never lived?");
- return ;
- }
+ return ;
String type = get_daddy_grav ()->context_name ();
SCM dims = get_property ("verticalExtent");
void
Separating_line_group_engraver::finalize ()
{
+ if (!sep_span_)
+ return ;
+
SCM ccol = get_property ("currentCommandColumn");
Grob *column = unsmob_grob (ccol);
SCM mol = me->get_uncached_molecule ();
Interval ext;
if (Molecule * m = unsmob_molecule (mol))
- ext = m->extent= (a);
+ ext = m->extent (a);
return ly_interval2scm (ext);
}
announce_grob(spacing_, SCM_EOL);
}
}
+
void
Spacing_engraver::finalize ()
{
- Grob * p = unsmob_grob (get_property ("currentCommandColumn"));
- spacing_->set_bound (RIGHT, p);
- typeset_grob (spacing_);
- spacing_ =0;
+ if (spacing_)
+ {
+ Grob * p = unsmob_grob (get_property ("currentCommandColumn"));
+
+ spacing_->set_bound (RIGHT, p);
+ typeset_grob (spacing_);
+ spacing_ =0;
+ }
}
void
void
Staff_symbol_engraver::finalize ()
{
- span_->set_bound (RIGHT,unsmob_grob (get_property ("currentCommandColumn")));
- typeset_grob (span_);
+ if (span_)
+ {
+ span_->set_bound (RIGHT,unsmob_grob (get_property ("currentCommandColumn")));
+ typeset_grob (span_);
+ }
span_ =0;
}
void
System_start_delimiter_engraver::finalize ()
{
- delim_->set_bound (RIGHT, unsmob_grob (get_property ("currentCommandColumn")));
- typeset_grob (delim_);
+ if (delim_)
+ {
+ delim_->set_bound (RIGHT, unsmob_grob (get_property ("currentCommandColumn")));
+ typeset_grob (delim_);
+ }
}
ENTER_DESCRIPTION(System_start_delimiter_engraver,
{
valign_ =make_spanner ("VerticalAlignment");
valign_->set_bound (LEFT,unsmob_grob (get_property ("currentCommandColumn")));
- announce_grob(valign_ , SCM_EOL);
+ announce_grob (valign_ , SCM_EOL);
}
}
void
Vertical_align_engraver::finalize ()
{
- valign_->set_bound (RIGHT,unsmob_grob (get_property ("currentCommandColumn")));
- typeset_grob (valign_);
- valign_ =0;
+ if (valign_)
+ {
+ valign_->set_bound (RIGHT,unsmob_grob (get_property ("currentCommandColumn")));
+ typeset_grob (valign_);
+ valign_ =0;
+ }
}
-
bool
Vertical_align_engraver::qualifies_b (Grob_info i) const
{
\type "Recording_group_engraver"
recordEventSequence = #notice-the-events-for-pc
}
+ \translator { \ScoreContext skipTypesetting = ##t }
}
#(set-part-combine-listener partCombineListener)
(let*
- ((pc-debug #t)
+ ((pc-debug #f)
(chord-threshold 8)
(voice-state-vec1 (make-voice-states evl1))
(voice-state-vec2 (make-voice-states evl2))
((notes1 (note-events vs1))
(notes2 (note-events vs2))
)
-
(cond
((and
(= 1 (length notes1))
(= 0 (length notes2)))
(set! (configuration now-state) 'unisilence)))
- (analyse-a2 (1+ ri))
- )))))
+ ))
+ (analyse-a2 (1+ ri))
+
+ )))
(define (analyse-solo12 ri)
(define (put-range x a b)
(do
((i a (1+ i)))
- ((> i b))
- (set! (configuration (vector-ref result i) x))
+ ((> i b) b)
+ (set! (configuration (vector-ref result i)) x)
))
(define (put x)
(set! (configuration (vector-ref result ri)) x))
(analyse-spanner-states voice-state-vec1)
(analyse-spanner-states voice-state-vec2)
- (if #t
+ (if #f
(begin
(display voice-state-vec1)
(display "***\n")
))
(analyse-time-step 0)
- (display result)
(analyse-a2 0)
+; (display result)
(analyse-solo12 0)
; (if pc-debug (display result))