From cac44472aff2d372096c0ae480c357258607dc54 Mon Sep 17 00:00:00 2001 From: fred Date: Wed, 27 Mar 2002 02:03:22 +0000 Subject: [PATCH] lilypond-1.5.15 --- Documentation/user/refman.itely | 64 +++++++++++++++++++++++++-------- input/test/add-staccato.ly | 39 ++++++++++++++++++++ input/test/separate-staccato.ly | 17 +++++++++ stepmake/bin/add-html-footer.py | 18 ++++++++-- 4 files changed, 120 insertions(+), 18 deletions(-) create mode 100644 input/test/add-staccato.ly create mode 100644 input/test/separate-staccato.ly diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index e9ba808c3c..fac04df277 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -5,6 +5,8 @@ @c M-x texinfo-all-menus-update @c to automagically fill in these menus before saving changes +@c FIXME: singular vs. plural: Beams/Beam + @macro refbugs @strong{BUGS} @@ -103,6 +105,7 @@ These threemanship of tasks (parsing, translating, typesetting) and data-structures (music, context, graphical objects) permeates the entire design of the program. +@c FIXME: Note entry vs Music entry at top level menu is confusing. @c . {Note entry} @node Note entry @section Note entry @@ -118,7 +121,7 @@ brevity we omit obligatory lint such as @code{\score} blocks and * Notes:: * Pitches:: * Rests:: -* Skips:: +* Skips:: * Durations:: * Ties:: * Tuplets:: @@ -220,26 +223,57 @@ octave; each @code{,} lowers the pitch by an octave. @subsection Rests @cindex Rests -Rests are entered like notes, with note name `@code{r}'. The grob is -@code{Rest}. Whole bar rests centered in the bar are specified using -@code{R}, see @ref{Multi measure rests}. +A rest is entered like a note, with note name `@code{r}': + +@lilypond[singleline,verbatim] +r1 r2 r4 r8 +@end lilypond + +The grob is @code{Rest}. Whole bar rests centered in the bar are +specified using @code{R}, see @ref{Multi measure rests}. @c . {Skips} +@c FIXME: naming. @node Skips @subsection Skips @cindex Skip +@cindex Invisible rest +@cindex Space note +An invisible rest, or skip, can be entered like a note with note name +`@code{s}': + +@lilypond[singleline,verbatim] +a2 s4 a4 s1 a4 +@end lilypond + +Actually, this is a shorthand for the @code{\skip} command, and it is +only available in Note mode and Chord mode. + +@c FIXME: in lyrics mode, we have " " and _ + +In Lyrics mode, you can use `@code{" "}' and `@code{_}': +@lilypond[singleline,verbatim] +< + \context Lyrics \lyrics { lah2 di4 " " dah2 _4 di } + \notes\relative c'' { a2 a4 a a2 a4 a } +> +@end lilypond + +The unabbreviated `@code{\skip} @var{duration}' also works outside of +note mode: + +@lilypond[singleline,verbatim] +\score { + \context Staff < + { \time 4/8 \skip 2 \time 4/4 } + \notes\relative c'' { a2 a1 } + > +} +@end lilypond -@example - \skip @var{duration} - s@var{duration} -@end example -@cindex @code{\skip} -Skips the amount of time specified by @var{duration}. If no other music -is played, a gap will be left for the skipped time without any notes -printed. The shorthand is only available in Note and Chord mode. @c . {Durations} @node Durations @@ -460,8 +494,8 @@ Hal-Leonard Inc. music publishers. @lilypond[singleline,verbatim] \include "paper23.ly" \score { - \notes { c'2 e'4 f' | g'1 } - \paper { \translator { \EasyNotation } } + \notes { c'2 e'4 f' | g'1 } + \paper { \translator { \EasyNotation } } } @end lilypond @@ -3758,7 +3792,7 @@ number. - +@c FIXME: Note entry vs Music entry at top level menu is confusing. @c . {Music entry} @node Music entry @section Music entry diff --git a/input/test/add-staccato.ly b/input/test/add-staccato.ly new file mode 100644 index 0000000000..cebb441105 --- /dev/null +++ b/input/test/add-staccato.ly @@ -0,0 +1,39 @@ +\header { + +texidoc= "Using make-music, you can add various stuff to notes. Here +is an example how to add staccato dots. Note: for this simple case +one would not use scm constructs. See separate-staccato.ly first." + +} + +#(define (make-script x) + (let ((m (ly-make-music "Articulation_req"))) + ;;(ly-set-mus-property m 'articulation-type 'staccato) + ;; urg + (ly-set-mus-property m 'articulation-type x) + (ly-set-mus-property m 'script x) + m)) + +#(define (add-script m x) + (if (equal? (ly-music-name m) "Request_chord") + (ly-set-mus-property m 'elements + (cons (make-script x) + (ly-get-mus-property m 'elements))) + + (let ((es (ly-get-mus-property m 'elements)) + (e (ly-get-mus-property m 'element)) ) + (map (lambda (y) (add-script y x)) es) + (if (music? e) + (add-script e x)))) + m) + +#(define (add-staccato m) + (add-script m "staccato")) + +\score { + \notes\relative c'' { + a b \apply #add-staccato { c c } + a b \apply #add-staccato { c c } + } +} + diff --git a/input/test/separate-staccato.ly b/input/test/separate-staccato.ly new file mode 100644 index 0000000000..5fc2f6ef15 --- /dev/null +++ b/input/test/separate-staccato.ly @@ -0,0 +1,17 @@ +\header { + +texidoc="You can enter notes and articulations separately, and merge +them into one thread. Here is an example to add repeated staccato dots." + +} + +staccatos = \notes { s4-. s-. s-. s s } + +music = \notes\relative c' { c4 d e f g a b c d e } + +\score { + \context Thread=one < + \music + \repeat unfold 2 \staccatos + > +} diff --git a/stepmake/bin/add-html-footer.py b/stepmake/bin/add-html-footer.py index 7c0f83c036..744c6ac509 100644 --- a/stepmake/bin/add-html-footer.py +++ b/stepmake/bin/add-html-footer.py @@ -42,7 +42,7 @@ built = r"""

