From 63265b64c5ea359da8ede4a1a5f6199dfeb295e1 Mon Sep 17 00:00:00 2001 From: hanwen Date: Mon, 2 Feb 2004 16:12:49 +0000 Subject: [PATCH] (Automatic part combining): revise documentation of the part-combiner. --- ChangeLog | 3 ++ Documentation/topdocs/NEWS.texi | 8 +++++ Documentation/user/refman.itely | 59 ++++++++++----------------------- VERSION | 4 +-- input/test/text-rotate.ly | 9 +++-- scm/music-functions.scm | 2 +- 6 files changed, 39 insertions(+), 46 deletions(-) diff --git a/ChangeLog b/ChangeLog index ff292ac194..07d5c71d92 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2004-02-02 Han-Wen Nienhuys + * Documentation/user/refman.itely (Automatic part combining): + revise documentation of the part-combiner. + * input/regression/pc-switch-slur.ly (texidoc): remove file. * input/test/part-combine-{moment,staff}.ly: remove file. diff --git a/Documentation/topdocs/NEWS.texi b/Documentation/topdocs/NEWS.texi index f5cc974212..95ea4ad532 100644 --- a/Documentation/topdocs/NEWS.texi +++ b/Documentation/topdocs/NEWS.texi @@ -17,6 +17,14 @@ Version 2.1.13 @end ignore @itemize @bullet +@item The ergonomic syntax of @code{\markup} now has an equivalent in +Scheme. The @code{markup*} macro creates such objects; the following +two markup commands are equivalent: +@example + f4^#(markup* #:raise 0.2 #:bold "hi") + f4^\markup @{ \raise #0.2 \bold hi @} +@end example + @item Voice names, for vocal lines, have been added. They are similar to instrument names. They can be set by defining @code{vocalName} and @code{vocNam}. diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 78449cd9f3..ccae49f6d6 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -4519,27 +4519,24 @@ voices, and stem directions are set automatically. Also, solo and The syntax for part combining is @example - \partcombine @var{context} @var{musicexpr1} @var{musicexpr2} + \newpartcombine @var{musicexpr1} @var{musicexpr2} @end example -where the pieces of music @var{musicexpr1} and @var{musicexpr2} will be -combined into one context of type @var{context}. The music expressions -must be interpreted by contexts whose names should start with @code{one} -and @code{two}. + +The music expressions will be interpreted as @internalsref{Voice} +contexts. The following example demonstrates the basic functionality of the part combiner: putting parts on one staff, and setting stem directions and polyphony: -@lilypond[verbatim,singleline,fragment] - \context Staff << - \context Voice=one \partcombine Voice - \context Thread=one \relative c'' { +@lilypond[verbatim,singleline,fragment,relative 1] + \new Staff \newpartcombine + { g a( b) r } - \context Thread=two \relative c'' { + { g r4 r f } - >> @end lilypond The first @code{g} appears only once, although it was @@ -4553,51 +4550,31 @@ If you just want the merging parts, and not the textual markings, you may set the property @var{soloADue} to false: @lilypond[verbatim,singleline,fragment] - \context Staff << + \new Staff << \property Staff.soloADue = ##f - \context Voice=one \partcombine Voice - \context Thread=one \relative c'' { - b4 a c g - } - \context Thread=two \relative c'' { - d,2 a4 g' + \newpartcombine + { + g a( b) r } - >> + { + g r4 r f + } >> @end lilypond @seealso Internals: @internalsref{PartCombineMusic}, -@internalsref{Thread_devnull_engraver}, and -@internalsref{Voice_devnull_engraver} and @internalsref{A2_engraver}. +@internalsref{SoloOneEvent}, and +@internalsref{SoloTwoEvent}, and +@internalsref{UnisonoEvent}. @refbugs -The syntax for naming contexts in inconsistent with the syntax for -combining stanzas. - In @code{soloADue} mode, when the two voices play the same notes on and off, the part combiner may typeset @code{a2} more than once in a measure: -@lilypond[fragment,singleline] - \context Staff << - \context Voice=one \partcombine Voice - \context Thread=one \relative c'' { - c b c b c a c a - } - \context Thread=two \relative c'' { - b b b b f a f a - } - >> -@end lilypond - -The part combiner is rather buggy, and it will be replaced by a better -mechanism in the near future. -@cindex @code{Thread_devnull_engraver} -@cindex @code{Voice_engraver} -@cindex @code{A2_engraver} @node Hiding staves @subsection Hiding staves diff --git a/VERSION b/VERSION index c26ba763d5..126932f63d 100644 --- a/VERSION +++ b/VERSION @@ -1,6 +1,6 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=2 MINOR_VERSION=1 -PATCH_LEVEL=16 -MY_PATCH_LEVEL=hwn1 +PATCH_LEVEL=17 +MY_PATCH_LEVEL= diff --git a/input/test/text-rotate.ly b/input/test/text-rotate.ly index c449cb8787..bb750a98e2 100644 --- a/input/test/text-rotate.ly +++ b/input/test/text-rotate.ly @@ -7,15 +7,20 @@ Rotated text may be faked using inline TeX (or inline postscript). To see the result, this files must be processed with -the lilypond.py script. +the lilypond.py script, and a line must be uncommented. " + + %% fixme. } \score { \new Staff \notes \relative c'' { - \property Staff.instrument = #"\\rotatebox{90}{Chor}" + \property Staff.instrument = #"rotatebox{90}{Chor}" + +%% uncomment this for rotation +% \property Staff.instrument = #"\\rotatebox{90}{Chor}" c4 c4 } diff --git a/scm/music-functions.scm b/scm/music-functions.scm index 9100c8907e..1b9297509f 100644 --- a/scm/music-functions.scm +++ b/scm/music-functions.scm @@ -1066,5 +1066,5 @@ Rest can contain a list of beat groupings (analyse-time-step 0 0 0 '() '()) (analyse-solo12 0 0 0) - (display result) +; (display result) (vector->list result)) -- 2.39.5