[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Chord tremolo broken in 1.5.43
From: |
Mats Bengtsson |
Subject: |
Re: Chord tremolo broken in 1.5.43 |
Date: |
Sat, 06 Apr 2002 18:30:32 +0200 |
OK, here comes a new patch (assuming that you have thrown
away the crap I sent some hours ago). This time, both
chord tremolos and Completion_heads_engraver should work.
I also included an example file for Completion_heads_engraver,
since an undocumented feature is a non-existing feature.
/Mats
Generated by (address unknown),
>From = lilypond-1.5.50, To = lilypond-1.5.50.mb1
usage
cd lilypond-source-dir; patch -E -p1 < lilypond-1.5.50.mb1.diff
Patches do not contain automatically generated files
or (urg) empty directories,
i.e., you should rerun autoconf, configure
diff -purN ../lilypond-1.5.50/ChangeLog ./ChangeLog
--- ../lilypond-1.5.50/ChangeLog Tue Apr 2 00:56:31 2002
+++ ./ChangeLog Sat Apr 6 18:18:00 2002
@@ -1,3 +1,16 @@
+2002-04-06 Mats Bengtsson <address@hidden@s3.kth.se>
+
+ * lily/stem-engraver.cc (acknowledge_grob): Revert to old way of
+ finding out the duration. Fixes chord tremolo bug.
+
+ * lily/completion-note-heads-engraver.cc (process_music): Set
+ correct duration for all requests of the broken notes.
+
+ * input/regression/completion-heads.ly: Added example of
+ Completion_heads_engraver.
+
+ * lilypond-mode.el: Added "2Midi" command
+
2002-04-02 Han-Wen <address@hidden>
* VERSION: release 1.5.50
diff -purN ../lilypond-1.5.50/Documentation/topdocs/INSTALL.texi
./Documentation/topdocs/INSTALL.texi
--- ../lilypond-1.5.50/Documentation/topdocs/INSTALL.texi Sat Mar 23
00:17:51 2002
+++ ./Documentation/topdocs/INSTALL.texi Sat Apr 6 00:29:00 2002
@@ -126,7 +126,6 @@ Check out @uref{http://www.python.org, t
@item GUILE (version 1.4 or newer).
Check out
@uref{http://www.gnu.org/software/guile/guile.html,the GUILE webpage}.
-Version 1.4 is recommended for better performance.
@item GNU Make.
Check out
diff -purN ../lilypond-1.5.50/VERSION ./VERSION
--- ../lilypond-1.5.50/VERSION Tue Apr 2 00:55:44 2002
+++ ./VERSION Sat Apr 6 00:27:00 2002
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
MAJOR_VERSION=1
MINOR_VERSION=5
PATCH_LEVEL=50
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=mb1
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
diff -purN ../lilypond-1.5.50/input/regression/completion-heads.ly
./input/regression/completion-heads.ly
--- ../lilypond-1.5.50/input/regression/completion-heads.ly Thu Jan 1
01:00:00 1970
+++ ./input/regression/completion-heads.ly Sat Apr 6 18:16:05 2002
@@ -0,0 +1,24 @@
+\version "1.5.50"
+
+\header{
+texidoc="
+
+If the Note_heads_engraver is replaced by the Completion_heads_engraver,
+notes that cross bar lines are split into tied notes.
+"
+}
+
+\score{
+ \notes\relative c'{
+ \time 2/4
+
+ c2. c8 d4 e f g a b c8 c2 b4 a g16 f4 e d c8. c2
+ }
+ \paper{
+ \translator{
+ \ThreadContext
+ \remove "Note_heads_engraver"
+ \consists "Completion_heads_engraver"
+ }
+ }
+}
\ No newline at end of file
diff -purN ../lilypond-1.5.50/lily/completion-note-heads-engraver.cc
./lily/completion-note-heads-engraver.cc
--- ../lilypond-1.5.50/lily/completion-note-heads-engraver.cc Sun Mar 24
21:46:53 2002
+++ ./lily/completion-note-heads-engraver.cc Sat Apr 6 17:16:01 2002
@@ -184,9 +184,6 @@ Completion_heads_engraver::process_music
Music * m = note_req_l_arr_[i]->clone ();
scratch_note_reqs_.push (m);
}
-
- for (int i =0; i < scratch_note_reqs_.size (); i++)
- scratch_note_reqs_[i]->set_mus_property ("duration",
note_dur.smobbed_copy ());
}
@@ -202,7 +199,8 @@ Completion_heads_engraver::process_music
SCM pits = note_req_l_arr_[i]->get_mus_property ("pitch");
req->set_mus_property ("pitch",pits);
}
-
+
+ req->set_mus_property ("duration", note_dur.smobbed_copy ());
note_p->set_grob_property ("duration-log",
gh_int2scm (note_dur.duration_log ()));
diff -purN ../lilypond-1.5.50/lily/stem-engraver.cc ./lily/stem-engraver.cc
--- ../lilypond-1.5.50/lily/stem-engraver.cc Tue Apr 2 00:48:01 2002
+++ ./lily/stem-engraver.cc Sat Apr 6 18:26:18 2002
@@ -54,11 +54,13 @@ Stem_engraver::acknowledge_grob (Grob_in
if (Rhythmic_head::stem_l (h))
return;
- /*
- We take the duration-log of the head; this is because
- auto-tieing does strange things with the rhythmics.
- */
- int duration_log =gh_scm2int (h->get_grob_property ("duration-log"));
+ /* Reverted to the old method so chord tremolos work again. /MB
+ */
+ int duration_log = 0;
+ Rhythmic_req *rhythmic_req = dynamic_cast <Rhythmic_req *>
(i.music_cause ());
+ if (rhythmic_req)
+ duration_log = unsmob_duration (rhythmic_req->get_mus_property
("duration"))-> duration_log ();
+
if (!stem_p_)
{
stem_p_ = new Item (get_property ("Stem"));
diff -purN ../lilypond-1.5.50/lilypond-mode.el ./lilypond-mode.el
--- ../lilypond-1.5.50/lilypond-mode.el Sun Mar 17 19:22:19 2002
+++ ./lilypond-mode.el Sat Apr 6 00:26:04 2002
@@ -169,6 +169,7 @@ in LilyPond-include-path."
("2Dvi" . ("ly2dvi %s" . "View"))
("2PS" . ("ly2dvi -P %s" . "View"))
+ ("2Midi" . ("lilypond -m %s" . "View"))
("Book" . ("lilypond-book %x" . "LaTeX"))
("LaTeX" . ("latex '\\nonstopmode\\input %l'" . "View"))