% the problem is more complex: the mmrest-engraver lives at staff level,
% but it seems that we need one per voice.
%
+
+#(set! point-and-click line-column-location)
+one = \notes\relative c'' {
+
+ f4 \!e-.\f r2|
+ R1|
+ f2\p()es|
+ \property Voice.crescendoText = #'(lines " " "cresc." " ")
+ \property Voice.crescendoSpanner = #'dashed-line
+ d1\<|
+ d1|
+ d2 d2|
+ d2 d2|
+ \!f1\ff ~|
+ f1
+}
+
+two = \notes \relative c'' {
+ r4 c r2|
+ R1*6|
+ c1 ~|
+ c1
+}
+
\score {
\notes <
\context Staff = Viole <
\context Voice=one \partcombine Voice
- \context Thread=one \relative c''{ R1 d4 d d d }
- \context Thread=two { R1*2 }
+ \context Thread=one \one
+ \context Thread=two \two
>
>
\paper {
-% {
\translator {
- \StaffContext
- \remove Multi_measure_rest_engraver;
- \remove Bar_engraver;
+ \ThreadContext
+ \consists "Rest_engraver";
}
\translator {
\VoiceContext
+ \remove "Rest_engraver";
\consists Multi_measure_rest_engraver;
\consists Bar_engraver;
}
-% }
+ \translator {
+ \HaraKiriStaffContext
+ \remove Multi_measure_rest_engraver;
+ \remove Bar_engraver;
+ }
+ \translator {
+ \OrchestralScoreContext
+ RestCollision \override #'maximum-rest-count = #1
+ }
}
}
\ No newline at end of file
Moment mp = (unsmob_moment (smp)) ? *unsmob_moment (smp) : Moment (0);
if (mmrest_p_ && (now_mom () >= start_moment_)
- && !mp
- && (scm_ilength (mmrest_p_->get_grob_property ("columns")) >= 2))
+ && !mp
+ && (scm_ilength (mmrest_p_->get_grob_property ("columns")) >= 2))
{
typeset_grob (mmrest_p_);
/*
we must keep mmrest_p_ around to set measure-count.
*/
}
+
if (lastrest_p_)
{
- typeset_grob (lastrest_p_);
+ /* sanity check */
+ if (scm_ilength (lastrest_p_->get_grob_property ("columns")) >= 2
+ && lastrest_p_->get_bound (LEFT) && lastrest_p_->get_bound (RIGHT)
+ && lastrest_p_->get_bound (LEFT) != lastrest_p_->get_bound (RIGHT))
+ typeset_grob (lastrest_p_);
lastrest_p_ = 0;
}
Molecule s;
- int measures = 1;
+ int measures = 0;
SCM m (me->get_grob_property ("measure-count"));
if (gh_number_p (m))
{
SCM limit = me->get_grob_property ("expand-limit");
- if (measures <= gh_scm2int (limit))
+ if (measures <= 0)
+ return SCM_EOL;
+ if (measures == 1)
+ {
+ s = musfont->find_by_name (Rest::glyph_name (me, 0, ""));
+
+ /*
+ ugh.
+ */
+ if (Staff_symbol_referencer::position_f (me) == 0.0)
+ s.translate_axis (Staff_symbol_referencer::staff_space (me), Y_AXIS);
+ }
+ else if (measures <= gh_scm2int (limit))
{
/*
Build a rest from smaller parts. Distances inbetween are
\property PianoStaff.soloIIText = #""
% This is non-conventional, but currently it is
% the only way to tell the difference.
- \property PianoStaff.aDueText = #"\\`a2"
+ \property PianoStaff.aDueText = #"a2"
\property PianoStaff.splitInterval = #'(1 . 0)
\property PianoStaff.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1))
\property PianoStaff.noDirection = ##t
}
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
#(define text-flat '((font-relative-size . -2) (music "accidentals--1")))
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
\header{
filename = "violino-viola.ly";
title = "Vier Duette";
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
opus = "BWV 924"
piece = "1"
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
opus= "BWV 939"
piece = "2"
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
opus= "BWV 999"
piece = "3"
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
opus = "BWV 925"
piece = "4"
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
piece = "5"
opus = "BWV 926"
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
opus = "BWV 940"
piece = "6"
(define (line-column-location line col file)
"Print an input location, including column number ."
(string-append (number->string line) ":"
- (number->string col) " " file " ")
+ (number->string col) " " file)
)
(define (line-location line col file)