From: Jan Nieuwenhuizen Date: Wed, 14 Mar 2001 22:37:02 +0000 (+0100) Subject: patch::: 1.3.137.jcn2 X-Git-Tag: release/1.3.138~3 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;ds=sidebyside;h=25aaf879cca633fb22d68926b6c733348e274753;p=lilypond.git patch::: 1.3.137.jcn2 1.3.136.jcn2 ============ * Small refman fixes. * Better tutorial orchestral score example. * Bugfix: input/test/hshift.ly * Fixed looks of configure options. --- Generated by janneke@gnu.org, From = lilypond-1.3.137.jcn1, To = lilypond-1.3.137.jcn2 usage cd lilypond-source-dir; patch -E -p1 < lilypond-1.3.137.jcn2.diff Patches do not contain automatically generated files or (urg) empty directories, i.e., you should rerun autoconf, configure --- diff --git a/CHANGES b/CHANGES index 672cc4297e..84b4279a4e 100644 --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,20 @@ ---- ../lilypond-1.3.137/CHANGES Sun Mar 11 20:00:15 2001 +--- ../lilypond-1.3.137.jcn1/CHANGES Mon Mar 12 22:39:39 2001 +++ b/CHANGES Wed Mar 14 23:37:02 2001 +@@ -1,3 +1,14 @@ +1.3.136.jcn2 +============ + +* Small refman fixes. + +* Better tutorial orchestral score example. + +* Bugfix: input/test/hshift.ly + +* Fixed looks of configure options. + + 1.3.136.jcn1 + ============ + --- ../lilypond-1.3.137/CHANGES Sun Mar 11 20:00:15 2001 ++ b/CHANGES Mon Mar 12 22:39:39 2001 @@ -1,3 +1,13 @@ 1.3.136.jcn1 diff --git a/Documentation/user/lilypond.tely b/Documentation/user/lilypond.tely index 2986b390ef..df41118a1e 100644 --- a/Documentation/user/lilypond.tely +++ b/Documentation/user/lilypond.tely @@ -70,12 +70,13 @@ this and other documentation. * Preface:: Preface * Tutorial:: A tutorial introduction to LilyPond. * Reference Manual:: Reference Manual. -* Tricks:: Features, tips and tricks. +* Tricks:: Features, tips and tricks. * Invoking LilyPond:: Operation. * Bug reports:: Where to report bugs. * ly2dvi:: Generating nice output with titles. * convert-ly:: Upgrading input files. -* Conversion tools:: Converting from MIDI input. +* Conversion tools:: Converting to lilypond source format. +* lilypond-book:: Interleaving text with music. * Internals:: How it all works. * Literature:: additional reading * Index of internals:(lilypond-internals). Auto generated detailed documentation. diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 7d49a981c1..1949f18f41 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -29,9 +29,10 @@ revision of this document was for LilyPond 1.3.136. @menu * Overview:: * Note entry:: -* Music notation:: +* Staff notation:: * Polyphony:: -* Spanners:: +* Beaming:: +* Expressive marks:: * Ornaments:: * Repeats:: * Piano music:: @@ -107,14 +108,15 @@ brevity we omit obligotary lint such as @code{\score} blocks and @menu -* Notes mode:: * Pitches:: * Defining pitch names:: * Durations:: * Notes:: -* Note head tweaks:: +* Easy Notation note heads :: +* Tie:: * Rests:: * Skip:: +* Note mode:: @end menu @c . {Pitches} @@ -364,6 +366,10 @@ located in between the notes. There is also no way to convert between tied notes, dotted notes and plain notes. @c . {Tuplets} +@menu +* Tuplets:: +@end menu + @node Tuplets @subsubsection Tuplets @cindex Tuplets @@ -447,9 +453,9 @@ numbers in this mode. @cindex Staff notation @menu -* Key:: -* Breath marks:: +* Key signature:: * Time signature:: +* Bar lines:: @end menu @c . {Key} @@ -636,20 +642,35 @@ which contexts to instantiate.] shifted horiztonally. Also @code{\shiftOnn} and @code{\shiftOnnn} set different shift values. -@cindex @code{\stemBoth} +@cindex @code{\stemBoth} @item @code{\stemBoth} - Allow stems, beams, and slurs to point either upwards or + Allow stems and beams to point either upwards or downwards, decided automatically by LilyPond. @cindex @code{\stemDown} @item @code{\stemDown} - Force stems, beams, and slurs to point down. + Force stems and beams to point down. @cindex @code{\stemUp} @item @code{\stemUp} - Force stems, beams and slurs to point up. + Force stems and beams to point up. @end table +@cindex @code{\slurBoth} +@cindex @code{\slurDown} +@cindex @code{\slurUp} +Similarly, for slurs use +@code{\slurBoth}, +@code{\slurDown}, +@code{\slurUp}. +@cindex @code{\slurBoth} +@cindex @code{\slurDown} +@cindex @code{\slurUp} +Aand for ties use +@code{\tieBoth}, +@code{\tieDown}, +@code{\tieUp}. + @node Beaming @section Beaming @@ -780,6 +801,12 @@ control the number of beams through the properties @section Expressive marks @c . {Slur} +@menu +* Slur :: +* Phrasing slur:: +* Breath marks:: +@end menu + @node Slur @subsection Slur @cindex slur @@ -797,7 +824,8 @@ stem end. If you want to override this layout you can do this through @code{Voice.Slur}'s grob-property @code{attachment}: [TODO: remove this section] -maybe reinclude other slur features and move back to tricks? +Maybe reinclude other slur features and move back to tricks? Esp. the +second example, how to fix, can be very helpful. @quotation @lilypond[fragment,relative,verbatim] @@ -899,6 +927,10 @@ not. The grob for this object is called @code{Voice.BreathingSign}. @c . {Text spanner} +@menu +* Text spanner:: +@end menu + @node Text spanner @subsubsection Text spanner @cindex Text spanner @@ -934,7 +966,6 @@ An application ---or rather, a hack---is to fake octavation indications. * Articulation:: * Text scripts:: * Grace notes:: -* Bar check:: @end menu @c . {Articulation} @@ -1141,8 +1172,6 @@ also be implemented. @menu * Glissando :: * Dynamics:: -* Crescendo and Decrescendo:: -* Bar lines:: @end menu @@ -1352,7 +1381,7 @@ the specified number of repeats. As you can see, LilyPond doesn't remember the timing information, nor are slurs or ties repeated, so you have to reset timing information -after a repeat, e.g. using a bar-check (See @ref{Bar checks}), +after a repeat, e.g. using a bar-check (See @ref{Bar check}), @code{Score.measurePosition} or @code{\partial}. We hope to fix this after 1.4. @@ -3111,6 +3140,7 @@ output with 76 quarter notes per minute. @cindex Music entry @menu * Relative:: +* Bar check:: * Point and click:: @end menu @@ -3822,6 +3852,10 @@ possible. @c . {Span requests} +@menu +* Span requests:: +@end menu + @node Span requests @subsubsection Span requests @cindex Span requests diff --git a/Documentation/user/tutorial.itely b/Documentation/user/tutorial.itely index 82faf52fd1..286cf7d264 100644 --- a/Documentation/user/tutorial.itely +++ b/Documentation/user/tutorial.itely @@ -11,6 +11,7 @@ * More movements :: * A piano excerpt:: Piano music * An orchestral score:: +* Part extraction:: * end of tutorial:: The end @end menu @@ -1441,408 +1442,163 @@ to the page layout of this document. @node An orchestral score @section An orchestral score -[LOTS TODO: -demonstrate Hara-Kiri, part combining, part extraction, -scores, transposition, instrument names.] +If you've come this far, you should have seen enough LilyPond source to +feel comfortable with an orchestral score. We will not go through the +input line by line, but only indicate and explain the new elements. -Hopefully, you have seen enough LilyPond input examples by now to be -able read the input for a full orchestral score. We will not go through -the input line by line, but only indicate and explain the new elements. +% os-music.ly +@quotation +@example +\header @{ + title = "Zo, goed lieverd?"; + subtitle = "How's, this babe?"; + composer = "JCN"; + piece = "Laid back"; +@} +global = \notes @{ + \time 2/4; + \skip 2*4; \bar "|."; +@} +Key = \notes \key as \major; +flautoI = \notes\relative c'' @{ + f8 g f g f g f g + bes as bes as bes as bes as +@} +flautoII = \notes\relative c'' @{ + as8 bes as bes R1 d4 ~ d +@} +tromboI = \notes\relative c'' @{ + c4. c8 c8 c4. es4 R1*1/2 es4 +@} +tromboII = \notes\relative c'' @{ + as4. as8 as8 as4. R1*1/2 as4 es' +@} +timpani = \notes\relative c, @{ + \times 2/3 @{ f4 f f @} + \times 4/5 @{ as8 as as as as @} +@} +corno = \notes\relative c' @{ + bes4 d f, bes d f, bes d +@} +@end example +@end quotation +% geen titels, wat jammer :-( +% os-score.ly +@quotation @lilypond[verbatim] -\version "1.3.130"; - +\include "os-music.ly"; \include "paper13.ly"; -% #(set! point-and-click #t) +#(set! point-and-click #t) +#(define text-flat '((font-relative-size . -2) + (music "accidentals--1"))) -% Coriolan 218-222 -flautoI = \notes\relative c'' { - \property Score.currentBarNumber = #218 - des2.()c4|e(f e)f|\break - r2 des4\sf()c|r2 des4\sf()c| -} -flautoII = \notes\relative c'' { - g2.()as4|bes(as bes)as| - R1*2 -} -oboeI = \notes\relative c'' { - e2.()f4|e(f e)f| - r2 as|r as\sf| -} -oboeII = \notes\relative c'' { - g2.()as4|bes(as bes)as| - r2 as'|r as\sf| -} -clarinettoI = \notes\relative c' { - es2.()d4|c(bis c)bes| -% r2 es4\sf()d|r2 es4\sf()d| -} -clarinettoII = \notes\relative c' { - es2.()d4|c(bes c)bes| -% r2 es'4\sf()d|r2 es4\sf()d| -} -fagottoI = \notes\relative c' { - bes2.()as4|g(f g)f| - r r8 des' des4\sf()es|r r8 des des4\sf()es| -} -fagottoII = \notes\relative c' { - bes2.()as4 | g(f g)f| - f4 r r2 | f4 r r2| -} -cornoI = \notes\relative c''' { - g2. f4|g f g f| -% r4 r8 f f2|r4 r8 f f2| -} -cornoII = \notes\relative c''' { - g,2. d'4|g, d' g, d'| - r4 r8 d d4\sf()es|r4 r8 d d4\sf()es| -} -tromboI = \notes\relative c'' { - c2. c4|c c c c| - R1*2| -} -tromboII = \notes\relative c' { - c2. c4|c c c c| - R1*2| -} -timpani = \notes\relative c { - c2:16 c4 c|c c c c | - R1*2| -} -violinoI = \notes\relative c' { - des'2:16\ff des4: c:|e,: f: e: f:| - r8 as des,4\sf~des()c |r8 as' des,4\sf~des()c| -} -violinoII = \notes\relative c' { - des2:16\ff des4: c: | bes: as: bes: as:| -% r8 as des,4\sf ~ des()c| r8 as' des,4\sf ~ des()c| -} -violaI = \notes\relative c' { - e2:16\ff e4: f:|b,: c: b: c:| - r4 r8 as as2\sf|r4 r8 as as2\sf| -} -violaII = \notes\relative c' { - bes2:16\ff bes4: as:|g: f: g: f: | - r4 r8 f f4\sf()ges|r4 r8 f f4\sf()ges| -} -violoncello = \notes\relative c { - bes2.\ff()as4|g( f g )f | - r4 r8 f' f4\sf()ges |r4 r8 f f4\sf()ges | -} -contrabasso = \notes\relative c { - bes2.\ff()as4|g( f g )f| - f4 r r2 |f'4 r r2| -} - -#(define text-flat '((font-relative-size . -2) (music "accidentals--1"))) - -staffCombinePianoStaffProperties = { - \property PianoStaff.devNullThread = #'() - \property PianoStaff.soloADue = ##t - \property PianoStaff.soloText = #"" - \property PianoStaff.soloIIText = #"" - % This is non-conventional, but currently it is - % the only way to tell the difference. - \property PianoStaff.aDueText = #"\\`a2" - \property PianoStaff.splitInterval = #'(1 . 0) - \property PianoStaff.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1)) - \property PianoStaff.noDirection = ##t -} - -%% -%% Hmm, can't we move this to a `template.ly' -%% \score { - < - \context StaffGroup = wood < + \notes < + \global + \context StaffGroup = woodwind < \context Staff = flauti < \property Staff.midiInstrument = #"flute" \property Staff.instrument = "2 Flauti" \property Staff.instr = "Fl." - \context Voice=one \partcombine Voice - \context Thread=one \flautoI - \context Thread=two \flautoII - > - \context Staff = oboes < - \property Staff.midiInstrument = #"oboe" - \property Staff.instrument = "2 Oboi" - \property Staff.instr = "Ob." - \context Voice=one \partcombine Voice - \context Thread=one \oboeI - \context Thread=two \oboeII - > - \context Staff = clarinets < - \property Staff.midiInstrument = #"clarinet" - \property Staff.instrument = #`(lines - "2 Clarinetti" (rows "(B" ,text-flat ")")) - \property Staff.instr = #`(lines - "Cl." (rows "(B" ,text-flat ")")) - \property Staff.transposing = #-2 - \notes \key f \major; - \context Voice=one \partcombine Voice - \context Thread=one \clarinettoI - \context Thread=two \clarinettoII - > - \context Staff = bassoons < - \property Staff.midiInstrument = #"bassoon" - \property Staff.instrument = "2 Fagotti" - \property Staff.instr = "Fg." - \clef bass; - \context Voice=one \partcombine Voice - \context Thread=one \fagottoI - \context Thread=two \fagottoII - > - > - \context StaffGroup = brass < - \context Staff = frenchHorns < - \property Staff.midiInstrument = #"french horn" - \property Staff.instrument = #`(lines - "2 Corni" (rows "(E" ,text-flat ")")) - \property Staff.instr = #`(lines - "Cor." (rows "(E" ,text-flat ")")) - \property Staff.transposing = #3 - \notes \key c \major; - \context Voice=one \partcombine Voice - \context Thread=one \cornoI - \context Thread=two \cornoII - > - \context Staff = trumpets < - \property Staff.midiInstrument = #"trumpet" - \property Staff.instrument = #`(lines - "2 Trombe" (rows "(C)")) - \property Staff.instr = #`(lines - "Tbe." (rows "(C)")) - \context Voice=one \partcombine Voice - \context Thread=one \tromboI - \context Thread=two \tromboII + \Key + \context Voice=one { \voiceOne \flautoI } + \context Voice=two { \voiceTwo \flautoII } > > \context StaffGroup = timpani < \context Staff = timpani < \property Staff.midiInstrument = #"timpani" - \property Staff.instrument = #'(lines - "2 Timpani" "(C-G)") + \property Staff.instrument = #'(lines "Timpani" "(C-G)") \property Staff.instr = #"Timp." \clef bass; + \Key \timpani > > - \context StaffGroup = strings < - \context GrandStaff = violins < - \context Staff = viI < - \property Staff.midiInstrument = #"violin" - \property Staff.instrument = "Violino I" - \property Staff.instr = "Vi. I" - \violinoI - > - \context Staff = viII < - \property Staff.midiInstrument = #"violin" - \property Staff.instrument = "Violino II" - \property Staff.instr = "Vi. II" - \violinoII - > - > - \context Staff = vla < - \property Staff.midiInstrument = #"viola" - \property Staff.instrument = "Viola" - \property Staff.instr = "Vla." - \clef alto; + \context StaffGroup = brass < + \context Staff = trombe < + \property Staff.midiInstrument = #"trumpet" + \property Staff.instrument = #`(lines "2 Trombe" + (rows "(C)")) + \property Staff.instr = #`(lines "Tbe." (rows "(C)")) + \Key \context Voice=one \partcombine Voice - \context Thread=one \violaI - \context Thread=two \violaII + \context Thread=one \tromboI + \context Thread=two \tromboII > - \context PianoStaff=bass < - \staffCombinePianoStaffProperties - \context Staff=one < - \property Staff.midiInstrument = #"cello" - \property Staff.instrument = #'(lines - "Violoncello" " e" "Contrabasso") - \property Staff.instr = "Vc." - \clef bass; - > - \context Staff=two < - \property Staff.midiInstrument = #"contrabass" - \property Staff.instrument = "Contrabasso" - \property Staff.instr = "C.B." - \clef bass; - \skip 1*4; % sustain clef - > - \context Staff=one \partcombine Staff - \context Voice=one \violoncello - \context Voice=two \contrabasso + \context Staff = corni < + \property Staff.midiInstrument = #"french horn" + \property Staff.instrument = #`(lines "Corno" + (rows "(E" ,text-flat ")")) + \property Staff.instr = #`(lines "Cor." + (rows "(E" ,text-flat ")")) + \property Staff.transposing = #3 + \notes \key bes \major; + \context Voice=one \corno > > > \paper { - \paperThirteen - linewidth = 80 * \staffspace; - textheight = 200 * \staffspace; + indent = 15 * \staffspace; + linewidth = 60 * \staffspace; + textheight = 90 * \staffspace; \translator{ \ThreadContext \consists "Rest_engraver"; - - % Set value for engraver at thread level, - % to override the default that is set in ScoreContext - % for added engraver at Voice level - devNullThread = #'() } \translator{ \VoiceContext \remove "Rest_engraver"; - - % The staff combine (bassi part) needs a - % thread_devnull_engraver here. - % Instead of maintaining two separate hierarchies, - % we switch add it, but switch it off immediately. - % --> move to Score level to be able to override - % The staff combine part switches it on. - - %% devNullThread = #'never - \consists "Thread_devnull_engraver"; } \translator{ \HaraKiriStaffContext - \consists "Mark_engraver"; } \translator { \OrchestralScoreContext - % skipBars = ##t - - soloText = #"I." - soloIIText = #"II." - % By default, turn off the Thread_devnull_engraver - % at Voice level - devNullThread = #'never - - % Hmm - currentBarNumber = #218 BarNumber \override #'padding = #3 - RestCollision \override #'maximum-rest-count = #1 - TimeSignature \override #'style = #'C } } + \midi { + \tempo 4 = 75; + } } @end lilypond +@end quotation -Ok, so explain: +@node Part extraction +@section Part extraction -@example -% #(set! point-and-click #t) -@end example - -@example -#(define text-flat '((font-relative-size . -2) (music "accidentals--1"))) -@end example - -@example -staffCombinePianoStaffProperties = @{ -@end example - -@example -% Coriolan 218-222 -@end example - -@example -flautoI = \notes\relative c'' @{ -@end example - -@example - \property Score.currentBarNumber = #218 -@end example - -@example -flautoII = \notes\relative c'' @{ -@end example - -[skip] - - -The hairyness of Staff combining - -@example - \property PianoStaff.devNullThread = #'() -@end example - -@example - \property PianoStaff.soloADue = ##t -@end example - -@example - \property PianoStaff.soloText = #"" - \property PianoStaff.soloIIText = #"" -@end example - -@example - % This is non-conventional, but currently it is - % the only way to tell the difference. - \property PianoStaff.aDueText = #"\\`a2" -@end example - -@example - \property PianoStaff.splitInterval = #'(1 . 0) - \property PianoStaff.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1)) -@end example - -@example - \property PianoStaff.noDirection = ##t -@end example - - -@example -\score @{ - < -@end example - -@example - \context StaffGroup = wood < -@end example - -@example - \context Staff = flauti < -@end example - -@example - \property Staff.midiInstrument = #"flute" -@end example - -@example - \property Staff.instrument = "2 Flauti" - \property Staff.instr = "Fl." -@end example - -@example - \context Voice=one \partcombine Voice - \context Thread=one \flautoI - \context Thread=two \flautoII - > -@end example - -[skip] - -@example - \property Staff.instrument = #`(lines - "2 Clarinetti" (rows "(B" ,text-flat ")")) -@end example - -@example - \property Staff.instr = #`(lines - "Cl." (rows "(B" ,text-flat ")")) -@end example - -@example - \property Staff.transposing = #-2 -@end example - -@example - \notes \key f \major; -@end example - -@example -@end example +@quotation +@lilypond[verbatim] +\include "os-music.ly"; +\include "paper16.ly"; -[the syntax of staff combining] -[the paper block] +\score { + \context Staff < + \property Staff.midiInstrument = #"flute" + \global + \Key + \flautoII + > + \header { + instrument = "flute I"; + } + \paper { + linewidth = 80 * \staffspace; + textheight = 200 * \staffspace; + \translator { + \OrchestralScoreContext + skipBars = ##t + } + } + \midi { + \tempo 4 = 75; + } +} +@end lilypond +@end quotation @node end of tutorial @section The end diff --git a/VERSION b/VERSION index d8754fc588..af2b8c7ece 100644 --- a/VERSION +++ b/VERSION @@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 PATCH_LEVEL=137 -MY_PATCH_LEVEL=jcn1 +MY_PATCH_LEVEL=jcn2 # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/aclocal.m4 b/aclocal.m4 index a7f2f44300..702c151614 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,5 +1,3 @@ -dnl WARNING WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 dnl aclocal.m4 -*-shell-script-*- dnl StepMake subroutines for configure.in @@ -27,29 +25,24 @@ AC_DEFUN(AC_STEPMAKE_COMPILE, [ debug_b=yes AC_ARG_ENABLE(checking, - [ enable-checking set runtime checks (assert calls). Default: on], + [ --enable-checking set runtime checks (assert calls). Default: on], [checking_b=$enableval] ) - # actually, the default is: tja='-O' to get inlining... - # off='' --jcn + AC_ARG_ENABLE(debugging, + [ --enable-debugging compile with debugging info. Default: on], + [debug_b=$enableval]) - #actually, that sucks. - # tja looks like a typo. Default is optimisation off. --hwn - AC_ARG_ENABLE(optimise, - [ enable-optimise use maximal speed optimisations. Default: off], + [ --enable-optimise use maximal speed optimisations. Default: off], [optimise_b=$enableval]) AC_ARG_ENABLE(profiling, - [ enable-profiling compile with gprof support. Default: off], + [ --enable-profiling compile with gprof support. Default: off], [profile_b=$enableval]) - AC_ARG_ENABLE(debugging, - [ enable-debugging set debug info. Default: on], - [debug_b=$enableval]) - AC_ARG_ENABLE(mingw-prefix, - [ enable-mingw-prefix=DIR set the mingw32 directory (standalone windows32 exes)], + [ --enable-mingw-prefix=DIR + set the mingw32 directory (standalone windows32 exes)], [MINGWPREFIX=$enableval], [MINGWPREFIX=no]) @@ -335,7 +328,7 @@ AC_DEFUN(AC_STEPMAKE_INIT, [ CONFIGSUFFIX= AC_ARG_ENABLE(config, - [ enable-config=FILE put configure settings in config-FILE.make], + [ --enable-config=FILE put configure settings in config-FILE.make], [CONFIGSUFFIX=-$enableval]) CONFIGFILE=config$CONFIGSUFFIX @@ -436,8 +429,8 @@ dnl fi AC_DEFUN(AC_STEPMAKE_KPATHSEA, [ kpathsea_b=yes - AC_ARG_ENABLE(kpathsea, - [ enable-kpathsea use kpathsea lib. Default: on], + AC_ARG_WITH(kpathsea, + [ --with-kpathsea use kpathsea lib. Default: on], [kpathsea_b=$enableval]) if test $kpathsea_b = yes; then @@ -518,12 +511,13 @@ AC_DEFUN(AC_STEPMAKE_LOCALE, [ # with/enable ?? AC_ARG_WITH(localedir, - [ with-localedir=LOCALE use LOCALE as locale dir. Default: PREFIX/share/locale ], + [ --with-localedir=LOCALE use LOCALE as locale dir. Default: + PREFIX/share/locale ], localedir=$with_localedir, localedir='${prefix}/share/locale') AC_ARG_WITH(lang, - [ with-lang=LANG use LANG as language to emit messages], + [ --with-lang=LANG use LANG as language to emit messages], language=$with_lang, language=English) @@ -588,17 +582,18 @@ AC_DEFUN(AC_STEPMAKE_MSGFMT, [ #why has this been dropped? AC_DEFUN(XXAC_STEPMAKE_TEXMF_DIRS, [ AC_ARG_ENABLE(tex-prefix, - [ enable-tex-prefix=DIR set the tex-directory to find TeX subdirectories. Default: PREFIX], + [ --enable-tex-prefix=DIR set the tex-directory to find TeX + subdirectories. Default: PREFIX], [TEXPREFIX=$enableval], [TEXPREFIX=auto] ) AC_ARG_ENABLE(tex-dir, - [ enable-tex-dir=DIR set the directory to put $PACKAGE_NAME TeX files in. ], + [ --enable-tex-dir=DIR set the directory to put $PACKAGE_NAME TeX files in. ], [TEXDIR=$enableval], [TEXDIR=auto] ) AC_ARG_ENABLE(mf-dir, - [ enable-mf-dir=DIR set the directory to put $PACKAGE_NAME MetaFont files in. ], + [ --enable-mf-dir=DIR set the directory to put $PACKAGE_NAME MetaFont files in. ], [MFDIR=$enableval], [MFDIR=auto]) @@ -622,7 +617,8 @@ AC_DEFUN(XXAC_STEPMAKE_TEXMF_DIRS, [ AC_DEFUN(AC_STEPMAKE_TEXMF_DIRS, [ AC_ARG_ENABLE(tfm-path, - [ enable-tfm-path=PATH set path of tex directories where tfm files live, esp.: cmr10.tfm. Default: use kpsewhich], + [ --enable-tfm-path=PATH set path of tex directories where tfm files live, + esp.: cmr10.tfm. Default: use kpsewhich], [tfm_path=$enableval], [tfm_path=auto] ) diff --git a/input/test/hshift.ly b/input/test/hshift.ly index 23d8341616..74b47f5439 100644 --- a/input/test/hshift.ly +++ b/input/test/hshift.ly @@ -2,11 +2,11 @@ -shiftI \property Voice.NoteColumn \override #'horizontal-shift = #0 -shiftII \property Voice.NoteColumn \override #'horizontal-shift = #1 -shiftIII \property Voice.NoteColumn \override #'horizontal-shift = #2 -shiftIV \property Voice.NoteColumn \override #'horizontal-shift = #3 -shiftV \property Voice.NoteColumn \override #'horizontal-shift = #4 +shiftI = \property Voice.NoteColumn \override #'horizontal-shift = #0 +shiftII = \property Voice.NoteColumn \override #'horizontal-shift = #1 +shiftIII = \property Voice.NoteColumn \override #'horizontal-shift = #2 +shiftIV = \property Voice.NoteColumn \override #'horizontal-shift = #3 +shiftV = \property Voice.NoteColumn \override #'horizontal-shift = #4 \score { \context Voice \notes\relative c { diff --git a/input/tutorial/orchestral-score.ly b/input/tutorial/orchestral-score.ly deleted file mode 100644 index aad42f87e0..0000000000 --- a/input/tutorial/orchestral-score.ly +++ /dev/null @@ -1,275 +0,0 @@ - - -\include "paper13.ly"; - -% #(set! point-and-click #t) - -% Coriolan 218-222 -flautoI = \notes\relative c'' { - \property Score.currentBarNumber = #218 - des2.()c4|e(f e)f|\break - r2 des4\sf()c|r2 des4\sf()c| -} -flautoII = \notes\relative c'' { - g2.()as4|bes(as bes)as| - R1*2 -} -oboeI = \notes\relative c'' { - e2.()f4|e(f e)f| - r2 as|r as\sf| -} -oboeII = \notes\relative c'' { - g2.()as4|bes(as bes)as| - r2 as'|r as\sf| -} -clarinettoI = \notes\relative c' { - es2.()d4|c(bis c)bes| -% r2 es4\sf()d|r2 es4\sf()d| -} -clarinettoII = \notes\relative c' { - es2.()d4|c(bes c)bes| -% r2 es'4\sf()d|r2 es4\sf()d| -} -fagottoI = \notes\relative c' { - bes2.()as4|g(f g)f| - r r8 des' des4\sf()es|r r8 des des4\sf()es| -} -fagottoII = \notes\relative c' { - bes2.()as4 | g(f g)f| - f4 r r2 | f4 r r2| -} -cornoI = \notes\relative c''' { - g2. f4|g f g f| -% r4 r8 f f2|r4 r8 f f2| -} -cornoII = \notes\relative c''' { - g,2. d'4|g, d' g, d'| - r4 r8 d d4\sf()es|r4 r8 d d4\sf()es| -} -tromboI = \notes\relative c'' { - c2. c4|c c c c| - R1*2| -} -tromboII = \notes\relative c' { - c2. c4|c c c c| - R1*2| -} -timpani = \notes\relative c { - c2:16 c4 c|c c c c | - R1*2| -} -violinoI = \notes\relative c' { - des'2:16\ff des4: c:|e,: f: e: f:| - r8 as des,4\sf~des()c |r8 as' des,4\sf~des()c| -} -violinoII = \notes\relative c' { - des2:16\ff des4: c: | bes: as: bes: as:| -% r8 as des,4\sf ~ des()c| r8 as' des,4\sf ~ des()c| -} -violaI = \notes\relative c' { - e2:16\ff e4: f:|b,: c: b: c:| - r4 r8 as as2\sf|r4 r8 as as2\sf| -} -violaII = \notes\relative c' { - bes2:16\ff bes4: as:|g: f: g: f: | - r4 r8 f f4\sf()ges|r4 r8 f f4\sf()ges| -} -violoncello = \notes\relative c { - bes2.\ff()as4|g( f g )f | - r4 r8 f' f4\sf()ges |r4 r8 f f4\sf()ges | -} -contrabasso = \notes\relative c { - bes2.\ff()as4|g( f g )f| - f4 r r2 |f'4 r r2| -} - - -#(define text-flat '((font-relative-size . -2) (music "accidentals--1"))) - -staffCombinePianoStaffProperties = { - \property PianoStaff.devNullThread = #'() - \property PianoStaff.soloADue = ##t - \property PianoStaff.soloText = #"" - \property PianoStaff.soloIIText = #"" - % This is non-conventional, but currently it is - % the only way to tell the difference. - \property PianoStaff.aDueText = #"\\`a2" - \property PianoStaff.splitInterval = #'(1 . 0) - \property PianoStaff.changeMoment = #`(,(make-moment 1 1) . ,(make-moment 1 1)) - \property PianoStaff.noDirection = ##t -} - -%% -%% Hmm, can't we move this to a `template.ly' -%% -\score { - < - \context StaffGroup = wood < - \context Staff = flauti < - \property Staff.midiInstrument = #"flute" - \property Staff.instrument = "2 Flauti" - \property Staff.instr = "Fl." - \context Voice=one \partcombine Voice - \context Thread=one \flautoI - \context Thread=two \flautoII - > - \context Staff = oboes < - \property Staff.midiInstrument = #"oboe" - \property Staff.instrument = "2 Oboi" - \property Staff.instr = "Ob." - \context Voice=one \partcombine Voice - \context Thread=one \oboeI - \context Thread=two \oboeII - > - \context Staff = clarinets < - \property Staff.midiInstrument = #"clarinet" - \property Staff.instrument = #`(lines - "2 Clarinetti" (rows "(B" ,text-flat ")")) - \property Staff.instr = #`(lines - "Cl." (rows "(B" ,text-flat ")")) - \property Staff.transposing = #-2 - \notes \key f \major; - \context Voice=one \partcombine Voice - \context Thread=one \clarinettoI - \context Thread=two \clarinettoII - > - \context Staff = bassoons < - \property Staff.midiInstrument = #"bassoon" - \property Staff.instrument = "2 Fagotti" - \property Staff.instr = "Fg." - \clef bass; - \context Voice=one \partcombine Voice - \context Thread=one \fagottoI - \context Thread=two \fagottoII - > - > - \context StaffGroup = brass < - \context Staff = frenchHorns < - \property Staff.midiInstrument = #"french horn" - \property Staff.instrument = #`(lines - "2 Corni" (rows "(E" ,text-flat ")")) - \property Staff.instr = #`(lines - "Cor." (rows "(E" ,text-flat ")")) - \property Staff.transposing = #3 - \notes \key c \major; - \context Voice=one \partcombine Voice - \context Thread=one \cornoI - \context Thread=two \cornoII - > - \context Staff = trumpets < - \property Staff.midiInstrument = #"trumpet" - \property Staff.instrument = #`(lines - "2 Trombe" (rows "(C)")) - \property Staff.instr = #`(lines - "Tbe." (rows "(C)")) - \context Voice=one \partcombine Voice - \context Thread=one \tromboI - \context Thread=two \tromboII - > - > - \context StaffGroup = timpani < - \context Staff = timpani < - \property Staff.midiInstrument = #"timpani" - \property Staff.instrument = #'(lines - "2 Timpani" "(C-G)") - \property Staff.instr = #"Timp." - \clef bass; - \timpani - > - > - \context StaffGroup = strings < - \context GrandStaff = violins < - \context Staff = viI < - \property Staff.midiInstrument = #"violin" - \property Staff.instrument = "Violino I" - \property Staff.instr = "Vi. I" - \violinoI - > - \context Staff = viII < - \property Staff.midiInstrument = #"violin" - \property Staff.instrument = "Violino II" - \property Staff.instr = "Vi. II" - \violinoII - > - > - \context Staff = vla < - \property Staff.midiInstrument = #"viola" - \property Staff.instrument = "Viola" - \property Staff.instr = "Vla." - \clef alto; - \context Voice=one \partcombine Voice - \context Thread=one \violaI - \context Thread=two \violaII - > - \context PianoStaff=bass < - \staffCombinePianoStaffProperties - \context Staff=one < - \property Staff.midiInstrument = #"cello" - \property Staff.instrument = #'(lines - "Violoncello" " e" "Contrabasso") - \property Staff.instr = "Vc." - \clef bass; - > - \context Staff=two < - \property Staff.midiInstrument = #"contrabass" - \property Staff.instrument = "Contrabasso" - \property Staff.instr = "C.B." - \clef bass; - \skip 1*4; % sustain clef - > - \context Staff=one \partcombine Staff - \context Voice=one \violoncello - \context Voice=two \contrabasso - > - > - > - \paper { - \paperThirteen - linewidth = 80 * \staffspace; - textheight = 200 * \staffspace; - \translator{ - \ThreadContext - \consists "Rest_engraver"; - - % Set value for engraver at thread level, - % to override the default that is set in ScoreContext - % for added engraver at Voice level - devNullThread = #'() - } - \translator{ - \VoiceContext - \remove "Rest_engraver"; - - % The staff combine (bassi part) needs a - % thread_devnull_engraver here. - % Instead of maintaining two separate hierarchies, - % we switch add it, but switch it off immediately. - % --> move to Score level to be able to override - % The staff combine part switches it on. - - %% devNullThread = #'never - \consists "Thread_devnull_engraver"; - } - \translator{ - \HaraKiriStaffContext - \consists "Mark_engraver"; - } - \translator { - \OrchestralScoreContext - % skipBars = ##t - - soloText = #"I." - soloIIText = #"II." - % By default, turn off the Thread_devnull_engraver - % at Voice level - devNullThread = #'never - - % Hmm - currentBarNumber = #218 - BarNumber \override #'padding = #3 - RestCollision \override #'maximum-rest-count = #1 - TimeSignature \override #'style = #'C - } - } -} - diff --git a/input/tutorial/os-flute-2.ly b/input/tutorial/os-flute-2.ly new file mode 100644 index 0000000000..30308d1de8 --- /dev/null +++ b/input/tutorial/os-flute-2.ly @@ -0,0 +1,27 @@ + +\include "os-music.ly"; +\include "paper16.ly"; + +\score { + \context Staff < + \property Staff.midiInstrument = #"flute" + \global + \Key + \flautoII + > + \header { + instrument = "flute I"; + } + \paper { + linewidth = 80 * \staffspace; + textheight = 40 * \staffspace; + \translator { + \OrchestralScoreContext + skipBars = ##t + } + } + \midi { + \tempo 4 = 75; + } +} + diff --git a/input/tutorial/os-music.ly b/input/tutorial/os-music.ly new file mode 100644 index 0000000000..4c22730ba9 --- /dev/null +++ b/input/tutorial/os-music.ly @@ -0,0 +1,32 @@ +\header { + title = "Zo, goed lieverd?"; + subtitle = "How's, this babe?"; + composer = "JCN"; + piece = "Laid back"; +} +global = \notes { + \time 2/4; + \skip 2*4; \bar "|."; +} +Key = \notes \key as \major; +flautoI = \notes\relative c'' { + f8 g f g f g f g + bes as bes as bes as bes as +} +flautoII = \notes\relative c'' { +% d8 es d es R1 d4 ~ d + as8 bes as bes R1 d4 ~ d +} +tromboI = \notes\relative c'' { + c4. c8 c8 c4. es4 R1*1/2 es4 +} +tromboII = \notes\relative c'' { + as4. as8 as8 as4. R1*1/2 as4 es' +} +timpani = \notes\relative c, { + \times 2/3 { f4 f f } + \times 4/5 { as8 as as as as } +} +corno = \notes\relative c' { + bes4 d f, bes d f, bes d +} diff --git a/input/tutorial/os-score.ly b/input/tutorial/os-score.ly new file mode 100644 index 0000000000..b489c7a5b6 --- /dev/null +++ b/input/tutorial/os-score.ly @@ -0,0 +1,75 @@ + +\include "os-music.ly"; +\include "paper13.ly"; + +#(set! point-and-click #t) +#(define text-flat '((font-relative-size . -2) (music "accidentals--1"))) + +\score { + \notes < + \global + \context StaffGroup = woodwind < + \context Staff = flauti < + \property Staff.midiInstrument = #"flute" + \property Staff.instrument = "2 Flauti" + \property Staff.instr = "Fl." + \Key + \context Voice=one { \voiceOne \flautoI } + \context Voice=two { \voiceTwo \flautoII } + > + > + \context StaffGroup = timpani < + \context Staff = timpani < + \property Staff.midiInstrument = #"timpani" + \property Staff.instrument = #'(lines "Timpani" "(C-G)") + \property Staff.instr = #"Timp." + \clef bass; + \Key + \timpani + > + > + \context StaffGroup = brass < + \context Staff = trombe < + \property Staff.midiInstrument = #"trumpet" + \property Staff.instrument = #`(lines "2 Trombe" (rows "(C)")) + \property Staff.instr = #`(lines "Tbe." (rows "(C)")) + \Key + \context Voice=one \partcombine Voice + \context Thread=one \tromboI + \context Thread=two \tromboII + > + \context Staff = corni < + \property Staff.midiInstrument = #"french horn" + \property Staff.instrument = #`(lines "Corno" (rows "(E" ,text-flat ")")) + \property Staff.instr = #`(lines "Cor." (rows "(E" ,text-flat ")")) + \property Staff.transposing = #3 + \notes \key bes \major; + \context Voice=one \corno + > + > + > + \paper { + indent = 15 * \staffspace; + linewidth = 60 * \staffspace; + textheight = 90 * \staffspace; + \translator{ + \ThreadContext + \consists "Rest_engraver"; + } + \translator{ + \VoiceContext + \remove "Rest_engraver"; + } + \translator{ + \HaraKiriStaffContext + } + \translator { + \OrchestralScoreContext + BarNumber \override #'padding = #3 + } + } + \midi { + \tempo 4 = 75; + } +} + diff --git a/lily/local-key-engraver.cc b/lily/local-key-engraver.cc index d4be97cc62..5432fd89d0 100644 --- a/lily/local-key-engraver.cc +++ b/lily/local-key-engraver.cc @@ -24,6 +24,9 @@ FIXME: should not compute vertical positioning of accidentals, but get them from the noteheads + The algorithm for accidentals should be documented, and made + tweakable. + */ diff --git a/make/lilypond-vars.make b/make/lilypond-vars.make index c0d23272d4..e90de95871 100644 --- a/make/lilypond-vars.make +++ b/make/lilypond-vars.make @@ -20,7 +20,7 @@ ABC2LY = $(script-dir)/abc2ly.py CONVERT_LY = $(script-dir)/convert-ly.py LY2DVI = $(script-dir)/ly2dvi.py LILYPOND_BOOK = $(script-dir)/lilypond-book.py -LILYPOND_BOOK_INCLUDES = -I $(pwd) -I $(input-dir)/tricks/ -I $(input-dir)/regression/ -I $(input-dir)/test/ +LILYPOND_BOOK_INCLUDES = -I $(pwd) -I $(input-dir)/tricks/ -I $(input-dir)/regression/ -I $(input-dir)/test/ -I $(input-dir)/tutorial/ PS_TO_GIFS = $(buildscript-dir)/ps-to-gifs.sh PS_TO_PNGS = $(buildscript-dir)/ps-to-pngs.sh diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index edcddbe763..702c151614 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -25,29 +25,24 @@ AC_DEFUN(AC_STEPMAKE_COMPILE, [ debug_b=yes AC_ARG_ENABLE(checking, - [ enable-checking set runtime checks (assert calls). Default: on], + [ --enable-checking set runtime checks (assert calls). Default: on], [checking_b=$enableval] ) - # actually, the default is: tja='-O' to get inlining... - # off='' --jcn + AC_ARG_ENABLE(debugging, + [ --enable-debugging compile with debugging info. Default: on], + [debug_b=$enableval]) - #actually, that sucks. - # tja looks like a typo. Default is optimisation off. --hwn - AC_ARG_ENABLE(optimise, - [ enable-optimise use maximal speed optimisations. Default: off], + [ --enable-optimise use maximal speed optimisations. Default: off], [optimise_b=$enableval]) AC_ARG_ENABLE(profiling, - [ enable-profiling compile with gprof support. Default: off], + [ --enable-profiling compile with gprof support. Default: off], [profile_b=$enableval]) - AC_ARG_ENABLE(debugging, - [ enable-debugging set debug info. Default: on], - [debug_b=$enableval]) - AC_ARG_ENABLE(mingw-prefix, - [ enable-mingw-prefix=DIR set the mingw32 directory (standalone windows32 exes)], + [ --enable-mingw-prefix=DIR + set the mingw32 directory (standalone windows32 exes)], [MINGWPREFIX=$enableval], [MINGWPREFIX=no]) @@ -333,7 +328,7 @@ AC_DEFUN(AC_STEPMAKE_INIT, [ CONFIGSUFFIX= AC_ARG_ENABLE(config, - [ enable-config=FILE put configure settings in config-FILE.make], + [ --enable-config=FILE put configure settings in config-FILE.make], [CONFIGSUFFIX=-$enableval]) CONFIGFILE=config$CONFIGSUFFIX @@ -434,8 +429,8 @@ dnl fi AC_DEFUN(AC_STEPMAKE_KPATHSEA, [ kpathsea_b=yes - AC_ARG_ENABLE(kpathsea, - [ enable-kpathsea use kpathsea lib. Default: on], + AC_ARG_WITH(kpathsea, + [ --with-kpathsea use kpathsea lib. Default: on], [kpathsea_b=$enableval]) if test $kpathsea_b = yes; then @@ -516,12 +511,13 @@ AC_DEFUN(AC_STEPMAKE_LOCALE, [ # with/enable ?? AC_ARG_WITH(localedir, - [ with-localedir=LOCALE use LOCALE as locale dir. Default: PREFIX/share/locale ], + [ --with-localedir=LOCALE use LOCALE as locale dir. Default: + PREFIX/share/locale ], localedir=$with_localedir, localedir='${prefix}/share/locale') AC_ARG_WITH(lang, - [ with-lang=LANG use LANG as language to emit messages], + [ --with-lang=LANG use LANG as language to emit messages], language=$with_lang, language=English) @@ -586,17 +582,18 @@ AC_DEFUN(AC_STEPMAKE_MSGFMT, [ #why has this been dropped? AC_DEFUN(XXAC_STEPMAKE_TEXMF_DIRS, [ AC_ARG_ENABLE(tex-prefix, - [ enable-tex-prefix=DIR set the tex-directory to find TeX subdirectories. Default: PREFIX], + [ --enable-tex-prefix=DIR set the tex-directory to find TeX + subdirectories. Default: PREFIX], [TEXPREFIX=$enableval], [TEXPREFIX=auto] ) AC_ARG_ENABLE(tex-dir, - [ enable-tex-dir=DIR set the directory to put $PACKAGE_NAME TeX files in. ], + [ --enable-tex-dir=DIR set the directory to put $PACKAGE_NAME TeX files in. ], [TEXDIR=$enableval], [TEXDIR=auto] ) AC_ARG_ENABLE(mf-dir, - [ enable-mf-dir=DIR set the directory to put $PACKAGE_NAME MetaFont files in. ], + [ --enable-mf-dir=DIR set the directory to put $PACKAGE_NAME MetaFont files in. ], [MFDIR=$enableval], [MFDIR=auto]) @@ -620,7 +617,8 @@ AC_DEFUN(XXAC_STEPMAKE_TEXMF_DIRS, [ AC_DEFUN(AC_STEPMAKE_TEXMF_DIRS, [ AC_ARG_ENABLE(tfm-path, - [ enable-tfm-path=PATH set path of tex directories where tfm files live, esp.: cmr10.tfm. Default: use kpsewhich], + [ --enable-tfm-path=PATH set path of tex directories where tfm files live, + esp.: cmr10.tfm. Default: use kpsewhich], [tfm_path=$enableval], [tfm_path=auto] )