From b285866283868a4ef5e9f072c57088fddd1768a9 Mon Sep 17 00:00:00 2001 From: fred Date: Tue, 26 Mar 2002 21:46:39 +0000 Subject: [PATCH] lilypond-1.1.27 --- Documentation/faq.yo | 2 +- Documentation/footer.html.in | 2 +- Documentation/tex/refman.yo | 1 + Documentation/tex/tutorial.yo | 146 +++++++++++++++---- input/test/hara-kiri.ly | 2 +- ly/engraver.ly | 11 +- make/lilypond.spec.in | 2 +- stepmake/stepmake/documentation-targets.make | 2 +- stepmake/stepmake/texinfo-rules.make | 2 +- 9 files changed, 132 insertions(+), 38 deletions(-) diff --git a/Documentation/faq.yo b/Documentation/faq.yo index 0f733e7386..2aa9ca4e1a 100644 --- a/Documentation/faq.yo +++ b/Documentation/faq.yo @@ -359,7 +359,7 @@ Upgrade to 4.17. question(Why do I need g++ >= 2.8 / EGCS-1.1 ?) -Supporting more compilers then EGCS/G++ 2.8 is unlikely to make +Supporting more compilers than EGCS/G++ 2.8 is unlikely to make LilyPond run on more platforms. It would give us an enormous headache in detecting and catering for every variant of every compiler: not having to support other compilers saves us a em(lot) of trouble. diff --git a/Documentation/footer.html.in b/Documentation/footer.html.in index 4f0a023856..3797a9c564 100644 --- a/Documentation/footer.html.in +++ b/Documentation/footer.html.in @@ -20,7 +20,7 @@ send other FSF & GNU inquiries and questions to -Copyright (c) 1997, 1998 Han-Wen Nienhuys and Jan Nieuwenhuizen. +Copyright (c) 1997, 1998, 1999 Han-Wen Nienhuys and Jan Nieuwenhuizen.

Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

