From b8e882928e5aafc6f898e812e0c8a79bf8106fef Mon Sep 17 00:00:00 2001 From: hanwen Date: Sat, 31 Jul 2004 12:38:58 +0000 Subject: [PATCH] (Educational use): new section --- ChangeLog | 6 ++ Documentation/user/notation.itely | 82 +++++++++++++++++++++-- buildscripts/lilypond-profile.sh | 10 +-- input/{test => regression}/beam-auto.ly | 0 input/{test => regression}/beam-isknee.ly | 0 input/test/ambitus-mixed.ly | 68 ++++++------------- input/test/ancient-accidentals.ly | 56 ++++------------ input/test/bagpipe.ly | 68 +++++++++---------- input/test/bar-lines-lyric-only.ly | 53 +++++++-------- input/test/beam-alternate.ly | 38 +++++------ input/test/beam-control.ly | 5 -- input/test/beam-count.ly | 11 +-- input/test/beam-neutral-direction.ly | 23 ------- input/test/beam-rest.ly | 20 ------ input/test/blank-notes.ly | 15 ----- input/test/blank-paper-tab.ly | 25 ------- 16 files changed, 199 insertions(+), 281 deletions(-) rename input/{test => regression}/beam-auto.ly (100%) rename input/{test => regression}/beam-isknee.ly (100%) delete mode 100644 input/test/beam-neutral-direction.ly delete mode 100644 input/test/beam-rest.ly delete mode 100644 input/test/blank-paper-tab.ly diff --git a/ChangeLog b/ChangeLog index 1d52a67543..ce203337e3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2004-07-31 Han-Wen Nienhuys + * Documentation/user/notation.itely (Educational use): new section + + * input/test/*.ly: clean up directory: move examples into manual + or regtest. + + * stepmake/stepmake/metafont-rules.make ($(outdir)/%.log): add mode as well. This fixes resolution errors. diff --git a/Documentation/user/notation.itely b/Documentation/user/notation.itely index 7758aaa490..ee13e3fe0c 100644 --- a/Documentation/user/notation.itely +++ b/Documentation/user/notation.itely @@ -29,7 +29,7 @@ somewhat familiar with LilyPond. * Orchestral music:: * Ancient notation:: * Contemporary notation:: -* Special notation:: +* Educational use:: * Sound:: @end menu @@ -1371,6 +1371,7 @@ Program reference: @internalsref{Beam}. @menu * Manual beams:: * Setting automatic beam behavior:: +* Beam formatting:: @end menu @node Manual beams @@ -1564,6 +1565,25 @@ It is not possible to specify beaming parameters that act differently in different parts of a measure. This means that it is not possible to use automatic beaming in irregular meters such as @code{5/8}. +@node Beam formatting +@subsection Beam formatting + + +When a beam falls in the middle of the staff, the beams point normally +down. However, this behaviour can be altered with the +@code{neutral-direction} property. + + +@lilypond +\relative c'' { + b8[ b] + \override Beam #'neutral-direction = #-1 + b[ b] + \override Beam #'neutral-direction = #1 + b[ b] +} +@end lilypond + @node Accidentals @section Accidentals @cindex Accidentals @@ -3313,7 +3333,6 @@ These three functions can be controlled separately, and that is what the following sections are about. @menu -* Easy lyrics entry * Entering lyrics:: * The Lyrics context:: * More stanzas:: @@ -4801,8 +4820,8 @@ ancient notation, see @ref{Custodes}, @ref{Divisiones}, * Custodes:: * Divisiones:: * Ligatures:: -* Figured bass:: * Vaticana style contexts:: +* Figured bass:: @end menu If this all is way too much of documentation for you, and you just @@ -6605,11 +6624,13 @@ See @ref{Articulations} for general instructions how to apply scripts such as fermatas to notes. -@node Special notation -@section Special notation +@node Educational use +@section Educational use @menu * Balloon help:: +* Blank music paper:: +* Notation for excercises:: * Easy Notation note heads:: @end menu @@ -6644,6 +6665,57 @@ Program reference: @internalsref{text-balloon-interface}. Examples: @inputfileref{input/regression,balloon.ly}. + + + +@node Blank music paper +@subsection Blank music paper + +A blank music paper can be produced also by using invisible notes, and +removing @code{Bar_number_engraver}. + + +@lilypond +emptymusic = { + \repeat unfold 2 % Change this for more lines. + { s1\break } + \bar "|." +} +\new Score \with { + \override TimeSignature #'transparent = ##t + defaultBarType = #"" + \remove Bar_number_engraver +} << + \context Staff \emptymusic + \context TabStaff \emptymusic +>> +@end lilypond + + +@node Notation for excercises +@subsection Notation for excercises + +@cindex Blank Notes + +Invisible (or transparent) notes can be useful, when weird tricks are +needed; especially, a slur cannot be attach to a rest or spacer rest. + + +@lilypond +blanknotes = { \override NoteHead #'transparent = ##t + \override Stem #'transparent = ##t } +unblanknotes = { \revert NoteHead #'transparent + \revert Stem #'transparent } + + +\relative c'' { + c4 d4 + \blanknotes e4 f4 \unblanknotes + g4 a +} +@end lilypond + + @node Easy Notation note heads @subsection Easy Notation note heads diff --git a/buildscripts/lilypond-profile.sh b/buildscripts/lilypond-profile.sh index 16afdaba97..339b7b0361 100644 --- a/buildscripts/lilypond-profile.sh +++ b/buildscripts/lilypond-profile.sh @@ -80,13 +80,13 @@ else # For direct ps output: ps/lilyponddefs.ps - GS_LIB="$datadir/ps:"${GS_LIB:=""} - export GS_LIB +# GS_LIB="$datadir/ps:"${GS_LIB:=""} +# export GS_LIB # For direct ps output fonts. Add all available TeX Type1 fonts - tmppfadir=`kpsewhich ecrm10.pfa` - GS_FONTPATH=$datadir/pfa:`dirname $tmppfadir`:${GS_FONTPATH:=""} - export GS_FONTPATH +# tmppfadir=`kpsewhich ecrm10.pfa` +# GS_FONTPATH=$datadir/pfa:`dirname $tmppfadir`:${GS_FONTPATH:=""} +# export GS_FONTPATH fi # remove for zsh diff --git a/input/test/beam-auto.ly b/input/regression/beam-auto.ly similarity index 100% rename from input/test/beam-auto.ly rename to input/regression/beam-auto.ly diff --git a/input/test/beam-isknee.ly b/input/regression/beam-isknee.ly similarity index 100% rename from input/test/beam-isknee.ly rename to input/regression/beam-isknee.ly diff --git a/input/test/ambitus-mixed.ly b/input/test/ambitus-mixed.ly index cff5c8e03a..21515d46e9 100644 --- a/input/test/ambitus-mixed.ly +++ b/input/test/ambitus-mixed.ly @@ -1,60 +1,30 @@ \header { -texidoc = "The showing of ambituses can be switched off or they can be -shifted horizontally by using @code{applyoutput}. -If you want to mix per-voice and per-staff ambituses, then you have to -define new context type derived from the @code{Voice} or @code{Staff} -context. The derived context must contain the @code{Ambitus_engraver} -and it must be accepted by a proper parent context, which are respectively -the @code{Staff} context or @code{Score} context in the example below. -The original context and the derived context can then be used in parallel -in the same score (not demonstrated in this file). -" + texidoc = "Ambituses can be added per voice. In that case, the +ambitus must be moved manually to prevent collisions." + } \version "2.3.8" -#(define (kill-ambitus grob grob-context apply-context) - (if (memq 'ambitus-interface (ly:grob-property grob 'interfaces)) - (ly:grob-suicide grob) - )) - -#(define ((shift-ambitus x) grob grob-context apply-context) - (if (memq 'ambitus-interface (ly:grob-property grob 'interfaces)) - (ly:grob-translate-axis! grob x X) - )) - - - -voiceA = \relative c'' { - c4 a d e f2 -} -voiceB = \relative c' { - es4 f g as b2 -} -\score { - \context ChoirStaff << - \new Staff << - { - \applyoutput #(shift-ambitus 1.0) - \voiceA - } \\ - { - \voiceB - } - >> - \new Staff << - { \applyoutput #kill-ambitus \voiceA } \\ - { \applyoutput #kill-ambitus \voiceB } - >> - >> - \paper { +\paper { raggedright = ##t +} - \context { - \Voice - \consists Ambitus_engraver +\new Staff << + \new Voice \with { + \consists "Ambitus_engraver" + } \relative c'' { + \override Ambitus #'X-offset-callbacks + = #(list (lambda (grob axis) -1.0)) + \voiceOne + c4 a d e f2 } + \new Voice \with { + \consists "Ambitus_engraver" + } \relative c' { + \voiceTwo + es4 f g as b2 } -} +>> diff --git a/input/test/ancient-accidentals.ly b/input/test/ancient-accidentals.ly index fbfa62e71a..61ebd2e2f4 100644 --- a/input/test/ancient-accidentals.ly +++ b/input/test/ancient-accidentals.ly @@ -8,48 +8,16 @@ are collected here. \version "2.3.8" -\score { - \context Voice \relative c { - \time 3/4 - \override Staff.Accidental #'style = #'default - cisis''^"Accidental style = \#'default" cisis! cisis? | - cis cis! cis? | - c c! c? | - ces ces! ces? | - ceses ceses! ceses? | - \break - - \override Staff.Accidental #'style = #'hufnagel - cisis^"Accidental style = \#'hufnagel" cisis! cisis? | - cis cis! cis? | - c c! c? | - ces ces! ces? | - ceses ceses! ceses? | - \break - - \override Staff.Accidental #'style = #'medicaea - cisis^"Accidental style = \#'medicaea" cisis! cisis? | - cis cis! cis? | - c c! c? | - ces ces! ces? | - ceses ceses! ceses? | - \break - - \override Staff.Accidental #'style = #'vaticana - cisis^"Accidental style = \#'vaticana" cisis! cisis? | - cis cis! cis? | - c c! c? | - ces ces! ces? | - ceses ceses! ceses? | - \break - - \override Staff.Accidental #'style = #'mensural - cisis^"Accidental style = \#'mensural" cisis! cisis? | - cis cis! cis? | - c c! c? | - ces ces! ces? | - ceses ceses! ceses? | - - } +\relative c'' { + \time 5/4 + \override Staff.Accidental #'style = #'default + cisis^\markup { \typewriter default } cis c ces ceses + \override Staff.Accidental #'style = #'hufnagel + cisis^\markup { \typewriter hufnagel } cis c ces ceses + \override Staff.Accidental #'style = #'medicaea + cisis^\markup { \typewriter medicaea } cis c ces ceses + \override Staff.Accidental #'style = #'vaticana + cisis^\markup { \typewriter vaticana } cis c ces ceses + \override Staff.Accidental #'style = #'mensural + cisis^\markup { \typewriter mensural } cis c ces ceses } - diff --git a/input/test/bagpipe.ly b/input/test/bagpipe.ly index c7b56d9819..bc42df2b1d 100644 --- a/input/test/bagpipe.ly +++ b/input/test/bagpipe.ly @@ -131,41 +131,41 @@ gcdg = { } } -\score { - { - \time 6/8 \partial 4 - \tieUp - \slurUp - \transpose a a' { - #(add-grace-property 'Voice 'Stem 'length 6) +\transpose a a' { + #(add-grace-property 'Voice 'Stem 'length 6) + \time 6/8 \partial 4 + \tieUp + \slurUp + + f'4 | + \gg f'4 e'8 \thrd d'4. | + \eg a4.(a4) d'8 | + \gg d'4 f'8 \dble e'4. ( | \noBreak + e'8) d'4 \gg d'4 e'8 | - f'4 | - \gg f'4 e'8 \thrd d'4. | - \eg a4.(a4) d'8 | - \gg d'4 f'8 \dble e'4. ( | \noBreak - e'8) d'4 \gg d'4 e'8 | +%{ + + \break + \time 9/8 + \dblf f'2.( f'4) d'8 | + \time 6/8 + \dblg g'4 a'8 \gg a'4. | + \thrd d'4.( d'4) \eg a8 | + \time 9/8 + \dble e'4 \lag e'8 \gg e'16[ d'8. e'8] \gg f'4 g'8 | - \break - \time 9/8 - \dblf f'2.( f'4) d'8 | - \time 6/8 - \dblg g'4 a'8 \gg a'4. | - \thrd d'4.( d'4) \eg a8 | - \time 9/8 - \dble e'4 \lag e'8 \gg e'16[ d'8. e'8] \gg f'4 g'8 | + \break + \time 6/8 + \gg f'4 e'8 \thrd d'4. | + \eg a4.( a4) d'8 | + \dblg g'4 a'8 \gg a'4. | + \thrd d'4.( d'4) f'8 | - \break - \time 6/8 - \gg f'4 e'8 \thrd d'4. | - \eg a4.( a4) d'8 | - \dblg g'4 a'8 \gg a'4. | - \thrd d'4.( d'4) f'8 | - - \break - \dblg g'4 e'8( e'8) \dblf f'8.[ e'16] | - \thrd d'4.( d'4) \cg d'8 | - \gg c'4 e'8 \thrd d'4.( | - d'4.) \gdcg d'4. - } - } + \break + \dblg g'4 e'8( e'8) \dblf f'8.[ e'16] | + \thrd d'4.( d'4) \cg d'8 | + \gg c'4 e'8 \thrd d'4.( | + d'4.) \gdcg d'4. + +%} } diff --git a/input/test/bar-lines-lyric-only.ly b/input/test/bar-lines-lyric-only.ly index e929beb2ae..5244ce45c4 100644 --- a/input/test/bar-lines-lyric-only.ly +++ b/input/test/bar-lines-lyric-only.ly @@ -6,36 +6,33 @@ on lyrics. " } \score { - \relative c' \context ChoirStaff << - \new Staff { c1 c1 c1} - \context Lyrics \lyrics << - { bla1 die bla } - { foo bar foo } - { foo bar foo } - >> - \new Staff { c1 c1 c1} - >> + \relative c' \context ChoirStaff << + \new Staff { c1 c1 c1} + \lyrics << + \new Lyrics { bla1 die bla } + >> + \new Staff { c1 c1 c1} + >> -\paper { + \paper { raggedright = ##t -\context { - \Lyrics - \consists Bar_engraver - % need procedure, since lyrics doesn't have a staff_sym engraver. - \override BarLine #'bar-size-procedure = #(lambda (x) 3.0) -} -\context { - \Lyrics - \consists "Span_bar_engraver" -} -\context{ - \ChoirStaff - \remove "Span_bar_engraver" -} -\context { - \Staff - \remove "Bar_engraver" + \context { + \Lyrics + \consists Bar_engraver + + + %% need procedure, since lyrics doesn't have a staff_sym engraver. + \override BarLine #'bar-size-procedure = #(lambda (x) 3.0) + } + \context{ + \ChoirStaff + \remove "Span_bar_engraver" + } + \context { + \Staff + \remove "Bar_engraver" + } + } } -}} diff --git a/input/test/beam-alternate.ly b/input/test/beam-alternate.ly index 255433d7d2..8323b19072 100644 --- a/input/test/beam-alternate.ly +++ b/input/test/beam-alternate.ly @@ -14,23 +14,21 @@ wipeNote = { \once \override NoteHead #'transparent = ##t \once \override Stem #'transparent = ##t } - - -\score { - \relative c'' { - << { - c8[~ - \wipeNote - c8 - c8~ - \wipeNote - c~ - c] - }\\ - { s8 c8 [ s c s c] } - - - >> - } - \paper { raggedright = ##t } -} +\paper { raggedright = ##t } + + +\relative c''<< { + c8[~ + \wipeNote + c8 + c8~ + \wipeNote + c + c]~ + \wipeNote + c\noBeam +}\\ + { s8 c8 [ s c s c] } + + +>> diff --git a/input/test/beam-control.ly b/input/test/beam-control.ly index cd9047c4c4..61d857ab45 100644 --- a/input/test/beam-control.ly +++ b/input/test/beam-control.ly @@ -15,11 +15,6 @@ Beam positions may be controlled manually, by overriding the @code{positions} se %% from center to one above centre (position 2) \override Beam #'positions = #'(0 . 1) c[ c] - - %% normal beam-algorithm - \revert Beam #'positions - \revert Beam #'positions - c[ e] e[ c] } \paper{raggedright = ##t} } diff --git a/input/test/beam-count.ly b/input/test/beam-count.ly index 18bb60d850..9ce253016d 100644 --- a/input/test/beam-count.ly +++ b/input/test/beam-count.ly @@ -8,7 +8,9 @@ two sets of four 32nds are joined, as if they were 8th notes. " } -fragment = { +\paper { raggedright = ##t} + +\relative { #(override-auto-beam-setting '(end * * * *) 1 4) f32 g a b b a g f @@ -17,10 +19,3 @@ fragment = { \set stemLeftBeamCount = #1 b a g f } - - -\score { - \relative c \fragment - \paper { raggedright = ##t} -} - diff --git a/input/test/beam-neutral-direction.ly b/input/test/beam-neutral-direction.ly deleted file mode 100644 index ecdb1c5e76..0000000000 --- a/input/test/beam-neutral-direction.ly +++ /dev/null @@ -1,23 +0,0 @@ - -\version "2.3.8" -\header{ - texidoc="@cindex Beam Neutral Direction -When a beam falls in the middle of the staff, the beams point normally -down. However, this behaviour can be altered, if desired. -" } - -fragment = { - b''8[ b] - \override Beam #'neutral-direction = #-1 - b[ b] - \override Beam #'neutral-direction = #1 - b[ b] -} - -\paper { raggedright = ##t} - -\score { - \relative c \fragment - \paper {raggedright = ##t } -} - diff --git a/input/test/beam-rest.ly b/input/test/beam-rest.ly deleted file mode 100644 index dce2aacb9b..0000000000 --- a/input/test/beam-rest.ly +++ /dev/null @@ -1,20 +0,0 @@ - -\version "2.3.8" - -\header{ -texidoc="@cindex Beam Over Rests -Beams may be forced to be over rests. -" } - -\score{ - \relative c''{ - r4 r8[ g a] - bes8[ r16 f g a] - bes8[ r16 \set stemLeftBeamCount = #1 f g a] - } - - \paper{ - raggedright = ##t - } -} - diff --git a/input/test/blank-notes.ly b/input/test/blank-notes.ly index 9f4d689c57..7b2a4703fd 100644 --- a/input/test/blank-notes.ly +++ b/input/test/blank-notes.ly @@ -11,18 +11,3 @@ Invisible (or transparent) notes can be useful, when weird tricks are needed; especially, a slur cannot be attach to a rest or spacer rest. " } -blanknotes = { \override NoteHead #'transparent = ##t - \override Stem #'transparent = ##t } -unblanknotes = { \revert NoteHead #'transparent - \revert Stem #'transparent } - - -\score { - \relative c'' { c4 d4 - \blanknotes e4 f4 \unblanknotes - g4 a - } -\paper{raggedright = ##t} -} - - diff --git a/input/test/blank-paper-tab.ly b/input/test/blank-paper-tab.ly deleted file mode 100644 index c65fd0c309..0000000000 --- a/input/test/blank-paper-tab.ly +++ /dev/null @@ -1,25 +0,0 @@ -\version "2.3.8" -\header { - -texidoc = "@cindex Blank Paper Tab -A blank music paper can be produced by using spacer rests, and removing -@code{Bar_number_engraver}. Here is an empty staff with a tablature staff. -" } - -emptymusic = { \repeat unfold 4 { s1\break } \bar "|." } - -\score { - << - \context Staff \emptymusic - \context TabStaff \emptymusic - >> - - - \paper { - \context { - \Score - \remove Bar_number_engraver - } - } -} - -- 2.39.5