]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/change-iterator.cc (process): use find_existing_context().
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 31 Mar 2004 11:59:44 +0000 (11:59 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 31 Mar 2004 11:59:44 +0000 (11:59 +0000)
* Documentation/user/notation.itely (Automatic part combining):
add note about \relative.

ChangeLog
Documentation/user/notation.itely
lily/change-iterator.cc
lily/parser.yy

index 6b5e5423961e94bef392d7c09c531b3ed0118b11..f00f04b6f41cf6a03a845ce691737d27fcd223e4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2004-03-31  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+       * lily/change-iterator.cc (process): use find_existing_context().
+
        * input/test/polymetric-differing-notes.ly: use ly:music-compress.
 
        * input/regression/repeat-unfold-tremolo.ly: new file.
index d9e3bc517ebae06e20fbe43a23d8f08356453540..e1a13537a253234149eeca696a04bb63deb5acdf 100644 (file)
@@ -3075,8 +3075,27 @@ Voices can be switched between staves manually, using the following command
 The string @var{staffname} is the name of the staff. It switches the
 current voice from its current staff to the Staff called
 @var{staffname}. Typically @var{staffname} is @code{"up"} or
-@code{"down"}.
+@code{"down"}. The @context{Staff} referred to must already exist, so
+usually the setup for a score will start with a setup of the staves,
 
+@example
+  <<
+  \context Staff = up @{
+    \skip 1 * 10  %@emph{ keep staff alive}
+    @}
+  \context Staff = down @{
+    \skip 1 * 10  %@emph{idem}
+    @}
+  >>
+@end example 
+
+
+and the @context{Voice} is inserted afterwards
+
+@example
+  \context Staff = down
+    \new Voice @{ @dots{} \change Staff = up @dots{} @}
+@end example
 
 
 @node Pedals
index 804e3ff6e3887aae772539cc7dc284b03a2c5adb..829ca048a4e225d458d2616f62cee15daad9b62e 100644 (file)
@@ -65,7 +65,7 @@ Change_iterator::process (Moment m)
     if (last)
       {
        Context * dest = 
-         get_outlet ()->find_create_context (to_type, to_id, SCM_EOL);
+         get_outlet ()->find_existing_context (to_type, to_id, SCM_EOL);
        current->remove_context (last);
        dest->add_context (last);
       }
index 549093937e7a9aef75450eed042c56cbaa2816d3..f02b425f89b533c325e31f668dfaa6a1540715ea 100644 (file)
@@ -792,6 +792,10 @@ Repeated_music:
 
                r-> set_property ("elements",alts);
                if (gh_equal_p ($2, scm_makfrom0str ("tremolo"))) {
+                       /*
+                       TODO: move this code to Scheme.
+                       */
+
                        /*
                        we can not get durations and other stuff correct down the line, so we have to
                        add to the duration log here.