]> git.donarmstrong.com Git - lilypond.git/commitdiff
(start_translation_timestep):
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 23 Feb 2004 16:13:42 +0000 (16:13 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 23 Feb 2004 16:13:42 +0000 (16:13 +0000)
init Recording_group_engraver twice.

12 files changed:
ChangeLog
Documentation/user/invoking.itexi
Documentation/user/macros.itexi
Documentation/user/music-glossary.tely
Documentation/user/refman.itely
VERSION
flower/warn.cc
lily/beam-quanting.cc
lily/include/timing-translator.hh
lily/recording-group-engraver.cc
lily/rest.cc
scm/slur.scm

index acbcfc5804af0891a9d2bdeba8c64a7c83b30a52..38430fe566561c187b8f93f88ed1317db2942da2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-02-23  Han-Wen Nienhuys   <hanwen@xs4all.nl>
+
+       * lily/recording-group-engraver.cc (start_translation_timestep):
+       init Recording_group_engraver twice.
+
 2004-02-23  Jan Nieuwenhuizen  <janneke@gnu.org>
 
        * gcc-3.4 snapshot: 3.4.0 20040215 (prerelease) compile fixes, and
 
 2004-02-23  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+       * Documentation/user/invoking.itexi (Point and click): add index
+       entry.
+
+       * scm/slur.scm (calc-slur-extremity): use 'stem only if slur would
+       go under beam.
+
+       * lily/beam-quanting.cc: tune down ROUND_TO_ZERO_SLOPE, this fixes
+       sarabande beam. 
+
+       * flower/warn.cc (programming_error): cross fingers not thumbs.
+
+       * lily/rest.cc (polyphonic_offset_callback): return 0 when
+       staff-position is set.
+
+       * VERSION: release 2.1.26 
+       
        * scm/chord-entry.scm (construct-chord): process transposition
        after processing explicit-11.  
 
index 0bde1670bd0851b29aa79da0b84399528e453514..21910a2db4439d87a5fb2d271ef9ea5b67870f3d 100644 (file)
@@ -511,6 +511,9 @@ information.
 @section Point and click
 @cindex poind and click
 
+@cindex source specials
+@cindex specials, source
+
 Point and click lets you find notes in the input by clicking on them in
 the Xdvi window. This makes it easier to find input that causes some
 error in the sheet music.
index 5f209a94076109cfc18acf3ce6150b0f07c44f40..d0d949645fc19ff1265949e31c97052dc4ea593e 100644 (file)
@@ -129,19 +129,19 @@ internals document,  @internalsref{\NAME\}
 
 @macro refbugs
 @noindent
-@heading Bugs
+@subsubheading Bugs
 
 @end macro
 
 @macro seealso
 @noindent
-@heading See also
+@subsubheading See also
 
 @end macro
 
 @macro refcommands
 @noindent
-@heading Predefined commands
+@subsubheading Predefined commands
 
 @end macro
 
@@ -159,7 +159,7 @@ internals document,  @internalsref{\NAME\}
 
 @macro syntax
 @noindent
-@heading Syntax
+@subsubheading Syntax
 
 @end macro
 
index a2e86319084050bba1b96363a00f049a70abbd7f..f3bedcb418daa890bed9bb26014bacd17a6a728b 100644 (file)
@@ -1111,7 +1111,7 @@ of the 20th century
            \StaffContext
            \consists Custos_engraver
        }
-raggedright = ##t
+       raggedright = ##t
     }
 }
 @end lilypond
index 10c1061d1e339b7358103bfc3c9c09ee97f6304e..6b07d6aa185fca630a6c512139636842aafb45d9 100644 (file)
@@ -8349,9 +8349,12 @@ is fixed beforehand.  This is also done with a
 staves is fixed by setting @code{forced-distance}. If you want to
 override this, use a @code{\translator} block as follows:
 @example
