CVSROOT:        /cvsroot/lilypond
Module name:    lilypond
Branch:         
Changes by:     Han-Wen Nienhuys <[EMAIL PROTECTED]>    05/07/08 22:16:28

Modified files:
        .              : ChangeLog 
        Documentation/user: advanced-notation.itely 
        lily           : accidental-engraver.cc 
                         chord-tremolo-engraver.cc music.cc 
                         stem-engraver.cc 
        lily/include   : music.hh 
        scm            : define-grobs.scm lily.scm part-combiner.scm 
Added files:
        scm            : autochange.scm 

Log message:
        * lily/include/music.hh (class Music): remove Music::duration_log()
        
        * lily/stem-engraver.cc (make_stem): take duration log from event.
        
        * lily/chord-tremolo-engraver.cc: don't ack note-head-interface.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.3857&tr2=1.3858&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/Documentation/user/advanced-notation.itely.diff?tr1=1.39&tr2=1.40&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/accidental-engraver.cc.diff?tr1=1.98&tr2=1.99&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/chord-tremolo-engraver.cc.diff?tr1=1.80&tr2=1.81&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/music.cc.diff?tr1=1.133&tr2=1.134&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/stem-engraver.cc.diff?tr1=1.103&tr2=1.104&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/include/music.hh.diff?tr1=1.72&tr2=1.73&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/autochange.scm?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grobs.scm.diff?tr1=1.209&tr2=1.210&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/lily.scm.diff?tr1=1.368&tr2=1.369&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/part-combiner.scm.diff?tr1=1.43&tr2=1.44&r1=text&r2=text

Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.3857 lilypond/ChangeLog:1.3858
--- lilypond/ChangeLog:1.3857   Fri Jul  8 21:34:52 2005
+++ lilypond/ChangeLog  Fri Jul  8 22:16:27 2005
@@ -1,4 +1,14 @@
+2005-07-09  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
+
+       * lily/include/music.hh (class Music): remove Music::duration_log()
+
+       * lily/stem-engraver.cc (make_stem): take duration log from event.
+
+       * lily/chord-tremolo-engraver.cc: don't ack note-head-interface.
+
 2005-07-08  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
+
+       * scm/lily.scm (ly:load): load autochange.scm
 
        * Documentation/user/tutorial.itely (Running LilyPond for the
        first time): remove reference to DVI/TeX
Index: lilypond/Documentation/user/advanced-notation.itely
diff -u lilypond/Documentation/user/advanced-notation.itely:1.39 
lilypond/Documentation/user/advanced-notation.itely:1.40
--- lilypond/Documentation/user/advanced-notation.itely:1.39    Fri Jul  8 
18:08:24 2005
+++ lilypond/Documentation/user/advanced-notation.itely Fri Jul  8 22:16:27 2005
@@ -1716,7 +1716,7 @@
 Trills that should be executed on an explicitly specified pitch can be
 typeset with the command @code{pitchedTrill}, 
 
[EMAIL PROTECTED],verbatim]
[EMAIL PROTECTED],verbatim,fragment]
   \pitchedTrill c'4\startTrillSpan fis
   f'\stopTrillSpan
 @end lilypond
