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
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-cvs