diff --git a/Documentation/tex/refman.yo b/Documentation/tex/refman.yo index 97255bab01..f84468dc12 100644 --- a/Documentation/tex/refman.yo +++ b/Documentation/tex/refman.yo @@ -1,3 +1,4 @@ +mailto(gnu-music-discuss@gnu.org) COMMENT(-*-text-*-) redef(var)(1)(whenlatex(latexcommand({\normalfont\scshape )ARG1+latexcommand(}))\ diff --git a/Documentation/tex/tutorial.yo b/Documentation/tex/tutorial.yo index 33add0a7ec..25f8d74ea6 100644 --- a/Documentation/tex/tutorial.yo +++ b/Documentation/tex/tutorial.yo @@ -1,3 +1,4 @@ +mailto(gnu-music-discuss@gnu.org) COMMENT(-*-text-*-) redef(var)(1)(whenlatex(latexcommand({\normalfont\scshape )ARG1+latexcommand(}))\ @@ -93,15 +94,15 @@ mudela(verbatim)( \score { \notes \relative c'' { - \key g; - \time 3/4; - - d4 [g,8 a b c] d4 g, g | - e'4 [c8 d e fis] g4 g, g | - c4 [d8( )c b a( ] )b4 [c8 b a g] | - a4 [b8 a g fis] g2. | + \key g; + \time 3/4; - \bar ":|"; + \repeat 2 { + d4 [g,8 a b c] d4 g, g | + e'4 [c8 d e fis] g4 g, g | + c4 [d8( )c b a( ] )b4 [c8 b a g] | + a4 [b8 a g fis] g2. | + } b'4 [g8 a b g] a4 [d,8 e fis d] | @@ -208,6 +209,12 @@ verb( this command comes after the code(\time) command, in the output, the key comes before the time signature: LilyPond knows about music typesetting conventions. +verb( + \repeat 2 { +) COMMENT( + +) This command tells LilyPond that the enclosed piece of music must +be played twice. verb( d4 ) COMMENT( @@ -220,7 +227,8 @@ designates the duration of the note (it is a quarter note). COMMENT( [g,8 )COMMENT( -)The open bracket starts a beam. This bracket is connected to the +)The open bracket starts a beam. Lily can set beams automatically, +but we want to specify them ourselves. This bracket is connected to the following note, which is an eighth with pitch code(g') (remember relative mode for pitches!) COMMENT( @@ -270,25 +278,18 @@ closing parenthesis respectively. In the line shown above this is done for two slurs. Note that parentheses (slur markers) are between the notes, and the brackets (beam markers) around the notes. As you can see, the brackets and parentheses do not have to nest. - verb( a4 [b8 a g fis] g2. | ) COMMENT( ) A duration that is to be augmented with a duration dot, is notated with a duration number followed by periods, as many as you want -augmentation dots.COMMENT( - -)verb( - \bar ":|"; % a repeat sign +augmentation dots. +verb( + } ) COMMENT( -) -Lily can not detect where you want your music to be repeated, so you -have to instruct her: a special bar symbol can be entered by the -code(\bar) command followed by a string that signifies the bar symbol -that you want. Then comes a semicolon to separate the string from the -rest of the notes, just like with code(\key) and code(\time). +) The end of the repeated music. LilyPond will typset a repeat bar. verb( cis'4 [b8 cis] a4 | ) COMMENT( @@ -495,6 +496,7 @@ note following the other. You can also use LilyPond to typeset chords. You do this by expressing in mudela simultaneous music, i.e., notes that are to be played concurrently. +subsect(Where the chords have no names) In Mudela you can form simultaneous music by enclosing notes in pointed parentheses, bind(i.e.)bind(langle())bind(and)rangle(). ASCII doesn't really have these delimiters, so Mudela uses the larger-than @@ -541,6 +543,42 @@ that is covered in bind(Section)ref(sec:polyphonic). [Chords and relative mode] +subsect(Chords with names) + +In the previous section we have been talking more about 'stacked notes' +rather than 'chords'. +If you need to enter a lot of chords that have proper names, you can use +the code(\chords) mode as an alternative: +COMMENT( +)mudela(verbatim,fragment,center)( + \chords\transpose c''{ c1 d e } +) +COMMENT( URG? + \chords\relative c''{ c1 d e } +) + +subsect(Names with chords) + +A more common problem is the typesetting of chord names. LilyPond has +a special kind of staff for this, the code(ChordNames) staff. +The code(ChordNames) staff accepts music just as a normal staff, +but typesets only the name of each chord: +COMMENT( + +)mudela(verbatim,center)( +\score{ + \type ChordNames { + \chords + { c1 d-min e-maj5+.9 } + \notes\relative c + { } + } + \paper{ + linewidth=-1.0; + } +} +) Because the ChordNames staff accepts normal music, it can be transposed, +and you may enter it any way you like, either as chords or as notes. sect(Adding nuances: articulation and dynamics) @@ -1340,8 +1378,7 @@ listen, especially if they involve accidentals. The only information that you need to enter is the tempo (Unfortunately, at this time, this the only thing that can be tuned.). The syntax for the tempo is code(\tempo )var(duration) = -var(beatsperminute);), for example: COMMENT( - +var(beatsperminute);, for example: COMMENT( )verb( \score { @@ -1592,8 +1629,35 @@ switch = \type Voice = voiceA \notes { s4 \translator Staff = staffB s4 } ) -Don't try to switch staffs when you are in the middle of a slur or -beam, though: the spanners won't switch along. +If you want to switch staffs you are in the middle of a slur or a +beam, you should take special precautions. In the paper block, +you must tell how far the staffs will be apart: +mudela(verbatim,center)( +\score{ + \type GrandStaff < + \type Staff=one \notes{ s2 } + \type Staff=two \notes\relative c{ + \time 4/8; + \clef "bass"; + \stemup [c8( e + \translator Staff=one \stemup + g )c] + } + > + \paper { + linewidth=-1.0; + % slur damping gets confused + slur_slope_damping = 100.0; + \translator{ + % we're using a grand staff + \GrandStaffContext + minVerticalAlign = 3.0*\staffheight; + maxVerticalAlign = 3.0*\staffheight; + } + } +} +) +as LilyPond cannot determine the interstaff distance. sect(Tuplets) @@ -1628,4 +1692,36 @@ the bracket, the bracket is omitted. sect(Repeats) -[todo] +A repeated piece of music can consist of two parts: one part to be +repeated, and optionally, a list of alternative endings: +COMMENT( +)mudela(verbatim,fragment,center)( + \relative c'{ + \time 2/4; + g' a + \repeat 2 { b c } + \alternative { + { d c } { d e } + } + f g + } +) The number code(repeat-count) defines how many times the piece should be +played. You may leave out the code(\alternative) part. There must not +be more alternative endings than the code(repeat-count). + +A somewhat less intuitive form may be needed for lyrics, when there are +a couple alternatives, but nothing is repeated. The code(\repeat) command +must be present, but it may specify an empty music list: +COMMENT( +)mudela(verbatim,fragment,center)( + \type Lyrics \lyrics { + \repeat 2 { } + \alternative < + { Let's not sing + this twice } + { Rather sing + this in- stead } + > + } +) + diff --git a/input/test/hara-kiri.ly b/input/test/hara-kiri.ly index 52ad9ca67b..0ab043ba56 100644 --- a/input/test/hara-kiri.ly +++ b/input/test/hara-kiri.ly @@ -77,11 +77,11 @@ zagers = \type GrandStaff < > > \paper{ + linewidth = 40.0\mm; \translator { \HaraKiriStaffContext } %uh? % \translator { \OrchestralScoreContext } % \translator { \OrchestralPartStaffContext } - linewidth = 40.0\mm; } } diff --git a/ly/engraver.ly b/ly/engraver.ly index 0b83367fef..6db19042b6 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -134,9 +134,10 @@ GrandStaffContext=\translator{ \name "PianoStaff"; } + \translator { - \type "Line_group_engraver_group"; -% \type "Hara_kiri_line_group_engraver"; + \type "Hara_kiri_line_group_engraver"; +% \type "Line_group_engraver_group"; \consists "Span_bar_engraver"; \consists "Vertical_align_engraver"; \consists "Staff_group_bar_engraver"; @@ -230,7 +231,6 @@ BarNumberingStaffContext = \translator { }; - HaraKiriStaffContext = \translator { \type "Hara_kiri_line_group_engraver"; \name Staff; @@ -252,9 +252,7 @@ HaraKiriStaffContext = \translator { \accepts "Voice"; }; -% huh, Score should do HaraKiri, not Part yes? OrchestralPartStaffContext = \translator { -% \HaraKiriStaffContext \StaffContext barColumnPriority = "0"; marginBreakPriority = "-4"; @@ -262,7 +260,6 @@ OrchestralPartStaffContext = \translator { \consists "Bar_number_engraver"; }; -% where to put HaraKiri here? OrchestralScoreContext= \translator { \type Score_engraver; \name Score; @@ -283,7 +280,7 @@ OrchestralScoreContext= \translator { \accepts "ChoirStaff"; \accepts "StaffGroup"; - \accepts "Staff"; + \accepts "HaraKiriStaff"; \accepts "RhythmicStaff"; \accepts "Lyrics"; \accepts "ChordNames"; diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in index d2592ab89a..6f97f56cbe 100644 --- a/make/lilypond.spec.in +++ b/make/lilypond.spec.in @@ -21,7 +21,7 @@ Prereq: tetex make all ln -s /usr/share/texmf/fonts/tfm/public/cm/ tfm -# make -C Documentation info || true +make -C Documentation info || true make htmldoc || true diff --git a/stepmake/stepmake/documentation-targets.make b/stepmake/stepmake/documentation-targets.make index 59c1b1ecc0..d5f7c50f31 100644 --- a/stepmake/stepmake/documentation-targets.make +++ b/stepmake/stepmake/documentation-targets.make @@ -25,7 +25,7 @@ local-WWW: readme-top_FILES-txt readme-top_FILES-html $(OUTHTML_FILES) $(OUTREAD doc: do-doc $(outdir)/$(package).info: $(outdir)/topinfo.texinfo $(OUTTEXINFO_FILES) - $(MAKEINFO) -o $@ $(outdir)/topinfo.texinfo + $(MAKEINFO) --force -o $@ $(outdir)/topinfo.texinfo # what to do here? ifneq ($(strip $(INFO_FILES)),) diff --git a/stepmake/stepmake/texinfo-rules.make b/stepmake/stepmake/texinfo-rules.make index 4e45a880ef..3177c3bd83 100644 --- a/stepmake/stepmake/texinfo-rules.make +++ b/stepmake/stepmake/texinfo-rules.make @@ -16,7 +16,7 @@ $(outdir)/%.1: %.texinfo $(texi2man) $(outdir)/%.info: $(outdir)/%.texinfo - $(MAKEINFO) -o $@ $< + $(MAKEINFO) --force -o $@ $< # $(outdir)/%.html: %.texinfo # $(texi2html) -- 2.39.5