Index: lilypond/lily/accidental-engraver.cc
diff -u lilypond/lily/accidental-engraver.cc:1.98 
lilypond/lily/accidental-engraver.cc:1.99
--- lilypond/lily/accidental-engraver.cc:1.98   Sun May  8 23:30:50 2005
+++ lilypond/lily/accidental-engraver.cc        Fri Jul  8 22:16:27 2005
@@ -489,7 +489,6 @@
          || !ly_c_equal_p (info.grob ()->get_property ("style"),
                            ly_symbol2scm ("harmonic")))
        {
-
          Accidental_entry entry;
          entry.head_ = info.grob ();
          entry.origin_trans_ = dynamic_cast<Engraver *> 
(info.origin_translator ());
Index: lilypond/lily/chord-tremolo-engraver.cc
diff -u lilypond/lily/chord-tremolo-engraver.cc:1.80 
lilypond/lily/chord-tremolo-engraver.cc:1.81
--- lilypond/lily/chord-tremolo-engraver.cc:1.80        Sun May  8 23:30:50 2005
+++ lilypond/lily/chord-tremolo-engraver.cc     Fri Jul  8 22:16:27 2005
@@ -13,7 +13,6 @@
 #include "engraver-group-engraver.hh"
 #include "warn.hh"
 #include "misc.hh"
-#include "note-head.hh"
 #include "spanner.hh"
 #include "item.hh"
 #include "chord-tremolo-iterator.hh"
@@ -170,7 +169,9 @@
        }
     }
   else if (repeat_
-          && flags_ && !body_is_sequential_ && Stem::has_interface (info.grob 
()))
+          && flags_
+          && !body_is_sequential_
+          && Stem::has_interface (info.grob ()))
     {
       stem_tremolo_ = make_item ("StemTremolo", repeat_->self_scm ());
       stem_tremolo_->set_property ("flag-count",
@@ -210,6 +211,6 @@
                /* descr */ "Generates beams for  tremolo repeats.",
                /* creats*/ "Beam",
                /* accepts */ "repeated-music",
-               /* acks  */ "stem-interface note-head-interface",
+               /* acks  */ "stem-interface",
                /* reads */ "",
                /* write */ "");
Index: lilypond/lily/include/music.hh
diff -u lilypond/lily/include/music.hh:1.72 lilypond/lily/include/music.hh:1.73
--- lilypond/lily/include/music.hh:1.72 Thu Mar 10 14:36:12 2005
+++ lilypond/lily/include/music.hh      Fri Jul  8 22:16:28 2005
@@ -29,7 +29,6 @@
   void internal_set_property (SCM, SCM val);
   SCM get_property_alist (bool mutble) const;
   bool internal_is_music_type (SCM) const;
-  int duration_log () const;
 
   DECLARE_SCHEME_CALLBACK (relative_callback, (SCM, SCM));
   Pitch to_relative_octave (Pitch);
Index: lilypond/lily/music.cc
diff -u lilypond/lily/music.cc:1.133 lilypond/lily/music.cc:1.134
--- lilypond/lily/music.cc:1.133        Tue Apr 12 22:49:28 2005
+++ lilypond/lily/music.cc      Fri Jul  8 22:16:28 2005
@@ -297,13 +297,6 @@
   return ip ? ip : &dummy_input_global;
 }
 
-int
-Music::duration_log () const
-{
-  if (is_mus_type ("rhythmic-event"))
-    return unsmob_duration (get_property ("duration"))->duration_log ();
-  return 0;
-}
 
 Music *
 make_music_by_name (SCM sym)
Index: lilypond/lily/stem-engraver.cc
diff -u lilypond/lily/stem-engraver.cc:1.103 
lilypond/lily/stem-engraver.cc:1.104
--- lilypond/lily/stem-engraver.cc:1.103        Sun May  8 23:30:51 2005
+++ lilypond/lily/stem-engraver.cc      Fri Jul  8 22:16:28 2005
@@ -53,11 +53,13 @@
   stem_ = make_item ("Stem", gi.music_cause ()->self_scm ());
 
   /*
-    docme: why do we take duration-log from request, not from note
-    head?
+    we take the duration log from the Event, since the duration-log
+    for a note head is always <= 2.
   */
