]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.140
authorfred <fred>
Wed, 27 Mar 2002 00:58:12 +0000 (00:58 +0000)
committerfred <fred>
Wed, 27 Mar 2002 00:58:12 +0000 (00:58 +0000)
12 files changed:
input/bugs/pc-mmrest.ly
lily/multi-measure-rest-engraver.cc
lily/multi-measure-rest.cc
mutopia/Coriolan/global.ly
mutopia/J.S.Bach/Duette/violino-viola.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-3.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly
scm/lily.scm

index 4071a597d6c15fc737ec77dbf8ff755ee5e1ccf7..e188fa5098bcbf0a8006e4cf7127ec96212259d3 100644 (file)
@@ -4,26 +4,57 @@
 % 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
index f207171f965c959027bd196fe84b7dc517375c6a..9720596664caa40c5b69bea10c17a21161d571f9 100644 (file)
@@ -140,17 +140,22 @@ Multi_measure_rest_engraver::stop_translation_timestep ()
   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;
     }
 
index 8b0f8dd5ddde68c3e9d2c8cbdd24ac46694581e2..f216aeac8a4988af1471d56d05778d38ec9afe95 100644 (file)
@@ -135,7 +135,7 @@ Multi_measure_rest::brew_molecule (SCM smob)
   
   Molecule s;
 
-  int measures = 1;
+  int measures = 0;
   SCM m (me->get_grob_property ("measure-count"));
   if (gh_number_p (m))
     {
@@ -144,7 +144,19 @@ Multi_measure_rest::brew_molecule (SCM smob)
   
 
   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
index ff033a920c6d28d20ea7ead33a6aa48ddc2c2cc0..1ad0eaef57d12d4aaf5c636af891b7e395be6f41 100644 (file)
@@ -18,12 +18,12 @@ staffCombinePianoStaffProperties = {
        \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")))
 
index 8c6e89738e70460dda9ed36a4db235e7f529dc79..4861fc0a4e98b4c14ac1ccc00118d3fad0927e01 100644 (file)
@@ -1,4 +1,4 @@
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
 \header{
 filename =      "violino-viola.ly";
 title =                 "Vier Duette";
index 555a93fc651b2dd2eceb6a018d1547a51ca70830..bc01566375f5b1ae76a23717d991ce2b10af8227 100644 (file)
@@ -1,4 +1,4 @@
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
 
 opus = "BWV 924"
 piece = "1"
index 6515363d5e7bc08ba2f6db18d90f6dbb2582b09d..7cc393dd7a845ba354f0cd989db64d4110175835 100644 (file)
@@ -1,4 +1,4 @@
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
 
 opus= "BWV 939"
 piece = "2"
index 7b47bee65a4bc68d5550c16dca236beb16d2361e..0a72241a6902f311526e1b0169cc5dee728145a5 100644 (file)
@@ -1,4 +1,4 @@
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
 
 opus= "BWV 999"
 piece = "3"
index 6cfb776a0e54d7d27a78ae562cc9609dc9de5af6..21ebac28870d54470032d13df47f7640f2755ca6 100644 (file)
@@ -1,4 +1,4 @@
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
 
 opus = "BWV 925"
 piece = "4"
index 9afd7e04e2d63a643dd038ac141dd66e97a71399..04b810b9d8e8becca47073d5cae7309e3f74b783 100644 (file)
@@ -1,4 +1,4 @@
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
 
 piece = "5"
 opus = "BWV 926"
index 56db045f37f9d3468ad4f2b62fdeb191a973f972..3ddbbe51f1ef324cc2f36a47814d0f2c6385ea1e 100644 (file)
@@ -1,4 +1,4 @@
-#(set! point-and-click #t)
+#(set! point-and-click line-column-location)
 
 opus = "BWV 940"
 piece = "6"
index 04c217ed4689bd1cfc67a62ff2250893583cc655..3019ca7bdd90f0a4e33b82e80bebba85a5858fce 100644 (file)
@@ -23,7 +23,7 @@
 (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)