This page was built from @PACKAGE_NAME@-@PACKAGE_VERSION@ by
-

@GCOS@ <@MAIL_ADDRESS@>, +
@GCOS@ <@MAILADDRESS@>, @LOCALTIME@.
""" @@ -151,8 +151,20 @@ else: def remove_self_ref (s): self_url = abspath (os.getcwd () + '/' + f) #sys.stderr.write ('url0: %s\n' % self_url) - self_url = re.sub ('.*' + string.lower (package_name) + '[^/]*/', + + # self_url = re.sub ('.*?' + string.lower (package_name) + '[^/]*/', + # '', self_url) + # URG - this only works when source tree is unpacked in `src/' dir + # For some reason, .*? still eats away + # /home/fred/usr/src/lilypond-1.5.14/Documentation/user/out-www/lilypond/ + # instead of just + # + # /home/fred/usr/src/lilypond-1.5.14/ + # + # Tutorial.html + self_url = re.sub ('.*?src/' + string.lower (package_name) + '[^/]*/', '', self_url) + #sys.stderr.write ('url1: %s\n' % self_url) #urg, ugly lily-specific toplevel index hack @@ -226,7 +238,7 @@ def do_file (f): s = re.sub ('@WEBMASTER@', webmaster, s) s = re.sub ('@GCOS@', gcos, s) s = re.sub ('@LOCALTIME@', localtime, s) - s = re.sub ('@MAIL_ADDRESS@', mail_address, s) + s = re.sub ('@MAILADDRESS@', mail_address, s) m = re.match ('.*?', s, re.DOTALL) while m: -- 2.39.5