-  int duration_log = gi.music_cause ()->duration_log ();
-  stem_->set_property ("duration-log", scm_int2num (duration_log));
+  Music *music = gi.music_cause ();
+  Duration *dur = unsmob_duration (music->get_property ("duration"));
+  
+  stem_->set_property ("duration-log", dur ? scm_int2num (dur->duration_log 
()) : 0);
 
   if (tremolo_ev_)
     {
@@ -82,7 +84,7 @@
        context ()->set_property ("tremoloFlags", scm_int2num (requested_type));
 
       int tremolo_flags = intlog2 (requested_type) - 2
-       - (duration_log > 2 ? duration_log - 2 : 0);
+       - (dur->duration_log () > 2 ? dur->duration_log () - 2 : 0);
       if (tremolo_flags <= 0)
        {
          tremolo_ev_->origin ()->warning (_ ("tremolo duration is too long"));
@@ -114,15 +116,18 @@
       Music *cause = gi.music_cause ();
       if (!cause)
        return;
-
+      Duration *d = unsmob_duration (cause->get_property ("duration"));
+      if (!d)
+       return ;
+      
       if (!stem_)
        make_stem (gi);
-
-      int duration_log = cause->duration_log ();
-      if (Stem::duration_log (stem_) != duration_log)
+      
+      if (Stem::duration_log (stem_) != d->duration_log ())
        {
          // FIXME: 
-         gi.music_cause ()->origin ()->warning (_f ("adding note head to 
incompatible stem (type = %d)", 1 << Stem::duration_log (stem_)));
+         gi.music_cause ()->origin ()->warning (_f ("adding note head to 
incompatible stem (type = %d)",
+                                                    1 << Stem::duration_log 
(stem_)));
          gi.music_cause ()->origin ()->warning (_f ("maybe input should 
specify polyphonic voices"));
        }
 
Index: lilypond/scm/define-grobs.scm
diff -u lilypond/scm/define-grobs.scm:1.209 lilypond/scm/define-grobs.scm:1.210
--- lilypond/scm/define-grobs.scm:1.209 Fri Jul  8 20:00:15 2005
+++ lilypond/scm/define-grobs.scm       Fri Jul  8 22:16:28 2005
@@ -1299,7 +1299,6 @@
     (TimeSignature
      . (
        (print-function . ,Time_signature::print)
-;      (print-function . ,Text_interface::print)       
        (break-align-symbol . time-signature)
        (break-visibility . ,all-visible)
        (space-alist . (
@@ -1309,7 +1308,6 @@
                        ))
        (breakable . #t)
        (style . C)
-;      (text . (,time-signature-glue-markup))
        (meta . ((interfaces . (time-signature-interface 
break-aligned-interface font-interface item-interface ))))
        ))
 
@@ -1333,7 +1331,9 @@
        (direction . ,LEFT)
        (font-size . -4)
        (print-function . ,Accidental_interface::print)
-       (meta . ((interfaces . (item-interface side-position-interface 
font-interface))))
+       (meta . ((interfaces . (item-interface
+                               accidental-interface
+                               side-position-interface font-interface))))
        ))
 
     (TrillPitchGroup
@@ -1344,6 +1344,7 @@
        (direction . ,RIGHT)
        (padding . 0.3)
        (meta . ((interfaces . (side-position-interface
+                               note-head-interface rhythmic-head-interface
                                font-interface accidental-interface
                                item-interface axis-group-interface))))
        ))
@@ -1354,11 +1355,11 @@
        (Y-offset-callbacks . (,Staff_symbol_referencer::callback))
        (font-size . -4)
        (meta . ((interfaces . (item-interface
+                               rhythmic-head-interface
                                font-interface pitched-trill-interface
                                ledgered-interface 
staff-symbol-referencer-interface))))
        ))
     
-
     (TupletBracket
      . (
        (padding . 1.1)
@@ -1369,7 +1370,6 @@
        (after-line-breaking-callback . ,Tuplet_bracket::after_line_breaking)
        (print-function . ,Tuplet_bracket::print)
        (font-shape . italic)
-;      (font-series . bold)
 
        (font-size . -2)
        (meta . ((interfaces . (text-interface line-interface
Index: lilypond/scm/lily.scm
diff -u lilypond/scm/lily.scm:1.368 lilypond/scm/lily.scm:1.369
--- lilypond/scm/lily.scm:1.368 Fri Jul  8 11:37:29 2005
+++ lilypond/scm/lily.scm       Fri Jul  8 22:16:28 2005
@@ -215,6 +215,7 @@
            "bass-figure.scm"
            "music-functions.scm"
            "part-combiner.scm"
+           "autochange.scm"
            "define-music-properties.scm"
            "auto-beam.scm"
            "chord-name.scm"
Index: lilypond/scm/part-combiner.scm
diff -u lilypond/scm/part-combiner.scm:1.43 lilypond/scm/part-combiner.scm:1.44
--- lilypond/scm/part-combiner.scm:1.43 Mon Mar 28 19:50:16 2005
+++ lilypond/scm/part-combiner.scm      Fri Jul  8 22:16:28 2005
@@ -451,51 +451,6 @@
         (display result))
     result))
 
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; autochange - fairly related to part combining.
-
-(define-public (make-autochange-music music)
-  (define (generate-split-list change-moment event-list acc)
-    (if (null? event-list)
-       acc
-       (let* ((now-tun (caar event-list))
-              (evs (map car (cdar event-list)))
-              (now (car now-tun))
-              (notes (filter (lambda (x)
-                               (equal? (ly:music-property  x 'name) 
'NoteEvent))
-                             evs))
-              (pitch (if (pair? notes)
-                         (ly:music-property (car notes) 'pitch)
-                         #f)))
-         ;; tail recursive.
-         (if (and pitch (not (= (ly:pitch-steps pitch) 0)))
-             (generate-split-list #f
-                                  (cdr event-list)
-                                  (cons (cons
-
-                                         (if change-moment
-                                             change-moment
-                                             now)
-                                         (sign (ly:pitch-steps pitch))) acc))
-             (generate-split-list
-              (if pitch #f now)
-              (cdr event-list) acc)))))
-  
-  (set! noticed '())
-  (let* ((m (make-music 'AutoChangeMusic))
-        (context (ly:run-translator (make-non-relative-music music) 
part-combine-listener))
-        (evs (last-pair noticed))
-        (split (reverse! (generate-split-list
-                          #f
-                          (if (pair? evs)
-                              (reverse! (cdar evs) '()) '())
-                          '())
-                         '())))
-    (set! (ly:music-property m 'element) music)
-    (set! (ly:music-property m 'split-list) split)
-    (set! noticed '())
-    m))
-
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 


_______________________________________________
Lilypond-cvs mailing list
Lilypond-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-cvs

Reply via email to