-  \translator @{
-    \PianoStaffContext
-    VerticalAlignment \override #'forced-distance = #9
+  \paper @{
+    \translator @{
+      \PianoStaffContext
+      \override VerticalAlignment #'forced-distance = #9
+    @}
+    @dots{}
   @}
 @end example
 This would bring the staves together at a distance of 9 staff spaces,
@@ -8364,6 +8367,7 @@ Internals: Vertical alignment of staves is handled by the
 
 
 
+
 @node Horizontal spacing
 @subsection Horizontal Spacing
 
diff --git a/VERSION b/VERSION
index 98890556273401ae491dd4972eabd29c5d2c7e58..2dfd00af372753108cfbc0bbeef61e08fc651cc7 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,5 +2,5 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=1
 PATCH_LEVEL=26
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=hwn1
 
index 117e8fdc6b145d71699fd26daea5415ce7348e0d..40a2b8a3318a156ee3a71593240a83f09c80a718 100644 (file)
@@ -41,7 +41,7 @@ error (String s)
 void
 programming_error (String s)
 {
-  message (_f ("programming error: %s (Continuing; cross thumbs)\n",
+  message (_f ("programming error: %s (Continuing; crossing fingers)\n",
               s.to_str0 ()));
 }
 
index 2a828e0ee5f23e2a0661715e298e7d2b296011c1..2650c4d827ea442ecac7c7ade86ebfbfec640ad4 100644 (file)
@@ -39,7 +39,7 @@ const int DAMPING_DIRECTION_PENALTY = 800;
 const int MUSICAL_DIRECTION_FACTOR = 400;
 const int IDEAL_SLOPE_FACTOR = 10;
 
-const Real ROUND_TO_ZERO_SLOPE = 0.05;
+const Real ROUND_TO_ZERO_SLOPE = 0.02;
 const int ROUND_TO_ZERO_POINTS = 4;
 
 extern bool debug_beam_quanting_flag;
index c2aaf37d66c39eff2152a3491ce07df3ce6dd335..2ec194f76a9bdb389c837cf24f0aa82668045ede 100644 (file)
@@ -18,7 +18,6 @@
 class Timing_translator : public virtual Translator
 {
 public:
-  //  VIRTUAL_COPY_CONS (Translator);
   TRANSLATOR_DECLARATIONS(Timing_translator);
 
 
index 70b7f79f27bbc21a49a11e813b2af2819011d5b7..25f5392172f314b0050501312b181f8538592303 100644 (file)
@@ -27,7 +27,8 @@ void
 Recording_group_engraver::initialize ()
 {
   Engraver_group_engraver::initialize ();
-  accumulator_ = gh_cons (SCM_EOL, SCM_EOL);
+  accumulator_ = gh_cons (gh_cons (now_mom (). smobbed_copy (), SCM_EOL),
+                         SCM_EOL);
 }
 
 Recording_group_engraver::Recording_group_engraver()
@@ -38,8 +39,15 @@ void
 Recording_group_engraver::start_translation_timestep ()
 {
   Engraver_group_engraver::start_translation_timestep();
-  
-  scm_set_car_x (accumulator_, gh_cons (now_mom ().smobbed_copy (), SCM_EOL));
+
+
+  /*
+    We have to do this both in initialize() and
+    start_translation_timestep(), since start_translation_timestep()
+    isn't called on the first time-step.g
+   */
+  if (!gh_pair_p (gh_car (accumulator_)))
+    scm_set_car_x (accumulator_, gh_cons (now_mom ().smobbed_copy (), SCM_EOL));
 }
 
 void
index 658c2e80af2674d6382627a66a1ab956920e6c2a..a7475e452e2c4b7bba4ba0e2a56c0160f63275c4 100644 (file)
@@ -165,6 +165,9 @@ SCM
 Rest::polyphonic_offset_callback (SCM smob, SCM)
 {
   Grob* me = unsmob_grob (smob);
+  if (gh_number_p (me->get_property ("staff-position")))
+    return gh_double2scm (0);
+
   Direction d = get_grob_direction (me);
   Real off = 2* d ;
   if(off)
index 711ee90fb106c2e6ccdf8d3663bc1af1b32f54bb..73e087db0f3e8483bfa3e4b892fe5415aa0c4b1e 100644 (file)
@@ -8,12 +8,16 @@
 
 (define (attached-to-stem slur dir)
   (let* ((note-columns (ly:grob-property slur 'note-columns))
-        (col (if (= dir 1) (car note-columns) (car (last-pair note-columns))))
+        (col (if (= dir RIGHT)
+                 (car note-columns)
+                 (car (last-pair note-columns))))
         (stem (ly:grob-property col 'stem)))
     (and
      (eq? col (ly:spanner-get-bound slur dir))
-     (ly:grob? stem)
-     (ly:grob-property stem 'heads))))
+     ;(ly:grob? stem)
+     ;(pair?  (ly:grob-property stem 'heads))
+
+     )))
 
 
 ;;
 ;;
 (define (calc-slur-extremity slur dir)
   (let* ((note-columns (ly:grob-property slur 'note-columns))
-        (col (car (if (= dir 1) note-columns (reverse note-columns))))
-        (stem (ly:grob-property col 'stem)))
-
+        (col (if (= dir 1)
+                 (car note-columns)
+                 (car (last-pair note-columns))))
+        (stem (ly:grob-property col 'stem))
+        (beaming (if (and (ly:grob? stem)
+                          (ly:grob? (ly:grob-property stem 'beam)))
+                     (ly:grob-property stem 'beaming)
+                     '(() . ())))
+        (one-side-beaming (if (= dir RIGHT)
+                              (car beaming)
+                              (cdr beaming)))
+                     
+        )
 
    (cond
     ((< (length note-columns) 1) 'head)
-    ((not (attached-to-stem slur dir)) 'loose-end)
+    ((not (attached-to-stem slur dir))
+
+     'loose-end)
     ((and stem
          (not (equal? (ly:grob-property slur 'direction) 
                       (ly:grob-property stem 'direction))))  'head)
-    ((and (attached-to-stem slur dir)
+    ((and (memq (ly:spanner-get-bound slur dir)
+               (ly:grob-property slur 'note-columns))
          (ly:grob? stem)
-         (ly:grob? (ly:grob-property stem 'beam))
+
+         ;; slur would go under beam for 'head
+         (> (length one-side-beaming ) 0)
          ;; and beam on same side as slur
          (equal?
           (ly:grob-property stem 'direction)
-          (ly:grob-property slur 'direction)))
+          (ly:grob-property slur 'direction))
+         )
      'stem)
-    ((not (attached-to-stem slur dir))  'loose-end)
-    (else 'head))
+    ((not (attached-to-stem slur dir))
+     'loose-end)
+    (else
+     'head))
    ))