From: Han-Wen Nienhuys Date: Sun, 7 Jan 2001 00:54:21 +0000 (+0100) Subject: release: 1.3.121 X-Git-Tag: release/1.3.121 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=42c9f0b04886b8a8318cb23d7fe72a90abb41afe;p=lilypond.git release: 1.3.121 ============ * Bugfix Ly2dvi: reset LC_ALL and LC_LANG too. * Commented out dubious undocumented $(PATHSEP) from lilypond-vars.make * Replaced some instances of [$(outdir)/].. with $(pwd), these may break --srcdir builds and texi2dvi. * Several fixes for --srcdir build, allowing build from read only media. * Moved make/toplevel.make.in to less unusual GNUmakefile.in 1.3.120. --- diff --git a/CHANGES b/CHANGES index d31ae1ef52..e155a1b719 100644 --- a/CHANGES +++ b/CHANGES @@ -1,7 +1,3 @@ -1.3.120.jcn2 -============ - -* Bugfix: changed beam thickness to .48 staff-space. 1.3.120.jcn1 ============ @@ -16,6 +12,22 @@ break --srcdir builds and texi2dvi. * Several fixes for --srcdir build, allowing build from read only media. * Moved make/toplevel.make.in to less unusual GNUmakefile.in + +1.3.120.uu1 +=========== + +* Ancient font update (Juergen Reuter) + +* Syntax change: paper_xxxx -> paperXxxx + +* Some documentation updates. + +* Doc-string cleanups, and completization. + +* Changed Pedal string properties: unify stop/start/stopStart +properties. Changed pedal identifier syntax. + +* bugfix: do change clefs if full-size-change is *not* set. 1.3.120 ======= diff --git a/Documentation/topdocs/INSTALL.texi b/Documentation/topdocs/INSTALL.texi index aea898e5db..05dbd6213d 100644 --- a/Documentation/topdocs/INSTALL.texi +++ b/Documentation/topdocs/INSTALL.texi @@ -60,7 +60,7 @@ Check out @uref{ftp://ftp.gnu.org/gnu/make/,ftp://ftp.gnu.org/gnu/make/}. @item Flex (version 2.5.4a or newer). -Check out @uref{ftp://ftp.gnu.org/gnu/flex/,ftp://ftp.gnu.org/gnu/flex/}. +Check out @uref{ftp://ftp.gnu.org/pub/gnu/non-gnu/flex/,ftp://ftp.gnu.org/pub/gnu/non-gnu/flex/}. @item Bison (version 1.25 or newer). Check out @uref{ftp://ftp.gnu.org/gnu/bison/,ftp://ftp.gnu.org/gnu/bison/}. diff --git a/Documentation/user/properties.itely b/Documentation/user/properties.itely index e00b8889c1..1594b6eade 100644 --- a/Documentation/user/properties.itely +++ b/Documentation/user/properties.itely @@ -1,7 +1,6 @@ @node Properties, , , Reference Manual -Properties are Scheme values, so they have a type. The type of a -property is listed in parentheses after the property name. +Properties are Scheme values. Most of them are in the generated documentation, but some MIDI properties are not. Here is their documentation @macro propertytype{t} (\t\) @@ -9,7 +8,6 @@ property is listed in parentheses after the property name. @table @samp - @item @code{midiInstrument}@indexcode{midiInstrument} @propertytype{string} Sets the instrument for MIDI output. If this property is not set then LilyPond will use the @code{instrument} property. This must @@ -17,119 +15,10 @@ property is listed in parentheses after the property name. appears in section @ref{midilist}. If you use a string which is not listed, LilyPond will silently substitute piano. - @item @code{restStyle}@indexcode{restStyle} @propertytype{string} - Change the layout of rests shorter than quarter notes. - Currently, the standard layout @code{""} and mensural notation - @code{"mensural"} are available. Mensural rests of duration - 32 or shorter are not available. -@lilypond[verbatim] -r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 -\property Staff.restStyle = "mensural" -r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 -@end lilypond - @item @code{transposing}@indexcode{transposing} @propertytype{integer} Transpose the MIDI output. Set this property to the number of half-steps to transpose by. - - -@item @code{tupletSpannerDuration} @indexcode{tupletSpannerDuration} -@propertytype{moment} - @end table -@subsubheading Staff properties - -@cindex properties!Staff - -@table @samp - - - @item @code{noVoltaBraces}@indexcode{noVoltaBraces} @propertytype{boolean} - Set to true to suppress the printing of brackets over alternate - endings specified by the command @code{\alternative}. [BROKEN] - - - @item @code{keyOctaviation}@indexcode{keyOctaviation} @propertytype{boolean} - If set to false, then keys are the same in all octaves. If set - to true then the key signature for different octaves can be - different and is specified independently: - - @example - \keysignature bes fis' - @end example - - The default value is @code{#f}. Can be set to @code{#t} with - @code{\specialkey} or reset with @code{\normalkey}. [BROKEN] - - @item @code{timeSignatureStyle}@indexcode{timeSignatureStyle} @propertytype{symbol} - Changes the default two-digit layout for time signatures. The - following values are recognized: - - @table @samp - @item @code{C}@indexcode{C} - 4/4 and 2/2 are typeset as C and struck C, respectively. All - other time signatures are written with two digits. - - @item @code{old}@indexcode{old} - 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are - typeset with old-style mensuration marks. All other time - signatures are written with two digits. - - @item @code{1xxx}@indexcode{1xxx} - All time signatures are typeset with a single - digit, e.g. 3/2 is written as 3. (Any symbol starting - with the digit @code{1} will do.) - - @item @indexcode{CM/N}@code{C}@var{M}@code{/}@var{N}, - @indexcode{oldM/N}@code{old}@var{M}@code{/}@var{N} or - @code{old6/8alt}@indexcode{old6/8alt} - Tells LilyPond to use a specific symbol as time signature, - regardless of the actual time signature. - @end table - - The different time signature characters are shown below with its - names: - -@lilypond[center,verbatim] - - \score { - \notes\relative c'' { - \property Voice.TextScript \set #'font-shape = #'upright - \property Voice.TextScript \set #'font-family = #'typewriter - \property Staff.TimeSignature \set #'style = #'C2/2 - \time 2/2; a2^"C2/2" a2 - \property Staff.TimeSignature \set #'style = #'C4/4 - \time 2/2; a2^"C4/4" a2 - \property Staff.TimeSignature \set #'style = #'old2/2 - \time 2/2; a2^"old2/2" a2 - \property Staff.TimeSignature \set #'style = #'old3/2 - \time 2/2; a2^"old3/2" a2 - \property Staff.TimeSignature \set #'style = #'old2/4 - \time 2/2; a2^"old2/4" a2 - \property Staff.TimeSignature \set #'style = #'old4/4 - \time 2/2; a2^"old4/4" a2 - \property Staff.TimeSignature \set #'style = #'old6/4 - \time 2/2; a2^"old6/4" a2 - \property Staff.TimeSignature \set #'style = #'old9/4 - \time 2/2; a2^"old9/4" a2 - \property Staff.TimeSignature \set #'style = #'old4/8 - \time 2/2; a2^"old4/8" a2 - \property Staff.TimeSignature \set #'style = #'old6/8 - \time 2/2; a2^"old6/8" a2 - \property Staff.TimeSignature \set #'style = #'old6/8alt - \time 2/2; a2^"old6/8alt" a2 - \property Staff.TimeSignature \set #'style = #'old9/8 - \time 2/2; a2^"old9/8" a2 - } - \paper { - linewidth = 4.5 \in; - } - } - -@end lilypond - - -@end table diff --git a/Documentation/user/refman.itely b/Documentation/user/refman.itely index 60018dacba..63d75f23dc 100644 --- a/Documentation/user/refman.itely +++ b/Documentation/user/refman.itely @@ -33,9 +33,7 @@ * lyricprint:: lyricprint * Notation Contexts:: Notation Contexts * Properties:: Changing formatting -* Notation output definitions:: Notation output definitions -* paper:: paper -* Paper variables:: papervars +* Page layout:: Layout * contextdefs:: contextdefs * Sound output:: Sound output * midilist:: midilist @@ -434,7 +432,7 @@ refer to an identifier, you preceed its name with a backslash: `@code{\}@var{name}'. Identifier assignments must appear at top level in the @emph{Lilypond} file. Semicolons are forbidden after assignments appearing at top level but they are obligatory after assignments -appearing in the @code{\paper} block, see Section @ref{paper}. +appearing in the @code{\paper} block, see Section @ref{Page layout}. @var{value} is any valid Scheme value or any of the input-types listed above. @@ -475,12 +473,11 @@ copied. For this reason, an identifier reference must always be the Music in @emph{Lilypond} is entered as a music expression. Notes, rests, lyric syllables are music expressions (the atomic -expressions) +expressions), @cindex atomic music expressions -, and you can combine -music expressions to form new ones. This example forms a compound -expressions out of the quarter @code{c} note and a @code{d} -note: +and you can combine music expressions to form new ones. This example +forms a compound expressions out of the quarter @code{c} note and a +@code{d} note: @example \sequential @{ c4 d4 @} @@ -788,7 +785,6 @@ Commands are music expressions that have no duration. @example - @code{\key}@keyindex{key} @var{pitch} @var{type} @code{;} @end example @@ -806,13 +802,6 @@ mode names @code{\ionian}@keyindex{ionian}, @code{\phrygian}@keyindex{phrygian}, and @code{\dorian}@keyindex{dorian} are also defined. -@example - @code{\keysignature}@keyindex{keysignature} @var{pitchseq} @code{;} -@end example - -Specify an arbitrary key signature. The pitches from @var{pitch} will -be printed in the key signature in the order that they appear on the -list. @example \mark@keyindex{mark} @var{unsigned}; @@ -834,8 +823,9 @@ This is a short-cut for doing \property Score.whichBar = @var{bartype} @end example -You are encouraged to use @code{\repeat} for repetitions. See -@ref{Repeats}, and the documentation of @code{whichBar}. +You are encouraged to use @code{\repeat} for repetitions. See +@ref{Repeats}, and the documentation of @code{whichBar} in +@ref{(lilypond-internals)LilyPond context properties}. @example @@ -893,7 +883,6 @@ relocated, so this can also be used to shorten measures. @example - \penalty@keyindex{penalty} @var{int} @code{;} @end example @@ -948,7 +937,6 @@ Some more elaborate constructions: Beaming can be generated automatically; see section @ref{autobeam}. -[OUTDATED, FIXME] To place tremolo marks between notes, use @code{\repeat} with tremolo style. @@ -1833,31 +1821,33 @@ foo = -6 @node autobeam, , , Reference Manual -By default, LilyPond will generate beams automatically. This feature -can be disabled by setting the @code{Voice.noAutoBeaming}@indexcode{Voice.noAutoBeaming} -property to 1. It can be overridden for specific cases by -specifying explicit beams. +[FIXME: UPDATEME] +By default, LilyPond will generate beams automatically. This feature +can be disabled by setting the +@code{Voice.noAutoBeaming}@indexcode{Voice.noAutoBeaming} property to 1. +It can be overridden for specific cases by specifying explicit beams. A large number of Voice properties are used to decide how to generate -beams. Their default values appear in @file{auto-beam-settings.ly}. -In general, beams can begin anywhere, but their ending location is -significant. Beams can end on a beat, or at durations specified by -the @code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} property. To end beams every -quarter note, for example, you could set -@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} equal to `@code{"1/4"}'. To end beams -at every three eighth notes you would set it to `@code{"3/8"}'. The -same syntax can be used to specify beam starting points using +beams. Their default values appear in @file{auto-beam-settings.ly}. In +general, beams can begin anywhere, but their ending location is +significant. Beams can end on a beat, or at durations specified by the +@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} property. To end +beams every quarter note, for example, you could set +@code{Voice.beamAutoEnd}@indexcode{Voice.beamAutoEnd} equal to +`@code{"1/4"}'. To end beams at every three eighth notes you would set +it to `@code{"3/8"}'. The same syntax can be used to specify beam +starting points using @code{Voice.beamAutoBegin}@indexcode{Voice.beamAutoBegin}. To allow different settings for different time signatures, these property names can start with `@code{time}@var{N}@code{_}@var{M}' to restrict the definition to `@var{N}@code{/}@var{M}' time. For example, -to specify beams ending only for 6/8 time you would use the -property @code{Voice.time6_8beamAutoEnd}. To allow different endings -for notes of different durations, the duration can be tacked onto the -end of the property. To specify beam endings for beams that contain -32nd notes, you would use @code{Voice.beamAutoEnd_32}. +to specify beams ending only for 6/8 time you would use the property +@code{Voice.time6_8beamAutoEnd}. To allow different endings for notes +of different durations, the duration can be tacked onto the end of the +property. To specify beam endings for beams that contain 32nd notes, +you would use @code{Voice.beamAutoEnd_32}. @@ -2162,16 +2152,9 @@ called @emph{performers}. @mbinclude properties.itely -@node Notation output definitions, , , Reference Manual -@section Notation output definitions - -@cindex output +@node Page layout, , , Reference Manual -@cindex notation output - -@cindex output definition - -@node paper, , , Reference Manual +@subsection Paper block The most important output definition is the @code{\paper} block, for music notation. The syntax is @@ -2215,7 +2198,6 @@ where each of the items is one of @end ignore @item \stylesheet declaration. Its syntax is - @example \stylesheet @var{alist} @end example @@ -2223,36 +2205,9 @@ where each of the items is one of See @file{font.scm} for details of @var{alist}. @end itemize +@subsection Paper variables -@cindex changing font size and paper size - -The Feta font provides musical symbols at six different sizes. These -fonts are 11 point, 13 point, 16 point, 20 point, -23 point, and 26 point. The point size of a font is the -height of the five lines in a staff when displayed in the font. - -Definitions for these sizes are the files @file{paperSZ.ly}, where -@code{SZ} is one of 11, 13, 16, 20, 23 and 26. If you include -any of these files, the identifiers @code{paper_eleven}, -@code{paper_thirteen}, @code{paper_sixteen}, @code{paper_twenty}, -@code{paper_twentythree}, and @code{paper_twentysix} are defined -respectively. The default @code{\paper} block is also set. - -To change the paper size, you must first set the -@code{papersize}@indexcode{papersize} variable at top level. Set it to the strings -@code{a4}, @code{letter}, or @code{legal}. After this specification, -you must set the font as described above. If you want the default -font, then use the 20 point font. The new paper size will not -take effect if the font is not loaded and selected afterwards. Paper -size selection works by loading a file named after the paper size you -select. - - - -@cindex paper variables - -@node Paper variables, , , Reference Manual The paper block has some variables you may want to use or change: @@ -2284,13 +2239,90 @@ The paper block has some variables you may want to use or change: @item @code{stafflinethickness}@indexcode{stafflinethickness} Determines the thickness of staff lines, and also acts as a scaling -parameter for other line thicknesses. + parameter for other line thicknesses. @end table +@subsection Line breaks + +@cindex line breaks +@cindex breaking lines + +Line breaks are normally computed automatically. They are chosen such +that the resulting spacing has low variation, and looks neither cramped +nor loose. + +Occasionally you might want to override the automatic breaks; you can do +this by specifying @code{\break} (see also @ref{Pre-defined +Identifiers}). This will force a line break at this point. Do remember +that line breaks can only occur at places where there are barlines. If +you want to have a line break where there is no barline, you can force a +barline by entering @code{\bar "";}. + +@subsection Page breaks + +Page breaks are normally computed by @TeX{}, so they are not under direct +control. However, you can insert a commands into the .tex output to +instruct @TeX{} where to break pages. For more details, see the +example file @file{input/test/between-systems.ly} + + +@cindex page breaks +@cindex breaking pages + + +@subsection Font size + +@cindex font size +@cindex paper size + +The Feta font provides musical symbols at six different sizes. These +fonts are 11 point, 13 point, 16 point, 20 point, +23 point, and 26 point. The point size of a font is the +height of the five lines in a staff when displayed in the font. + +Definitions for these sizes are the files @file{paperSZ.ly}, where +@code{SZ} is one of 11, 13, 16, 20, 23 and 26. If you include any of +these files, the identifiers @code{paperEleven}, @code{paperThirteen}, +@code{paperSixteen}, @code{paperTwenty}, @code{paperTwentythree}, and +@code{paperTwentysix} are defined respectively. The default +@code{\paper} block is also set. + +The font definitions are generated using a Scheme function. For more +details, see the file @file{font.scm}. + +@subsection paper size + +@cindex paper size +@cindex page size + +To change the paper size, you must first set the +@code{papersize}@indexcode{papersize} variable at top level. Set it to +the strings @code{a4}, @code{letter}, or @code{legal}. After this +specification, you must set the font as described above. If you want +the default font, then use the 20 point font. The new paper size will +not take effect if the font is not loaded and selected afterwards. + +@example + papersize = "a4" + \include "paper16.ly" + + \score @{ + ... + \paper @{ \paperSixteen @} + @} +@end example + +The file "paper16.ly" will now include a file named @file{a4.ly}, which +will set the paper variables @code{hsize} and @code{vsize} (used by +@code{ly2dvi}) + @node contextdefs, , , Reference Manual @cindex context definition +@cindex translator definition +@cindex engraver hacking + A notation contexts is defined by the following information @@ -2556,7 +2588,7 @@ piano. Various identifiers are defined in the initialization files to provide shorthands for some settings. Most of them are in -@file{ly/declarations.ly}. +@file{ly/declarations.ly} and @file{ly/property.ly}. @table @samp @item @code{\break}@keyindex{break} @@ -2567,29 +2599,13 @@ provide shorthands for some settings. Most of them are in Prevent a line break in music by using a large negative argument for the keyword @code{\penalty}. - @item @code{\normalkey}@keyindex{normalkey} - Select normal key signatures where each octave has the same key - signature. This sets the @code{Staff.keyoctaviation} property. - - @item @code{\shiftoff}@keyindex{shiftOff} + @item @code{\shiftOff}@keyindex{shiftOff} Disable horizontal shifting of note heads that collide. @item @code{\shiftOn}@keyindex{shiftOn} Enable note heads that collide with other note heads to be - shifted horiztonally. - - @item @code{\slurBoth}@keyindex{slurBoth} - Allow slurs to be above or below notes. - - @item @code{\slurDown}@keyindex{slurDown} - Force slurs to be below notes. - - @item @code{\slurUp}@keyindex{slurUp} - Force slurs to be above notes. - - @item @code{\specialkey}@keyindex{specialkey} - Allow key signatures do differ in different octaves. This sets - the @code{Staff.keyoctaviation} property. + shifted horiztonally. Also @code{\shiftOnn} and @code{\shiftOnnn} +set different shift values. @item @code{\stemBoth}@keyindex{stemBoth} Allow stems, beams, and slurs to point either upwards or diff --git a/INSTALL.txt b/INSTALL.txt index 0a2e54f064..1f1cd1afc0 100644 --- a/INSTALL.txt +++ b/INSTALL.txt @@ -53,7 +53,8 @@ Prerequisites (ftp://ftp.gnu.org/gnu/make/). * Flex (version 2.5.4a or newer). Check out - ftp://ftp.gnu.org/gnu/flex/ (ftp://ftp.gnu.org/gnu/flex/). + ftp://ftp.gnu.org/pub/gnu/non-gnu/flex/ + (ftp://ftp.gnu.org/pub/gnu/non-gnu/flex/). * Bison (version 1.25 or newer). Check out ftp://ftp.gnu.org/gnu/bison/ (ftp://ftp.gnu.org/gnu/bison/). diff --git a/VERSION b/VERSION index a17c36d67c..1f72a9ba7b 100644 --- a/VERSION +++ b/VERSION @@ -1,8 +1,8 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=3 -PATCH_LEVEL=120 -MY_PATCH_LEVEL=jcn2 +PATCH_LEVEL=121 +MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a # released version. diff --git a/configure b/configure index c5be88005e..6096179843 100755 --- a/configure +++ b/configure @@ -631,19 +631,17 @@ echo "configure:631: checking Package" >&5 if test "x$PACKAGE" = "xSTEPMAKE"; then echo "$ac_t""Stepmake package!" 1>&6 - #if test "x$builddir" != "x"; then - # builddir="../$builddir" - #else - # builddir=.. - #fi - if test "$srcdir" != "."; then + echo $ac_n "checking builddir""... $ac_c" 1>&6 +echo "configure:636: checking builddir" >&5 + if test "$srcdir" = "."; then + builddir=. + else absolute_builddir="`pwd`" package_absolute_builddir="`dirname $absolute_builddir`" package_srcdir="`dirname $srcdir`" builddir="`dirname $package_srcdir`/`basename $package_absolute_builddir`/`basename $absolute_builddir`" - else - builddir=. fi + echo "$ac_t""$builddir" 1>&6 (cd stepmake 2>/dev/null || mkdir stepmake) (cd stepmake; rm -f stepmake; ln -s ../$srcdir/stepmake .) @@ -671,22 +669,40 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. else echo "$ac_t""$PACKAGE" 1>&6 - if test "$srcdir" != "."; then - absolute_builddir="`pwd`" - builddir="`dirname $srcdir`/`basename $absolute_builddir`" - else + echo $ac_n "checking builddir""... $ac_c" 1>&6 +echo "configure:674: checking builddir" >&5 + if test "$srcdir" = "."; then builddir=. + srcdir_build=no + else + absolute_builddir="`pwd`" +# builddir="`dirname $srcdir`/`basename $absolute_builddir`" + builddir="`bash $srcdir/buildscripts/walk.sh \"$srcdir\"`" + srcdir_build=yes + fi + echo "$ac_t""$builddir" 1>&6 + if expr "$srcdir" : '/' > /dev/null 2>&1; then + absolute_srcdir=yes + + echo "configure: warning: Absolute --srcdir specified: $srcdir" 1>&2 + warn_b=yes + fi echo $ac_n "checking for stepmake""... $ac_c" 1>&6 -echo "configure:683: checking for stepmake" >&5 +echo "configure:694: checking for stepmake" >&5 # Check for installed stepmake if test -d $stepmake; then echo "$ac_t""$stepmake" 1>&6 else - stepmake='$(depth)'/$srcdir/stepmake + if test "$absolute_srcdir" != "yes"; then + stepmake='$(depth)'/$srcdir/stepmake + else + stepmake=$srcdir/stepmake + fi echo "$ac_t""$srcdir/stepmake ($datadir/stepmake not found)" 1>&6 fi + ac_aux_dir= for ac_dir in \ $HOME/usr/local/share/stepmake/bin\ @@ -795,7 +811,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:799: checking host system type" >&5 +echo "configure:815: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -820,7 +836,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:824: checking for $ac_word" >&5 +echo "configure:840: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -855,7 +871,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:859: checking for $ac_word" >&5 +echo "configure:875: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -892,7 +908,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:896: checking for $ac_word" >&5 +echo "configure:912: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -927,7 +943,7 @@ test -n "$TAR" || TAR="error" # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:931: checking for $ac_word" >&5 +echo "configure:947: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -967,7 +983,7 @@ fi # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:971: checking for $ac_word" >&5 +echo "configure:987: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_SHELL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1004,7 +1020,7 @@ fi # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1008: checking for $ac_word" >&5 +echo "configure:1024: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1045,7 +1061,7 @@ fi # Extract the first word of "${PYTHON:-python}", so it can be a program name with args. set dummy ${PYTHON:-python}; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1049: checking for $ac_word" >&5 +echo "configure:1065: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1270,7 +1286,7 @@ EOF # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1274: checking for $ac_word" >&5 +echo "configure:1290: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1300,7 +1316,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1304: checking for $ac_word" >&5 +echo "configure:1320: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1351,7 +1367,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1355: checking for $ac_word" >&5 +echo "configure:1371: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1383,7 +1399,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1387: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1403: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1394,12 +1410,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 1398 "configure" +#line 1414 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:1403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1425,12 +1441,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1429: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1445: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:1434: checking whether we are using GNU C" >&5 +echo "configure:1450: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1439,7 +1455,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1443: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1459: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -1458,7 +1474,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:1462: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:1478: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1505,7 +1521,7 @@ fi # AC_HAVE_HEADERS(limits.h malloc.h string.h unistd.h values.h) echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1509: checking how to run the C preprocessor" >&5 +echo "configure:1525: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1520,13 +1536,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1530: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1546: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1537,13 +1553,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1547: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1563: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1554,13 +1570,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1564: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1580: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1588,17 +1604,17 @@ for ac_hdr in assert.h sys/stat.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1592: checking for $ac_hdr" >&5 +echo "configure:1608: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1602: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1618: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1625,12 +1641,12 @@ fi done echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6 -echo "configure:1629: checking whether stat file-mode macros are broken" >&5 +echo "configure:1645: checking whether stat file-mode macros are broken" >&5 if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1691,7 +1707,7 @@ fi echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6 -echo "configure:1695: checking how to run the C++ preprocessor" >&5 +echo "configure:1711: checking how to run the C++ preprocessor" >&5 if test -z "$CXXCPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CXXCPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1704,12 +1720,12 @@ ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftes cross_compiling=$ac_cv_prog_cxx_cross CXXCPP="${CXX-g++} -E" cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1713: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1729: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1746,7 +1762,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1750: checking for $ac_word" >&5 +echo "configure:1766: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1778,7 +1794,7 @@ test -n "$CXX" || CXX="gcc" echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1782: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 +echo "configure:1798: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -1789,12 +1805,12 @@ cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext << EOF -#line 1793 "configure" +#line 1809 "configure" #include "confdefs.h" int main(){return(0);} EOF -if { (eval echo configure:1798: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1814: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cxx_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -1820,12 +1836,12 @@ if test $ac_cv_prog_cxx_works = no; then { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:1824: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1840: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6 cross_compiling=$ac_cv_prog_cxx_cross echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 -echo "configure:1829: checking whether we are using GNU C++" >&5 +echo "configure:1845: checking whether we are using GNU C++" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1834,7 +1850,7 @@ else yes; #endif EOF -if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1838: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1854: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no @@ -1853,7 +1869,7 @@ ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 -echo "configure:1857: checking whether ${CXX-g++} accepts -g" >&5 +echo "configure:1873: checking whether ${CXX-g++} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1887,17 +1903,17 @@ fi ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6 -echo "configure:1891: checking for FlexLexer.h" >&5 +echo "configure:1907: checking for FlexLexer.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1901: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1917: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1948,12 +1964,12 @@ fi echo $ac_n "checking whether explicit instantiation is needed""... $ac_c" 1>&6 -echo "configure:1952: checking whether explicit instantiation is needed" >&5 +echo "configure:1968: checking whether explicit instantiation is needed" >&5 if eval "test \"`echo '$''{'lily_cv_need_explicit_instantiation'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < struct foo { static int baz; }; @@ -1963,7 +1979,7 @@ int main() { return foo::baz; ; return 0; } EOF -if { (eval echo configure:1967: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* lily_cv_need_explicit_instantiation=no else @@ -1990,7 +2006,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1994: checking for $ac_word" >&5 +echo "configure:2010: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2033,7 +2049,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2037: checking for $ac_word" >&5 +echo "configure:2053: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_BISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2068,7 +2084,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2072: checking for $ac_word" >&5 +echo "configure:2088: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_FLEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2136,7 +2152,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2140: checking for $ac_word" >&5 +echo "configure:2156: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2169,7 +2185,7 @@ test -n "$AR" || AR="error" # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2173: checking for $ac_word" >&5 +echo "configure:2189: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2225,7 +2241,7 @@ fi echo $ac_n "checking language""... $ac_c" 1>&6 -echo "configure:2229: checking language" >&5 +echo "configure:2245: checking language" >&5 case "$language" in En* | en* | Am* | am* | US* | us*) lang=English;; @@ -2261,7 +2277,7 @@ EOF echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6 -echo "configure:2265: checking for gettext in -lintl" >&5 +echo "configure:2281: checking for gettext in -lintl" >&5 ac_lib_var=`echo intl'_'gettext | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2269,7 +2285,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2303: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -2313,12 +2329,12 @@ fi for ac_func in gettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2317: checking for $ac_func" >&5 +echo "configure:2333: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2376,7 +2392,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2380: checking for $ac_word" >&5 +echo "configure:2396: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2407,7 +2423,7 @@ done test -n "$MSGFMT" || MSGFMT="\$(SHELL) \$(step-bindir)/fake-msgfmt.sh " echo $ac_n "checking whether msgfmt accepts -o""... $ac_c" 1>&6 -echo "configure:2411: checking whether msgfmt accepts -o" >&5 +echo "configure:2427: checking whether msgfmt accepts -o" >&5 msgfmt_output="`msgfmt -o bla 2>&1 | grep usage`" if test "$msgfmt_output" = ""; then echo "$ac_t""yes" 1>&6 @@ -2435,7 +2451,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2439: checking for $ac_word" >&5 +echo "configure:2455: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_METAFONT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2471,7 +2487,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2475: checking for $ac_word" >&5 +echo "configure:2491: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MFONT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2509,7 +2525,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2513: checking for $ac_word" >&5 +echo "configure:2529: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_METAPOST'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2545,7 +2561,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2549: checking for $ac_word" >&5 +echo "configure:2565: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MPOST'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2584,7 +2600,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2588: checking for $ac_word" >&5 +echo "configure:2604: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INIMETAFONT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2620,7 +2636,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2624: checking for $ac_word" >&5 +echo "configure:2640: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INIMFONT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2658,7 +2674,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2662: checking for $ac_word" >&5 +echo "configure:2678: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INIMETAPOST'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2694,7 +2710,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2698: checking for $ac_word" >&5 +echo "configure:2714: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INIMPOST'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2728,7 +2744,7 @@ test -n "$INIMPOST" || INIMPOST="-echo no inimp or inimpost" fi echo $ac_n "checking for working metafont mode""... $ac_c" 1>&6 -echo "configure:2732: checking for working metafont mode" >&5 +echo "configure:2748: checking for working metafont mode" >&5 modelist='ljfour lj4 lj3 lj2 ljet laserjet' for MFMODE in $modelist; do $METAFONT "\mode:=$MFMODE; mode_setup; end." > /dev/null 2>&1 @@ -2739,7 +2755,7 @@ echo "configure:2732: checking for working metafont mode" >&5 echo "$ac_t""$MFMODE" 1>&6 echo $ac_n "checking for mfplain.mp""... $ac_c" 1>&6 -echo "configure:2743: checking for mfplain.mp" >&5 +echo "configure:2759: checking for mfplain.mp" >&5 # # For now let people define these in their environments # @@ -2747,7 +2763,7 @@ echo "configure:2743: checking for mfplain.mp" >&5 echo "$ac_t""$MFPLAIN_MP" 1>&6 echo $ac_n "checking for inimetapost flags""... $ac_c" 1>&6 -echo "configure:2751: checking for inimetapost flags" >&5 +echo "configure:2767: checking for inimetapost flags" >&5 if test ${INIMETAPOST} = "inimp" ; then : ${INIMETAPOST_FLAGS=''} else @@ -2780,7 +2796,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2784: checking for $ac_word" >&5 +echo "configure:2800: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_KPSEWHICH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2811,7 +2827,7 @@ done test -n "$KPSEWHICH" || KPSEWHICH="no" echo $ac_n "checking for tfm path""... $ac_c" 1>&6 -echo "configure:2815: checking for tfm path" >&5 +echo "configure:2831: checking for tfm path" >&5 TFM_FONTS="cmr msam" @@ -2839,13 +2855,13 @@ echo "configure:2815: checking for tfm path" >&5 ## First, let's just see if we can find Guile at all. echo $ac_n "checking "for guile-config"""... $ac_c" 1>&6 -echo "configure:2843: checking "for guile-config"" >&5 +echo "configure:2859: checking "for guile-config"" >&5 for guile_config in guile-config $target-guile-config $build-guile-config; do echo "$ac_t"""$guile_config"" 1>&6 if ! $guile_config --version > /dev/null 2>&1 ; then echo "configure: warning: "cannot execute $guile_config"" 1>&2 echo $ac_n "checking "if we are cross compiling"""... $ac_c" 1>&6 -echo "configure:2849: checking "if we are cross compiling"" >&5 +echo "configure:2865: checking "if we are cross compiling"" >&5 guile_config=error else break @@ -2856,7 +2872,7 @@ echo "configure:2849: checking "if we are cross compiling"" >&5 exit 1 fi echo $ac_n "checking "Guile version"""... $ac_c" 1>&6 -echo "configure:2860: checking "Guile version"" >&5 +echo "configure:2876: checking "Guile version"" >&5 need_guile_version="1.3.4" need_guile_version_numeric=100304 guile_version=`$guile_config --version 2>&1 | awk '{print $NF}'` @@ -2875,7 +2891,7 @@ else {last =0}} ## The GUILE_FLAGS macro. echo $ac_n "checking for Guile""... $ac_c" 1>&6 -echo "configure:2879: checking for Guile" >&5 +echo "configure:2895: checking for Guile" >&5 if ! $guile_config link > /dev/null ; then echo "$ac_t"""cannot execute $guile_config"" 1>&6 { echo "configure: error: "cannot find guile-config; is Guile installed?"" 1>&2; exit 1; } @@ -2890,7 +2906,7 @@ echo "configure:2879: checking for Guile" >&5 # Extract the first word of "guile", so it can be a program name with args. set dummy guile; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:2894: checking for $ac_word" >&5 +echo "configure:2910: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GUILE'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2940,17 +2956,17 @@ fi do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2944: checking for $ac_hdr" >&5 +echo "configure:2960: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2954: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2970: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2977,7 +2993,7 @@ fi done echo $ac_n "checking for kpse_find_file in -lkpathsea""... $ac_c" 1>&6 -echo "configure:2981: checking for kpse_find_file in -lkpathsea" >&5 +echo "configure:2997: checking for kpse_find_file in -lkpathsea" >&5 ac_lib_var=`echo kpathsea'_'kpse_find_file | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2985,7 +3001,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lkpathsea $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3019: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3032,12 +3048,12 @@ fi for ac_func in kpse_find_file do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3036: checking for $ac_func" >&5 +echo "configure:3052: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3092,7 +3108,7 @@ done fi echo $ac_n "checking whether to use kpathsea""... $ac_c" 1>&6 -echo "configure:3096: checking whether to use kpathsea" >&5 +echo "configure:3112: checking whether to use kpathsea" >&5 if test $kpathsea_b = yes; then echo "$ac_t""yes" 1>&6 KPATHSEA=1 @@ -3113,7 +3129,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3117: checking for $ac_word" >&5 +echo "configure:3133: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_BIBTEX2HTML'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3154,7 +3170,7 @@ test -n "$BIBTEX2HTML" || BIBTEX2HTML="error" echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 -echo "configure:3158: checking for 8-bit clean memcmp" >&5 +echo "configure:3174: checking for 8-bit clean memcmp" >&5 if eval "test \"`echo '$''{'ac_cv_func_memcmp_clean'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3162,7 +3178,7 @@ else ac_cv_func_memcmp_clean=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3195: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_memcmp_clean=yes else @@ -3193,12 +3209,12 @@ echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6 test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}" echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:3197: checking for vprintf" >&5 +echo "configure:3213: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -3248,12 +3264,12 @@ fi if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:3252: checking for _doprnt" >&5 +echo "configure:3268: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -3306,12 +3322,12 @@ fi for ac_func in memmem snprintf vsnprintf gettext isinf do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3310: checking for $ac_func" >&5 +echo "configure:3326: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3357: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3376,7 +3392,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3380: checking for $ac_word" >&5 +echo "configure:3396: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3409,7 +3425,7 @@ test -n "$MAKEINFO" || MAKEINFO="error" # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3413: checking for $ac_word" >&5 +echo "configure:3429: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3952,10 +3968,13 @@ if test "$no_recursion" != yes; then fi - rm -f $srcdir/GNUmakefile - cp $srcdir/make/toplevel.make.in $srcdir/GNUmakefile - chmod 444 $srcdir/GNUmakefile - if test "$builddir" != "."; then + # regular in-place build + # test for srcdir_build = yes ? + if test "$builddir" = "."; then + rm -f $srcdir/GNUmakefile + cp $srcdir/GNUmakefile.in $srcdir/GNUmakefile + chmod 444 $srcdir/GNUmakefile + else # --srcdir build rm -f GNUmakefile cp $srcdir/make/srcdir.make.in GNUmakefile chmod 444 GNUmakefile diff --git a/input/denneboom.ly b/input/denneboom.ly index 29a964f31b..7c2a080e46 100644 --- a/input/denneboom.ly +++ b/input/denneboom.ly @@ -7,7 +7,7 @@ copyright = "public domain"; \include "paper20.ly" -\version "1.3.117"; +\version "1.3.120"; oden = \lyrics{ O | @@ -81,7 +81,7 @@ verseTwoStaff = \context Lyrics = two denneboomShape = \paper{ - \paper_twenty + \paperTwenty indent = 20. \mm; % UGH -- THIS IS HAIRY diff --git a/input/star-spangled-banner.ly b/input/star-spangled-banner.ly index 80d7ff72da..a4ee1e373d 100644 --- a/input/star-spangled-banner.ly +++ b/input/star-spangled-banner.ly @@ -4,7 +4,7 @@ http://www.Arkkra.com/doc/star.html http://www.Arkkra.com/doc/star.ps %} -\version "1.3.117"; +\version "1.3.120"; % TODO: % @@ -164,7 +164,7 @@ text = \lyrics { > > \paper{ - \paper_sixteen + \paperSixteen textheight = 230.\mm; linewidth= 180.\mm; \translator { diff --git a/input/test/ancient-font.ly b/input/test/ancient-font.ly index 34a26de846..37e39a8e37 100644 --- a/input/test/ancient-font.ly +++ b/input/test/ancient-font.ly @@ -3,82 +3,101 @@ date = "2000"; } -\version "1.3.117"; +\version "1.3.120"; \include "paper26.ly" global = \notes { - \property Score.timing = 1 - \property Staff.TimeSignature \override #'style = #"old" - \time 2/2; + \property Score.timing = ##f +% \property Staff.TimeSignature \override #'style = #'old } upperVoice = \context Staff = upperVoice < \global - \property Staff.numberOfStaffLines = 4 + \property Staff.StaffSymbol \override #'line-count = #4 \notes \transpose c' { - \property Staff.Custos \override #'style = #'"vaticana" + \property Voice.NoteHead \override #'style = #'mensural + \property Voice.Stem \override #'stem-centered = ##t + \property Staff.Custos \override #'style = #'vaticana \clef "vaticana_fa2"; - c1 d e f g + c2 d e f g + +% \property Staff.clefGlyph = #"clefs-vaticana_do" +% \property Staff.clefPosition = #1 +% \property Staff.clefOctavation = #0 \clef "vaticana_do2"; - a b c' \bar "|"; + + a b c' b a g f \clef "vaticana_fa1"; - e d c\breve \bar "|"; + e d c1 \bar "|"; - \property Staff.Custos \override #'style = #"medicaea" + \property Staff.Custos \override #'style = #'medicaea \clef "medicaea_fa2"; - c1 d e f g + c2 d e f g \clef "medicaea_do2"; - a b c' \bar "|"; + a b c' b a g f \clef "medicaea_fa1"; - e d c\breve \bar "|"; + e d c1 \bar "|"; - \property Staff.Custos \override #'style = #'"hufnagel" + \property Staff.Custos \override #'style = #'hufnagel \clef "hufnagel_fa2"; - c1 d e f g + c2 d e f g \clef "hufnagel_do2"; - a b c' \bar "|"; + a b c' b a g f \clef "hufnagel_fa1"; - e d c\breve \bar "||"; + e d c1 \bar "||"; } > lowerVoice = \context Staff = lowerNotes < \global - \property Staff.numberOfStaffLines = 5 - \notes \transpose c'' { - \property Staff.Custos \override #'style = #'"mensural" + \property Staff.StaffSymbol \override #'line-count = #5 + \notes \transpose c' { + \property Voice.NoteHead \override #'style = #'mensural + \property Voice.Stem \override #'stem-centered = ##t + \property Staff.Custos \override #'style = #'mensural \clef "mensural1_c2"; - c1 d e f g + c2 d e f g \clef "mensural1_c2"; - a b c' \bar "|"; + a b c' b a g f \clef "mensural2_c2"; - e d c\breve \bar "|"; + e d c1 \bar "|"; \clef "mensural2_c2"; - c1 d e f g + c2 d e f g \clef "mensural3_c2"; - a b c' \bar "|"; + a b c' b a g f \clef "mensural3_c2"; - e d c\breve \bar "|"; + e d c1 \bar "|"; - \clef "mensural_f"; - c1 d e f g - \clef "mensural_f"; - a b c' \bar "|"; + \clef "mensural1_f"; + c2 d e f g + \clef "mensural1_f"; + a b c' b a g f - \clef "mensural_f"; - e d c\breve \bar "|"; + \clef "mensural2_f"; + e d c1 \bar "|"; - \clef "hufnagel"; - c,1 d, e, f, g, - \clef "hufnagel"; - a, b, c \bar "||"; + \clef "mensural2_f"; + c2 d e f g + \clef "mensural_g"; + a' b' c'' + b' a' g' f' + \clef "mensural_g"; + e' d' c'1 \bar "|"; + + \clef "mensural_g"; + c'2 d' e' f' g' + \clef "hufnagel_do_fa"; + a b c' + b a g f + \clef "hufnagel_do_fa"; + e d c1 \bar "||"; } > @@ -88,14 +107,16 @@ lowerVoice = \context Staff = lowerNotes < \lowerVoice > \paper { -% \paper_twentysix +% \paperTwentysix linewidth = 17.25\cm; textheight = 26.0\cm; indent = 0.0; \translator { \StaffContext - \consists "Custos_engraver"; -% custosStyle = "mensural"; + \consists Custos_engraver; +% Custos \override #'style = #'mensural; + \remove Time_signature_engraver; +% StaffSymbol \override #'line-count = #4 } } } diff --git a/input/test/between-systems.ly b/input/test/between-systems.ly index 144cb166a2..e5d3577845 100644 --- a/input/test/between-systems.ly +++ b/input/test/between-systems.ly @@ -4,6 +4,9 @@ The same mechanism can be used to force pagebreaks. "; } + +% In reality, you'd use #"\\newpage" instead of "(pagebreak)", of course. + \score { \notes { c1 diff --git a/input/test/drarn-chords.ly b/input/test/drarn-chords.ly index d8eb62b753..6acba0eaaf 100644 --- a/input/test/drarn-chords.ly +++ b/input/test/drarn-chords.ly @@ -1,4 +1,4 @@ -\version "1.3.117"; +\version "1.3.120"; %{ Would this be acceptable/good enough/convenient for entry? @@ -29,7 +29,7 @@ scales = \notes \transpose c'' \chords{ \context Staff \scales > \paper{ -% \paper_as_nine +% \paperAs_nine \translator { \ChordNamesContext } diff --git a/input/test/font.ly b/input/test/font.ly index 7c0843f268..513a42b887 100644 --- a/input/test/font.ly +++ b/input/test/font.ly @@ -7,7 +7,7 @@ description = "This file tests the Feta music font"; % "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.3.117"; +\version "1.3.120"; \include "font-body.ly" \score{ @@ -18,7 +18,7 @@ description = "This file tests the Feta music font"; gourlay_maxmeasures =5.; } \paper{ - \paper_twenty + \paperTwenty linewidth = 17.5 \cm; gourlay_maxmeasures =5.; output = "font20.tex"; diff --git a/input/test/font16.ly b/input/test/font16.ly index 7431a833e9..ca8d872dc1 100644 --- a/input/test/font16.ly +++ b/input/test/font16.ly @@ -7,7 +7,7 @@ description = "This file tests the Feta music font"; % "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.3.117"; +\version "1.3.120"; \include "paper16.ly" \include "font-body.ly" @@ -16,7 +16,7 @@ description = "This file tests the Feta music font"; \paper{ % don't change this. % otherwise 16pt and 20pt layouts differ. - \paper_sixteen + \paperSixteen linewidth = 12.5 \cm; gourlay_maxmeasures =5.; } diff --git a/input/test/orchestscore.ly b/input/test/orchestscore.ly index 4c1b4f5f99..99160b7dd1 100644 --- a/input/test/orchestscore.ly +++ b/input/test/orchestscore.ly @@ -1,4 +1,4 @@ -\version "1.3.117"; +\version "1.3.120"; m = \notes \relative c''{ @@ -89,7 +89,7 @@ c1 | c2 c | c c | R1*5 > > \paper { -% \paper_sixteen; +% \paperSixteen; linewidth = 185.\mm; textheight = 260.\mm; \translator { diff --git a/input/test/pedal.ly b/input/test/pedal.ly index 1215159943..840947a5b0 100644 --- a/input/test/pedal.ly +++ b/input/test/pedal.ly @@ -1,12 +1,18 @@ +\header{ +texidoc = "Piano pedal symbols merge stop and start. The strings are configurable. "; +} + +\version "1.3.120"; + + \score{ \context Staff \notes\relative c'{ -c4\sustaindown d e f\sustainup g\sustaindown b c -c, [d16 \sustainup \sustaindown c c c] [e e \sustainup \sustaindown e e ] f4 \sustainup g\sustaindown b c -\property Staff.stopStartSustain = #"-P" -\property Staff.startSustain = #"P" -\property Staff.sustainPedalPadding = #10 - -c,\sustainup\sustaindown d e f \sustainup g\sustaindown b c +c4\sustainDown d e f\sustainUp g\sustainDown b c +c, [d16 \sustainUp \sustainDown c c c] [e e \sustainUp \sustainDown e e ] f4 \sustainUp g\sustainDown b c +\property Staff.pedalSustainStrings = #'("-" "-P" "P") +\property Staff.SustainPedal \override #'padding = #2 +c, \sustainUp\sustainDown d e f + \sustainUp g\sustainDown b c } \paper{ } diff --git a/input/test/standchen-as5.ly b/input/test/standchen-as5.ly index 8cc60338a0..76187250dc 100644 --- a/input/test/standchen-as5.ly +++ b/input/test/standchen-as5.ly @@ -1,5 +1,5 @@ -\version "1.3.117"; +\version "1.3.120"; \include "paper-as5.ly" @@ -22,7 +22,7 @@ } > \paper { -% \paper_as_nine +% \paperAs_nine indent=4.0\char; linewidth=78.0\char; \translator { \StaffContext barSize = #4.5 } diff --git a/lily/clef-engraver.cc b/lily/clef-engraver.cc index c3a2136f2a..2d6d585d54 100644 --- a/lily/clef-engraver.cc +++ b/lily/clef-engraver.cc @@ -180,11 +180,14 @@ Clef_engraver::create_grobs () SCM glyph = get_property ("clefGlyph"); SCM clefpos = get_property ("clefPosition"); SCM octavation = get_property ("clefOctavation"); - + SCM force_clef = get_property ("forceClef"); + if (clefpos == SCM_EOL || scm_equal_p (glyph, prev_glyph_) == SCM_BOOL_F || scm_equal_p (clefpos, prev_cpos_) == SCM_BOOL_F - || scm_equal_p (octavation, prev_octavation_) == SCM_BOOL_F) + || scm_equal_p (octavation, prev_octavation_) == SCM_BOOL_F + || to_boolean (force_clef) + ) { set_glyph(); set_central_c (glyph, clefpos, octavation); @@ -193,6 +196,12 @@ Clef_engraver::create_grobs () clef_p_->set_grob_property ("non-default", SCM_BOOL_T); } + + if (to_boolean (force_clef)) + { + Translator_group * w = daddy_trans_l_->where_defined (ly_symbol2scm ("forceClef")); + w->set_property ("forceClef", SCM_EOL); + } } void diff --git a/lily/clef-item.cc b/lily/clef-item.cc index 1cdc84a57a..79444fae9c 100644 --- a/lily/clef-item.cc +++ b/lily/clef-item.cc @@ -28,9 +28,9 @@ Clef::before_line_breaking (SCM smob) { String str = ly_scm2string (glyph); - if (to_boolean (s->get_grob_property ("non-default")) && - s->break_status_dir() != RIGHT && - to_boolean (s->get_grob_property ("full-size-change"))) + if (to_boolean (s->get_grob_property ("non-default")) + && s->break_status_dir() != RIGHT + && !to_boolean (s->get_grob_property ("full-size-change"))) { str += "_change"; s->set_grob_property ("glyph-name", ly_str02scm (str.ch_C())); diff --git a/lily/lyric-extender.cc b/lily/lyric-extender.cc index 1e5e7555fc..a56bae3fa4 100644 --- a/lily/lyric-extender.cc +++ b/lily/lyric-extender.cc @@ -25,7 +25,7 @@ Lyric_extender::brew_molecule (SCM smob) // ugh: refp Real leftext = sp->get_bound (LEFT)->extent (sp->get_bound (LEFT), X_AXIS).length (); - Real ss = 1.0; + Real sl = sp->paper_l ()->get_var ("stafflinethickness"); Real righttrim = 0.5; // default to half a space gap on the right SCM righttrim_scm = sp->get_grob_property("right-trim-amount"); @@ -36,9 +36,9 @@ Lyric_extender::brew_molecule (SCM smob) SCM space = sp->get_bound (LEFT)->get_grob_property ("word-space"); if (gh_number_p (space)) { - leftext -= gh_scm2double (space)*ss; + leftext -= gh_scm2double (space); } - Real w = sp->spanner_length () - leftext - righttrim*ss; + Real w = sp->spanner_length () - leftext - righttrim; Real h = sl * gh_scm2double (sp->get_grob_property ("height")); Molecule mol (Lookup::filledbox ( Box (Interval (0,w), Interval (0,h)))); diff --git a/lily/piano-pedal-engraver.cc b/lily/piano-pedal-engraver.cc index 9d76fb4c5d..eefb30b154 100644 --- a/lily/piano-pedal-engraver.cc +++ b/lily/piano-pedal-engraver.cc @@ -17,13 +17,6 @@ #include "staff-symbol-referencer.hh" #include "item.hh" - - - - -/** - engrave Piano pedals symbols. - */ class Piano_pedal_engraver : public Engraver { public: @@ -134,9 +127,14 @@ Piano_pedal_engraver::create_grobs () { for (Pedal_info*p = info_list_; p && p->name_; p ++) { - if (p->item_p_) + if (p->item_p_ || ! (p->req_l_drul_[STOP] || p->req_l_drul_[START])) continue; + SCM s = SCM_EOL; + SCM strings = get_property( ("pedal" + String (p->name_) + "Strings").ch_C()); + if( scm_ilength (strings) < 3) + continue; + if (p->req_l_drul_[STOP] && p->req_l_drul_[START]) { if (!p->start_req_l_) @@ -145,7 +143,7 @@ Piano_pedal_engraver::create_grobs () } else { - s = get_property (("stopStart" + String (p->name_ )).ch_C()); + s = gh_cadr (strings); } p->start_req_l_ = p->req_l_drul_[START]; } @@ -157,14 +155,14 @@ Piano_pedal_engraver::create_grobs () } else { - s = get_property (("stop" + String (p->name_ )).ch_C()); + s = gh_car (strings); } p->start_req_l_ = 0; } else if (p->req_l_drul_[START]) { p->start_req_l_ = p->req_l_drul_[START]; - s = get_property (("start" + String (p->name_ )).ch_C()); + s = gh_caddr (strings); } if (gh_string_p (s)) @@ -198,6 +196,7 @@ Piano_pedal_engraver::stop_translation_timestep () if (p->item_p_) { Side_position::add_staff_support (p->item_p_); + /* Hmm. */ diff --git a/ly/book-fragment.ly b/ly/book-fragment.ly index ce0674f8eb..ec8ab984bb 100644 --- a/ly/book-fragment.ly +++ b/ly/book-fragment.ly @@ -1,12 +1,12 @@ % Toplevel initialisation file. -\version "1.3.110"; +\version "1.3.120"; \include "declarations.ly" \include "paper16.ly" - \paper { \paper_sixteen + \paper { \paperSixteen linewidth = -1.\cm; castingalgorithm = \Wordwrap; "unusedentry" = "}\\def\\nolilyfooter{"; diff --git a/ly/book-init.ly b/ly/book-init.ly index 994200cfb5..7f268f5787 100644 --- a/ly/book-init.ly +++ b/ly/book-init.ly @@ -1,13 +1,13 @@ % Toplevel initialisation file. -\version "1.3.110"; +\version "1.3.120"; \include "declarations.ly"; \include "paper16.ly" \paper{ - \paper_sixteen + \paperSixteen } diff --git a/ly/center-fragment.ly b/ly/center-fragment.ly index 64a127cb9c..af0b413a5d 100644 --- a/ly/center-fragment.ly +++ b/ly/center-fragment.ly @@ -1,7 +1,7 @@ % Toplevel initialisation file. -\version "1.3.110"; +\version "1.3.120"; \include "declarations.ly" @@ -9,7 +9,7 @@ \include "paper16.ly"; \paper { - \paper_sixteen + \paperSixteen linewidth = -1.0\cm; castingalgorithm = \Wordwrap; "unusedentry" = "}\\def\\nolilyfooter{"; diff --git a/ly/center.ly b/ly/center.ly index a53dc01fd9..53743596eb 100644 --- a/ly/center.ly +++ b/ly/center.ly @@ -1,13 +1,13 @@ % Toplevel initialisation file. -\version "1.3.110"; +\version "1.3.120"; \include "declarations.ly" \include "paper16.ly" \paper { - \paper_sixteen + \paperSixteen % linewidth = 7.\cm; linewidth = 11.\cm; } diff --git a/ly/declarations-as.ly b/ly/declarations-as.ly index c45df5aea2..06acf86c1b 100644 --- a/ly/declarations-as.ly +++ b/ly/declarations-as.ly @@ -31,7 +31,7 @@ bigger = 1 center=0 break = \penalty -1000000; -nobreak = \penalty 1000000; +noBreak = \penalty 1000000; \include "scale-definitions.ly" diff --git a/ly/declarations.ly b/ly/declarations.ly index 468fc57529..407ded53ca 100644 --- a/ly/declarations.ly +++ b/ly/declarations.ly @@ -18,7 +18,7 @@ bigger = 1 center=0 break = \penalty -1000000; -nobreak = \penalty 1000000; +noBreak = \penalty 1000000; \include "scale-definitions.ly" melisma = \property Staff.melismaBusy = ##t diff --git a/ly/engraver.ly b/ly/engraver.ly index fca9cf8888..e3db961cee 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -386,7 +386,9 @@ ScoreContext = \translator { ("clefs-mensural1_c" . 0) ("clefs-mensural2_c" . 0) ("clefs-mensural3_c" . 0) - ("clefs-mensural_f" . 0)) + ("clefs-mensural1_f" . 4) + ("clefs-mensural2_f" . 4) + ("clefs-mensural_g" . -4)) clefGlyph = #"clefs-G" clefPosition = #-2 @@ -402,19 +404,10 @@ ScoreContext = \translator { verticalAlignmentChildCallback = #Align_interface::alignment_callback - startSustain = #"Ped." - stopSustain = #"*" - stopStartSustain = #"*Ped." - startUnaChorda = #"una chorda" - stopUnaChorda = #"tre chorde" - % should make separate lists for stopsustain and startsustain + pedalSustainStrings = #'("Ped." "*Ped." "*") + pedalUnaChordaStrings = #'("una chorda" "" "tre chorde") + pedalSostenutoStrings = #'() % FIXME - - % - % what order to print accs. We could compute this, - % but computing is more work than putting it here. - % - % Flats come first, then sharps. keyAccidentalOrder = #'( (6 . -1) (2 . -1) (5 . -1 ) (1 . -1) (4 . -1) (0 . -1) (3 . -1) (3 . 1) (0 . 1) (4 . 1) (1 . 1) (5 . 1) (2 . 1) (6 . 1) @@ -434,10 +427,6 @@ ScoreContext = \translator { \elementdescriptions #all-grob-descriptions - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % TODO: uniform naming.; - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - } OrchestralScoreContext= \translator { diff --git a/ly/fragment.ly b/ly/fragment.ly index 4e3d664877..be841ce576 100644 --- a/ly/fragment.ly +++ b/ly/fragment.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.3.110"; +\version "1.3.120"; \include "declarations.ly" @@ -8,7 +8,7 @@ \include "paper16.ly"; \paper { - \paper_sixteen + \paperSixteen linewidth = -1.0\cm; castingalgorithm = \Wordwrap; "unusedentry" = "}\\def\\nolilyfooter{"; diff --git a/ly/init-as.ly b/ly/init-as.ly index 3e727da657..1fe3c67e14 100644 --- a/ly/init-as.ly +++ b/ly/init-as.ly @@ -1,6 +1,6 @@ % Toplevel AsciiScript initialisation file. -\version "1.3.110"; +\version "1.3.120"; \include "declarations-as.ly" @@ -27,7 +27,7 @@ ) \paper { - \paper_as_nine + \paperAs_nine \translator { \StaffContext barSize = \staffheight; } % no beam-slope diff --git a/ly/paper-as5.ly b/ly/paper-as5.ly index f4ca1af14c..44f0842b92 100644 --- a/ly/paper-as5.ly +++ b/ly/paper-as5.ly @@ -1,8 +1,8 @@ % paper-as5.ly -\version "1.3.110"; +\version "1.3.120"; -paper_as_five = \paper { +paperAsFive = \paper { staffheight = 5.\char; font_large = 1.; @@ -35,4 +35,4 @@ paper_as_five = \paper { \include "params-as.ly"; } -\paper { \paper_as_five } +\paper { \paperAs_five } diff --git a/ly/paper-as9.ly b/ly/paper-as9.ly index c2bfcbec98..eae4c50c16 100644 --- a/ly/paper-as9.ly +++ b/ly/paper-as9.ly @@ -1,8 +1,8 @@ % paper-as9.ly -\version "1.3.110"; +\version "1.3.120"; -paper_as_nine = \paper { +paperAsNine = \paper { staffheight = 9.\char; % font_large = 4.; @@ -38,4 +38,4 @@ paper_as_nine = \paper { \include "params-as.ly"; } -\paper { \paper_as_nine } +\paper { \paperAs_nine } diff --git a/ly/paper11.ly b/ly/paper11.ly index 3880420dc0..6a87d8b2e8 100644 --- a/ly/paper11.ly +++ b/ly/paper11.ly @@ -1,12 +1,12 @@ % paper11.ly -\version "1.3.110"; +\version "1.3.120"; -paper_eleven = \paper { +paperEleven = \paper { staffheight = 11.0\pt; \stylesheet #(make-style-sheet 'paper11) \include "params.ly"; } -\paper { \paper_eleven } +\paper { \paperEleven } diff --git a/ly/paper13.ly b/ly/paper13.ly index 488165dca6..e5d03d652d 100644 --- a/ly/paper13.ly +++ b/ly/paper13.ly @@ -1,8 +1,8 @@ % paper13.ly -\version "1.3.110"; +\version "1.3.120"; -paper_thirteen = \paper { +paperThirteen = \paper { staffheight = 13.0\pt; \stylesheet #(make-style-sheet 'paper13) @@ -10,4 +10,4 @@ paper_thirteen = \paper { \include "params.ly"; } -\paper { \paper_thirteen } +\paper { \paperThirteen } diff --git a/ly/paper16.ly b/ly/paper16.ly index 779b810675..507e3ca5de 100644 --- a/ly/paper16.ly +++ b/ly/paper16.ly @@ -1,12 +1,12 @@ % paper16.ly -\version "1.3.110"; +\version "1.3.120"; -paper_sixteen = \paper { +paperSixteen = \paper { staffheight = 16.0\pt; \stylesheet #(make-style-sheet 'paper16) \include "params.ly"; } -\paper {\paper_sixteen } +\paper {\paperSixteen } diff --git a/ly/paper20.ly b/ly/paper20.ly index 7b30c4a7d2..d30ec07880 100644 --- a/ly/paper20.ly +++ b/ly/paper20.ly @@ -1,13 +1,13 @@ % paper20.ly -\version "1.3.110"; +\version "1.3.120"; -paper_twenty = \paper { +paperTwenty = \paper { staffheight = 20.0\pt; \stylesheet #(make-style-sheet 'paper20) \include "params.ly"; } -\paper { \paper_twenty } +\paper { \paperTwenty } diff --git a/ly/paper23.ly b/ly/paper23.ly index 6b6203078c..6e9ba50546 100644 --- a/ly/paper23.ly +++ b/ly/paper23.ly @@ -1,12 +1,12 @@ % paper23.ly -\version "1.3.110"; +\version "1.3.120"; -paper_twentythree = \paper { +paperTwentythree = \paper { staffheight = 23.0\pt; \stylesheet #(make-style-sheet 'paper23) \include "params.ly"; } -\paper { \paper_twentythree } +\paper { \paperTwentythree } diff --git a/ly/paper26.ly b/ly/paper26.ly index 593b6bd33b..db39985339 100644 --- a/ly/paper26.ly +++ b/ly/paper26.ly @@ -1,12 +1,12 @@ % paper26.ly -\version "1.3.110"; +\version "1.3.120"; -paper_twentysix = \paper { +paperTwentysix = \paper { staffheight = 26.0\pt; \stylesheet #(make-style-sheet 'paper26) \include "params.ly"; } -\paper { \paper_twentysix } +\paper { \paperTwentysix } diff --git a/ly/spanners.ly b/ly/spanners.ly index 331f11c75f..a0e837b8ef 100644 --- a/ly/spanners.ly +++ b/ly/spanners.ly @@ -1,6 +1,4 @@ - -% 1st arg dynamic (louder/softer). 2nd arg spantype cr = \spanrequest \start "crescendo" decr = \spanrequest \start "decrescendo" rc = \spanrequest \stop "crescendo" @@ -26,14 +24,14 @@ endcresc = \spanrequest \stop "crescendo" %} % better name sustainstart/stop? -sustaindown = \spanrequest \start "Sustain" -sustainup = \spanrequest \stop "Sustain" +sustainDown = \spanrequest \start "Sustain" +sustainUp = \spanrequest \stop "Sustain" -unachorda = \spanrequest \start "UnaChorda" -trechorde = \spanrequest \stop "UnaChorda" +unaChorda = \spanrequest \start "UnaChorda" +treChorde = \spanrequest \stop "UnaChorda" -sostenutodown = \spanrequest \start "Sostenuto" -sostenutoup = \spanrequest \stop "Sostenuto" +sostenutoDown = \spanrequest \start "Sostenuto" +sostenutoUp = \spanrequest \stop "Sostenuto" %crescpoco = \property Voice.crescendoText = "cresc. poco a poco" %decresc = \property Voice.crescendoText = "decr." diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index f88ca056f2..657c12d26b 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,15 +1,15 @@ Begin3 Title: LilyPond -Version: 1.3.120 -Entered-date: 03JAN01 +Version: 1.3.121 +Entered-date: 07JAN01 Description: Keywords: music notation typesetting midi fonts engraving Author: hanwen@cs.uu.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 1000k lilypond-1.3.120.tar.gz + 1000k lilypond-1.3.121.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 1000k lilypond-1.3.120.tar.gz + 1000k lilypond-1.3.121.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index 2f904bb6d2..1308451194 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,11 +1,11 @@ %define info yes Name: lilypond -Version: 1.3.120 +Version: 1.3.121 Release: 1 License: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.120.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.121.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond # Icon: lilypond-icon.gif diff --git a/make/toplevel.make.in b/make/toplevel.make.in deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/mf/feta-klef.mf b/mf/feta-klef.mf index 44c7cff199..d70391ed36 100644 --- a/mf/feta-klef.mf +++ b/mf/feta-klef.mf @@ -5,7 +5,8 @@ % source file of the Feta (not the Font-En-Tja) music font % % (c) 1997--2000 Han-Wen Nienhuys , -% Jan Nieuwenhuizen +% Jan Nieuwenhuizen , +% Juergen Reuter fet_begingroup("clefs"); @@ -629,7 +630,7 @@ fet_endchar; def draw_mensural_ii_c_clef(expr exact_center, reduction) = - draw_brevis(exact_center, reduction, false, true); + draw_brevis(exact_center, reduction, true, true); save reduced_il, reduced_slt; save stem_width, interline; @@ -727,7 +728,7 @@ def draw_diamond(expr exact_center, reduction) = cycle; enddef; -def draw_mensural_f_clef(expr exact_center, reduction) = +def draw_mensural_i_f_clef(expr exact_center, reduction) = % % inspired by Gaspar van Weerbeke, "Virgo Maria" (1502), in: % MGG, volume 9, col. 653 ("Motette"), fig. 3.; also by @@ -782,17 +783,158 @@ def draw_mensural_f_clef(expr exact_center, reduction) = enddef; -fet_beginchar("mensural f clef", "mensural_f", "mensfclef") +fet_beginchar("mensural f clef", "mensural1_f", "mens1fclef") if test = 1: draw_staff(-1,3, 0.0); fi; - draw_mensural_f_clef((0,0), 1.0); + draw_mensural_i_f_clef((0,0), 1.0); fet_endchar; -fet_beginchar("mensural f clef", "mensural_f_change", "cmensfclef") - draw_mensural_f_clef((0,0), .8); +fet_beginchar("mensural f clef", "mensural1_f_change", "cmens1fclef") + draw_mensural_i_f_clef((0,0), .8); fet_endchar; +def draw_mensural_ii_f_clef(expr exact_center, reduction) = + % + % inspired by Philippe le Duc, "Dite Signori" (1590), in: MGG, + % volume 3, col. 848 ("Duc"); also by John Dowland, "The First + % Booke of Songes" (1597), in: MGG, volume 3, col. 721 + % ("Dowland"), fig. 3. + + save reduced_slt, stem_width, reduced_nht, holeheight, beamheight; + + reduced_slt# = stafflinethickness# * reduction; + stem_width# = 1.4 reduced_slt#; + reduced_nht# = noteheight# * reduction; + holeheight# = 3 reduced_slt#; + beamheight# = 0.4(reduced_nht# - holeheight#); + + define_pixels(beamheight, stem_width, staff_space); + + pickup pencircle + xscaled beamheight + yscaled stem_width + rotated 45; + + draw + exact_center + (1.0 staff_space, 0.6 staff_space) -- + exact_center + (1.25 staff_space, 0.4 staff_space); + + draw + exact_center + (1.0 staff_space, -0.4 staff_space) -- + exact_center + (1.25 staff_space, -0.6 staff_space); + + draw halfcircle scaled 1.2 staff_space rotated -90 + shifted (-exact_center + (+0.1 staff_space, 0)); + + set_char_box(0, 3staff_space#, 3staff_space#, 0); +enddef; + +fet_beginchar("mensural f clef", "mensural2_f", "mens2fclef") + if test = 1: + draw_staff(-1,3, 0.0); + fi; + draw_mensural_ii_f_clef((0,0), 1.0); +fet_endchar; +fet_beginchar("mensural f clef", "mensural2_f_change", "cmens2fclef") + draw_mensural_ii_f_clef((0,0), .8); +fet_endchar; + + +def draw_mensural_g_clef(expr exact_center, reduction) = + % + % inspired by Francisco Guerrero, "Lib. 1. Missarum" (1566), + % in: MGG, volume 3, col. 858 ("Ducis"); also by Stefano + % Fabri, "Quam speciosa veteranis" (1611), in: MGG, volume 3, + % col. 1698 ("Fabri"); also by Philippus Dulichius, + % "Fasciculus novus ..." (1598), in: MGG, volume 3, col. 919 + % ("Dulichius"), fig. 1; also by Noe Faignient, "Ic sal de + % Heer myn God gebenedye" (1568), in: MGG, volume 3, col. 1735 + % ("Faignient"). + % + % Metafont code partially inspired by Schwabacher 'G' of yswab + % font. + + save reduced_il, stem_width, height, width, apex_o, hair; + + reduced_il#=staff_space#*reduction; + + set_char_box(0.5reduced_il#, 1.5reduced_il#, + 1.5reduced_il#, 1.5reduced_il#); + + stem_width# = 0.17 reduced_il#; + height# = 1.5 reduced_il#; + width# = 1.13 reduced_il#; + apex_o# = 0.02 reduced_il#; + hair# = 3 stafflinethickness#; + define_pixels(reduced_il, stem_width, height, width, apex_o, hair); + + penpos1(2 stem_width, -142); + z1l = (0.715 width, 0.742 height); + penpos1'(hair, -90); + z1'l = z1r; + penpos2(1.179 stem_width, -142); + z2l = (width, 0.466 height); + penpos3(hair, 77); + z3 = (0.764 width, 0.067 height); + z4 = (0.59 width, -apex_o); + penpos5(1.179 stem_width, 32); + z5l=(0, 0.457 height); + penpos6(hair, -56.5); + z7 = (x4 - 0.843 stem_width, height + apex_o); + z7 - z6l = whatever * dir33.5; + penpos8(1.286 stem_width, -130); + z8r = (0.715 width, 0.742 height) + (-apex_o, apex_o); + z6r - z8r = whatever * (z7 - z8l); + filldraw + z1'r{dir45} .. z2r{down} .. z3r{dir207} .. z5r{up} .. + z6r{z7-z6l} & z6r -- z8r -- z8l -- z7 --- z6l ... + z5l{down} .. z4{right} .. z3l{dir27} .. z2l{up} .. + z1l{1/3[z6l,z7]-z1l} & z1l -- z1r -- z1'r & cycle + shifted (-exact_center + (0, -0.75reduced_il)); + + penpos9(stem_width, 0); + x9r = x4; y9 = 0.3 height; + + pickup pencircle + scaled stem_width + rotated 45; + draw z9 -- (z9 + (0, -0.4reduced_il)) + shifted (-exact_center + (0, -0.75reduced_il)); + + pickup pencircle + xscaled stem_width + yscaled hair + rotated 30; + + draw halfcircle + scaled 0.5 reduced_il + rotated -90 + shifted z8 + shifted (0, 0.25reduced_il) + shifted (-exact_center + (0, -0.75reduced_il)); + + draw halfcircle + scaled 0.4 reduced_il + rotated 90 + shifted (z8 + (0, 0.45 reduced_il)) + shifted (0, 0.25reduced_il) + shifted (-exact_center + (0, -0.75reduced_il)); +enddef; + + +fet_beginchar("mensural g clef", "mensural_g", "mensgclef") + if test = 1: + draw_staff(-1,3, 0.0); + fi; + draw_mensural_g_clef((0,0), 1.0); +fet_endchar; +fet_beginchar("mensural g clef", "mensural_g_change", "cmensgclef") + draw_mensural_g_clef((0,0), .8); +fet_endchar; + + + %%%%%%%% % % diff --git a/ps/lily.ps b/ps/lily.ps index b4a324105e..c94a3706f7 100644 --- a/ps/lily.ps +++ b/ps/lily.ps @@ -189,14 +189,13 @@ grestore } bind def -/draw_bracket % arch_angle arch_width arch_height bracket_width bracket_height arch_thick bracket_thick +/draw_bracket % arch_angle arch_width arch_height bracket_height arch_thick bracket_thick { % urg /bracket_thick exch def /arch_thick exch def /bracket_height exch def - /bracket_width exch def /arch_height exch def /arch_width exch def /arch_angle exch def diff --git a/scm/clef.scm b/scm/clef.scm index 666b5bae6e..1f90908b2e 100644 --- a/scm/clef.scm +++ b/scm/clef.scm @@ -37,7 +37,7 @@ ("hufnagel_do3" . ("clefs-hufnagel_do" 3 0)) ("hufnagel_fa1" . ("clefs-hufnagel_fa" -1 0)) ("hufnagel_fa2" . ("clefs-hufnagel_fa" 1 0)) - ("hufnagel" . ("clefs-hufnagel_do_fa" 4 0)) + ("hufnagel_do_fa" . ("clefs-hufnagel_do_fa" 4 0)) ("mensural1_c1" . ("clefs-mensural1_c" -4 0)) ("mensural1_c2" . ("clefs-mensural1_c" -2 0)) ("mensural1_c3" . ("clefs-mensural1_c" 0 0)) @@ -51,7 +51,9 @@ ("mensural3_c2" . ("clefs-mensural3_c" 0 0)) ("mensural3_c3" . ("clefs-mensural3_c" 2 0)) ("mensural3_c4" . ("clefs-mensural3_c" 4 0)) - ("mensural_f" . ("clefs-mensural_f" 2 0)) + ("mensural1_f" . ("clefs-mensural1_f" 2 0)) + ("mensural2_f" . ("clefs-mensural2_f" 2 0)) + ("mensural_g" . ("clefs-mensural_g" -2 0)) ) ) @@ -77,6 +79,12 @@ (iterator-ctor . ,Property_iterator::constructor) (value . ,(cadr e)) ) + +; ((symbol . forceClef) +; (iterator-ctor . ,Property_iterator::constructor) +; (value . #t) +; ) + ((symbol . clefPosition) (iterator-ctor . ,Property_iterator::constructor) (value . ,(caddr e)) diff --git a/scm/grob-description.scm b/scm/grob-description.scm index 07068dbbcd..2f3a0d5f00 100644 --- a/scm/grob-description.scm +++ b/scm/grob-description.scm @@ -57,7 +57,7 @@ ;; todo: clean this up a bit: the list is getting ;; rather long. (molecule-callback . ,Beam::brew_molecule) - (thickness . 0.48) ; in staff-space + (thickness . 0.42) ; in staff-space, should use stafflinethick? (before-line-breaking-callback . ,Beam::before_line_breaking) (after-line-breaking-callback . ,Beam::after_line_breaking) (default-neutral-direction . 1) diff --git a/scm/grob-property-description.scm b/scm/grob-property-description.scm index 6d0cd6bcb4..9d760daae4 100644 --- a/scm/grob-property-description.scm +++ b/scm/grob-property-description.scm @@ -29,19 +29,25 @@ This procedure is called (using dependency resolution) after line breaking. Retu (grob-property-description 'align-dir dir? "Which side to align? -1: left side, 0: around center of width, 1: right side") (grob-property-description 'alignment-done boolean? "boolean to administrate whether we've done the alignment already (to ensure that the process is done only once)") (grob-property-description 'all-elements list? "list of all grobs in this line. Needed for protecting grobs from GC.") -(grob-property-description 'arch-angle number? "") -(grob-property-description 'arch-height number? "") -(grob-property-description 'arch-thick number? "") -(grob-property-description 'arch-width number? "") -(grob-property-description 'arithmetic-basicspace number? "") -(grob-property-description 'arithmetic-multiplier number? "see arithmetic-basicspace") +(grob-property-description 'arch-angle number? "turning angle of the hook of a system brace" ) +(grob-property-description 'arch-height number? "height of the hook of a system brace") +(grob-property-description 'arch-thick number? "thickness of the hook of system brace") +(grob-property-description 'arch-width number? "width of the hook of a system brace") +(grob-property-description 'arithmetic-basicspace number? "see @ref{spacing-spanner-interface}") +(grob-property-description 'arithmetic-multiplier number? "see @ref{spacing-spanner-interface}") (grob-property-description 'attachment pair? "cons of symbols, '(LEFT-TYPE . RIGHT-TYPE), where both types may be alongside-stem, stem, head or loose-end") -(grob-property-description 'attachment-offset pair? "cons of offsets, '(LEFT-offset . RIGHT-offset). This offset is added to the attachments to prevent ugly slurs.") -(grob-property-description 'axes list? "list of axis numbers. Should contain only one number.") -(grob-property-description 'axes list? "list of axis (number) in which this group works") -(grob-property-description 'bar-size number? "") -(grob-property-description 'bars list? "list of barline ptrs.") -(grob-property-description 'barsize-procedure procedure? "how to compute the size of a bar line") + +(grob-property-description 'attachment-offset pair? "cons of offsets, +'(LEFT-offset . RIGHT-offset). This offset is added to the +attachments to prevent ugly slurs. [fixme: we need more documentation here]. +") + +(grob-property-description 'axes list? "list of axis numbers. + +In the case of alignment grobs, this should contain only one number.") +(grob-property-description 'bar-size number? "size of a bar line") +(grob-property-description 'bars list? "list of barline pointers.") +(grob-property-description 'barsize-procedure procedure? "Procedure that computes the size of a bar line.") (grob-property-description 'bass list? " musical-pitch, optional") (grob-property-description 'beam ly-grob? "pointer to the beam, if applicable") (grob-property-description 'beam-space-function procedure? "function returning space given multiplicity") @@ -49,7 +55,6 @@ This procedure is called (using dependency resolution) after line breaking. Retu (grob-property-description 'beam-thickness number? "thickness, measured in staffspace") (grob-property-description 'beam-thickness number? "thickness, measured in staffspace") (grob-property-description 'beam-width number? "width of the tremolo sign") -(grob-property-description 'beam-width number? "width of the tremolo sign") (grob-property-description 'beamed-lengths list? "list of stem lengths given beam multiplicity ") (grob-property-description 'beamed-minimum-lengths list? "list of minimum stem lengths given beam multiplicity") (grob-property-description 'beamed-stem-shorten number? "shorten beamed stems in forced direction") @@ -66,8 +71,7 @@ notes. 0.0 means no extra space (accidentals are ignored)") to dump between two systems. Useful for forcing pagebreaks") (grob-property-description 'bounded-by-me list? "list of spanners that have this column as start/begin point. Only columns that have grobs or act as bounds are spaced.") -(grob-property-description 'bracket-thick number? "") -(grob-property-description 'bracket-width number? "") +(grob-property-description 'bracket-thick number? "width of a system start bracket. ") (grob-property-description 'break-align-symbol symbol? "the index in the spacing table (symbol) of the to be aligned item.") (grob-property-description 'break-glyph-function procedure? "function taking glyph and break-direction, returning the glyph at a line break") (grob-property-description 'breakable boolean? "boolean indicating if this is a breakable item (clef, barline, key sig, etc.)") @@ -77,16 +81,12 @@ column as start/begin point. Only columns that have grobs or act as bounds are s be at the center of the group after aligning (when using Align_interface::center_on_element). ") -(grob-property-description 'collapse-height number? "") +(grob-property-description 'collapse-height number? "Minimum height of system start delimiter. If smaller, the delimiter is removed.") (grob-property-description 'column-space-strength number? "relative strength of space following breakable columns (eg. prefatory matter)") -(grob-property-description 'columns list? "list of paper-columns") -(grob-property-description 'columns list? " list of note-columns.") -(grob-property-description 'columns list? "list of all paper columns") +(grob-property-description 'columns list? "list of grobs, typically containing paper-columns, list of note-columns") (grob-property-description 'contains-grace boolean? "Used to widen entries for grace notes.") -(grob-property-description 'control-points list? "List of 4 offsets (number-pairs) controlling the tie shape") -(grob-property-description 'control-points list? "[internal] control points of bezier curve") +(grob-property-description 'control-points list? "List of 4 offsets (number-pairs) that form control points for the tie/slur shape") (grob-property-description 'damping integer? "amount of beam slope damping should beam slope be damped? 0: no, 1: yes, 100000: horizontal beams ") -(grob-property-description 'damping number? "damping factor.") (grob-property-description 'dash-length number? "the length of a dash") (grob-property-description 'dash-period number? "the length of one dash + white space") (grob-property-description 'dashed number? "[FIXME: use dash-period/dash length; see text-spanner] number representing the length of the dashes.") @@ -107,33 +107,27 @@ Align_interface::center_on_element). ") (grob-property-description 'duration-log integer? "log of the duration, ie. 0=whole note, 1 = half note, etc.") (grob-property-description 'edge-height pair? "a cons that specifies the heights of the vertical egdes '(LEFT-height . RIGHT-height)") (grob-property-description 'edge-text pair? "a cons that specifies the texts to be set at the edges '(LEFT-text . RIGHT-text)") -(grob-property-description 'elements list? " -- list of items.") -(grob-property-description 'elements list? "list of grobs (NoteColumn, -generally) participating in the collision. The -@code{rest-collision} property in @code{elements} is set -to a pointer to the collision") -(grob-property-description 'elements list? "to be aligned grobs ") +(grob-property-description 'elements list? "list of grobs, type depending on the Grob where this is set in.") (grob-property-description 'expand-limit integer? "maximum number of measures expanded in church rests") (grob-property-description 'extra-extent-X number-pair? "enlarge in X dimension by this much, measured in staff space") (grob-property-description 'extra-extent-Y number-pair? "see @code{extra-extent-Y}") (grob-property-description 'extra-offset number-pair? "pair of reals (a cons) forcing an extra offset before outputting") -(grob-property-description 'extra-space number-pair? "pair of distances") -(grob-property-description 'extra-space number-pair? "(cons LEFT RIGHT)") +(grob-property-description 'extra-space number-pair? "pair of distances (cons LEFT RIGHT)") (grob-property-description 'extremity-offset-alist list? "an alist (attachment stem-dir*dir slur-dir*dir) -> offset. The offset adds to the centre of the notehead, or stem.") (grob-property-description 'extremity-rules list? "an alist (procedure slur dir) -> attachment to determine the attachment (see above). If procedure returns #t, attachment is used. Otherwise, the next procedure is tried.") -(grob-property-description 'flag-style string? "") -(grob-property-description 'flag-width-function procedure? "") +(grob-property-description 'flag-style string? "style for flag (hook of a stem)") +(grob-property-description 'flag-width-function procedure? "Procedure that computes the width of a half-beam (a non-connecting beam.).") (grob-property-description 'font-family symbol? "partial font definition: music roman braces dynamic math ...") (grob-property-description 'font-name symbol? "partial font definition: base name of font file FIXME: should override other partials") (grob-property-description 'font-point-size number? "partial font definition: exact font size in points FIXME: should override font-relative-size") -(grob-property-description 'font-relative-size number? "partial font definition: the relative size, 0 is style-sheet's normal size, -1 is smaller, +1 is bigger") -(grob-property-description 'font-relative-size integer? "") +(grob-property-description 'font-relative-size number? "partial font definition: the relative size compared the `normal' size. + 0 is style-sheet's normal size, -1 is smaller, +1 is bigger, -1 is smaller") (grob-property-description 'font-series symbol? "partial font definition: medium, bold") (grob-property-description 'font-shape symbol? "partial font definition: upright or italic") @@ -145,19 +139,23 @@ dynamic") collision_note_width that overides automatic collision settings. This is used by @ref{note-collision-interface}") -(grob-property-description 'fraction number-pair? "") +(grob-property-description 'fraction number-pair? "fraction of a time signature.") (grob-property-description 'full-size-change boolean? "if set, don't make a change clef smaller.") (grob-property-description 'glyph symbol? "a string determining what (style) of glyph is typeset. Valid choices depend on the function that is reading this property. ") -(grob-property-description 'gap number? "Size of a gap in a variable symbol") (grob-property-description 'glyph-name string? "a name of character within font") +(grob-property-description 'gap number? "Size of a gap in a variable symbol") + (grob-property-description 'grow-direction dir? "crescendo or decrescendo?") (grob-property-description 'hair-thickness number? "thickness, measured in stafflinethickness") -(grob-property-description 'heads pair? "pair of grob pointers, pointing to the two heads of the tie. ") -(grob-property-description 'heads list? "list of note heads") +(grob-property-description 'heads pair? "list of note heads, + +FIXME: in Tie this is a pair of grob pointers, pointing to the two heads of the tie. + +") (grob-property-description 'height number? "in staffspace ") -(grob-property-description 'height-hs number? "in halfspace. Only used by Beam.") +(grob-property-description 'height-hs number? "in halfspace. Only used by Beam.") ; Remove-me (grob-property-description 'height-quants procedure? "function of type (beam staff-line-thickness) -> list of quants. Default value: default-beam-dy-quants. ") (grob-property-description 'horizontal-shift integer? "integer that identifies ranking of note-column for horizontal shifting. This is used by @ref{note-collision-interface}") @@ -166,8 +164,11 @@ is used by @ref{note-collision-interface}") (grob-property-description 'interfaces list? "list of symbols indicating the interfaces supported by this object. Is initialized from the @code{meta} field.") (grob-property-description 'inversion list? " musical-pitch, optional") (grob-property-description 'items-worth-living list? "list of interesting items. If empty in a particular system, clear that system.") -(grob-property-description 'kern number? "amount of extra white space to add before text. This is `relative'(?) to the current alignment.") -(grob-property-description 'kern number? "space after a thick line") +(grob-property-description 'kern number? "amount of extra white space to add. + +For text, this is `relative'(?) to the current alignment. + +For barline, space after a thick line") (grob-property-description 'left-padding number? "space left of accs") (grob-property-description 'length number? "Stem length for unbeamed stems, only for user override") (grob-property-description 'lengths list? "Stem length given multiplicity of flag") @@ -182,17 +183,15 @@ is used by @ref{note-collision-interface}") (grob-property-description 'minimum-distances list? "list of rods (ie. (OBJ . DIST) pairs)") (grob-property-description 'minimum-extent-X number-pair? "minimum size in X dimension, measured in staff space") (grob-property-description 'minimum-extent-Y number-pair? "see @code{minimum-extent-Y}") -(grob-property-description 'minimum-length number? "minimum length in staffspace") - (grob-property-description 'minimum-length number? "try to make the -hyphens at least this long. Also works as a scaling parameter for the -length") +Grob at least this long. + +Also works as a scaling parameter for the length of hyphen. ") ;; FIXME. (grob-property-description 'minimum-space number-pair? "(cons LEFT RIGHT)") (grob-property-description 'minimum-space number? "minimum distance that the victim should move (after padding)") - (grob-property-description 'minimum-width number? "minimum-width of rest symbol, in staffspace") (grob-property-description 'molecule-callback procedure? "Function taking grob as argument, returning a Scheme encoded Molecule.") (grob-property-description 'new-accidentals list? "list of (pitch, accidental) pairs") @@ -200,7 +199,7 @@ length") (grob-property-description 'no-stem-extend boolean? "should stem not be extended to middle staff line?") (grob-property-description 'non-default boolean? "not set because of existence of a bar?") (grob-property-description 'note-width number? "unit for horizontal translation, measured in staff-space.") -(grob-property-description 'number-gap number? "") +(grob-property-description 'number-gap number? "size of the gap for the number in a tuplet.") (grob-property-description 'old-accidentals list? "list of (pitch, accidental) pairs") (grob-property-description 'origin ly-input-location? "location in input file of the definition") (grob-property-description 'outer-stem-length-limit number? "catch @@ -208,12 +207,11 @@ suspect beam slopes, set slope to zero if outer stem is lengthened more than this (in staffspace)") (grob-property-description 'padding number? "add this much extra space between objects that are next to each other") - (grob-property-description 'parallel-beam boolean? "internal: true if there is a beam just as wide as the bracket ") (grob-property-description 'pitches list? "list of musical-pitch") (grob-property-description 'raise number? "height for text to be raised (a negative value lowers the text") (grob-property-description 'right-padding number? "space right of accs") -(grob-property-description 'right-trim-amount number? "") +(grob-property-description 'right-trim-amount number? "shortening of the lyric extender on the right") (grob-property-description 'script-priority number? "A sorting key that determines in what order a script is within a stack of scripts") (grob-property-description 'self-alignment-X number? "real number: -1 = left aligned, 0 = center, 1 right-aligned in X direction. @@ -236,7 +234,6 @@ itself. Return value is ignored") (grob-property-description 'stacking-dir dir? "stack contents of grobs in which direction ?") (grob-property-description 'staff-space number? "Amount of line leading relative to global staffspace") (grob-property-description 'staffline-clearance number? "don't get closer than this to stafflines.") -(grob-property-description 'stem ly-grob? "pointer to the stem object.") (grob-property-description 'stem ly-grob? "pointer to Stem object") (grob-property-description 'stem-centered boolean? "Center stems on note heads. Useful for mensural notation") (grob-property-description 'stem-end-position number? "Where does the stem end (the end is opposite to the support-head") @@ -319,4 +316,4 @@ function of type (beam multiplicity dy staff-line-thickness) -> real. Default v (grob-property-description 'x-gap number? "horizontal gap between notehead and tie") (grob-property-description 'y-free number? "minimal vertical gap between slur and noteheads or stems") (grob-property-description 'y-position number? "position of left edge") -(grob-property-description 'y-position-hs number? "in half space, position of left edge. Only used by Beam.") +(grob-property-description 'y-position-hs number? "in half space, position of left edge. Only used by Beam.") ;FXIME diff --git a/scm/interface-description.scm b/scm/interface-description.scm index 9b0d034e51..e6a034a060 100644 --- a/scm/interface-description.scm +++ b/scm/interface-description.scm @@ -305,8 +305,34 @@ object." (define time-signature-interface (lily-interface 'time-signature-interface - "A time signature, in different styles" - '( fraction style ))) + "A time signature, in different styles. + The following values for 'style are are recognized: + + @table @samp + @item @code{C} + 4/4 and 2/2 are typeset as C and struck C, respectively. All + other time signatures are written with two digits. + + @item @code{old} + 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8 and 9/8 are + typeset with old-style mensuration marks. All other time + signatures are written with two digits. + + @item @code{1xxx} + All time signatures are typeset with a single + digit, e.g. 3/2 is written as 3. (Any symbol starting + with the digit @code{1} will do.) + + @item @code{C}@var{M}@code{/}@var{N}, +@code{old}@var{M}@code{/}@var{N} or + @code{old6/8alt} + Tells LilyPond to use a specific symbol as time signature, + regardless of the actual time signature. + @end table + +See also the test-file @file{input/test/time.ly}. +" + '(fraction style ))) (define bar-line-interface (lily-interface @@ -746,7 +772,7 @@ direction = Forced direction for all ties" (define span-bar-interface (lily-interface 'span-bar-interface - "" + "A bar line that spans other barlines (typically used to get cross-staff barlines." '( ))) diff --git a/scm/ps.scm b/scm/ps.scm index be85c4c373..fee2173983 100644 --- a/scm/ps.scm +++ b/scm/ps.scm @@ -60,9 +60,9 @@ (define (comment s) (string-append "% " s)) - (define (bracket arch_angle arch_width arch_height width height arch_thick thick) + (define (bracket arch_angle arch_width arch_height height arch_thick thick) (string-append - (numbers->string (list arch_angle arch_width arch_height width height arch_thick thick)) " draw_bracket" )) + (numbers->string (list arch_angle arch_width arch_height height arch_thick thick)) " draw_bracket" )) (define (char i) (invoke-char " show" i)) diff --git a/scm/tex.scm b/scm/tex.scm index fb3212d412..0cf48cd80d 100644 --- a/scm/tex.scm +++ b/scm/tex.scm @@ -37,8 +37,8 @@ (define (beam width slope thick) (embedded-ps ((ps-scm 'beam) width slope thick))) - (define (bracket arch_angle arch_width arch_height width height arch_thick thick) - (embedded-ps ((ps-scm 'bracket) arch_angle arch_width arch_height width height arch_thick thick))) + (define (bracket arch_angle arch_width arch_height height arch_thick thick) + (embedded-ps ((ps-scm 'bracket) arch_angle arch_width arch_height height arch_thick thick))) (define (dashed-slur thick dash l) (embedded-ps ((ps-scm 'dashed-slur) thick dash l))) diff --git a/scm/translator-description.scm b/scm/translator-description.scm index 77a42612e8..32c66834b7 100644 --- a/scm/translator-description.scm +++ b/scm/translator-description.scm @@ -455,15 +455,9 @@ to any Graphic objects that satisfies the predicate." 'Piano_pedal_engraver (engraver-description "Piano_pedal_engraver" - "engrave Piano pedals symbols." + "Engrave piano pedal symbols." '(SostenutoPedal SustainPedal UnaChordaPedal) - '( - - startSustain - stopSustain - stopStartSustain - startUnaChorda - stopUnaChorda + '(pedalSostenutoStrings pedalSustainStrings pedalUnaChordaStrings ))) (cons diff --git a/scm/translator-property-description.scm b/scm/translator-property-description.scm index 866a237ef7..4c5b2199ca 100644 --- a/scm/translator-property-description.scm +++ b/scm/translator-property-description.scm @@ -29,7 +29,7 @@ than can be plugged into the backend directly. See the init file deprecated. ") (translator-property-description 'aDueText string? "text for begin of a due") -(translator-property-description 'associatedVoice string? "") +(translator-property-description 'associatedVoice string? "Name of the Voice that has the melody for this LyricsVoice.") (translator-property-description 'autoBeamSettings list? " Specifies when automatically generated beams should begin and end. The elements have the format: @@ -60,6 +60,7 @@ The head of the list: ) @end example") + (translator-property-description 'automaticPhrasing boolean? " If set, the @ref{Lyric_phrasing_engraver} will match note heads of context called Voice X to syllables from LyricsVoice called @@ -71,6 +72,7 @@ file @file{lyrics-multi-stanza.ly}. set, \addlyrics will assume that beams, slurs and ties signal melismata, and align lyrics accordingly. ") + (translator-property-description 'barAlways boolean? " If set to true a bar line is drawn after each note. ") (translator-property-description 'barCheckNoSynchronize boolean? "If set, don't reset measurePosition when finding a bbarcheck. This @@ -82,7 +84,6 @@ makes bar-checks for polyphonic music easier.") count if this property is set to zero. ") (translator-property-description 'beamMelismaBusy boolean? "Signal if a beam is set when automaticMelismata is set") -(translator-property-description 'beamMelismaBusy boolean? "") (translator-property-description 'breakAlignOrder list? "Defines the order in which prefatory matter (clefs, key signatures) appears, eg. this puts the key signatures after the bar lines: @@ -113,19 +114,18 @@ this much extra octavation. Values of 7 and -7 are common.") set, connect all arpeggios that are found. In this way, you can make arpeggios that cross staffs. ") -(translator-property-description 'createKeyOnClefChange boolean? "") -(translator-property-description 'currentBarNumber integer? "this is read to determine - the number to put on the bar ") +(translator-property-description 'createKeyOnClefChange boolean? "Print a key signature whenever the clef is changed.") (translator-property-description 'currentBarNumber integer? "Contains the current barnumber. This property is incremented at every barline. ") -(translator-property-description 'currentCommandColumn ly-grob? "") -(translator-property-description 'currentMusicalColumn ly-grob? "") +(translator-property-description 'currentCommandColumn ly-grob? "Grob that is X-parent to all current breakable (clef, key signature, etc.) items.") +(translator-property-description 'currentMusicalColumn ly-grob? "Grob that is X-parent to all non-breakable items (note heads, lyrics, etc.).") (translator-property-description 'defaultBarType string? "Sets the default type of bar line. Available bar types: [FIXME] ") (translator-property-description 'drarnChords boolean? "") (translator-property-description 'explicitClefVisibility procedure? "visibility-lambda function for clef changes.") -(translator-property-description 'explicitKeySignatureVisibility procedure? "") +(translator-property-description 'explicitKeySignatureVisibility procedure? "visibility-lambda function for explicit Key changes.") +(translator-property-description 'forceClef boolean? "Show clef symbol, even if it hasn't changed.") (translator-property-description 'forgetAccidentals boolean? "do not set localKeySignature when a note alterated differently from localKeySignature is found. @@ -144,22 +144,34 @@ remembered for the duration of a measure. property is used to label subsequent lines. If the @code{midiInstrument} property is not set, then @code{instrument} is used to determine the instrument for MIDI output.") -(translator-property-description 'keyAccidentalOrder list? "") +(translator-property-description 'keyAccidentalOrder list? " +Alist that defines in what order alterations should be printed. +The format is (NAME . ALTER), where NAME is from 0 .. 6 and ALTER from -1, 1. +") (translator-property-description 'keyOctaviation boolean? "") -(translator-property-description 'keySignature list? "") -(translator-property-description 'keySignature list? "") -(translator-property-description 'localKeySignature list? "the key signature at this point in the measure") -(translator-property-description 'measureLength moment? " How long does one measure in the current time signature last?") -(translator-property-description 'measurePosition moment? " - How much of the current measure (measured in whole notes) have we had? - -Set this manually to create incomplete measures (anacrusis, upbeat), eg. at the start of -the music. +(translator-property-description 'keySignature list? "The current key signature. This is an alist containing (NAME . ALTER) pairs, where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2 ") + +(translator-property-description 'localKeySignature list? "the key +signature at this point in the measure. The format is an alist with +entries of the form (NAME . ALTER) +or ((OCTAVE . NAME) . ALTER), +where NAME is from 0.. 6 and ALTER from -2,-1,0,1,2" +) + +(translator-property-description 'measureLength moment? "Length of one +measure in the current time signature last?") +(translator-property-description 'measurePosition moment? " How much +of the current measure (measured in whole notes) have we had. This +can be set manually to create incomplete measures (anacrusis, upbeat), +the start of the music. ") -(translator-property-description 'melismaBusy boolean? "") -(translator-property-description 'melismaEngraverBusy boolean? "") -(translator-property-description 'midiInstrument string? "") -(translator-property-description 'noAutoBeaming boolean? " If set to true then beams are not generated automatically. +(translator-property-description 'melismaBusy boolean? "Signifies +whether a melisma is active. This can be used to signal melismas on +top of those automatically detected. ") +(translator-property-description 'melismaEngraverBusy boolean? "See @ref{melismaBusy}. This is set automatically.") +(translator-property-description 'midiInstrument string? "Name of the +MIDI instrument to use ") +(translator-property-description 'noAutoBeaming boolean? "If set to true then beams are not generated automatically. ") (translator-property-description 'noResetKey boolean? "Do not reset local key to the value of keySignature at the start of a measure, @@ -170,76 +182,81 @@ printed only once and are in effect until overridden, possibly many measures later. ") (translator-property-description 'oneBeat moment? " How long does one beat in the current time signature last?") +(translator-property-description 'pedalSustainStrings list? "List of string to print for sustain-pedal. Format is + (UP UPDOWN DOWN), where each of the three is the string to print when +this is done with the pedal.") +(translator-property-description 'pedalUnaChordaStrings string? "see pedalSustainStrings.") +(translator-property-description 'pedalSostenutoStrings string? "see pedalSustainStrings.") + (translator-property-description 'phrasingPunctuation string? "") (translator-property-description 'rehearsalMark number-or-string? "") (translator-property-description 'repeatCommands list? "This property is read to find any command of the form (volta . X), where X is a string or #f") (translator-property-description 'repeatCommands list? "") (translator-property-description 'scriptDefinitions list? " -Description of scripts to use. (fixme) +Description of scripts. This is used by Script_engraver for typesetting note-super/subscripts. See @file{scm/script.scm} for more information ") -(translator-property-description 'scriptHorizontal boolean? " Put scripts left or right of note heads. Support for this is - limited. Accidentals will collide with scripts. - + +(translator-property-description 'scriptHorizontal boolean? " Put +scripts left or right of note heads. Support for this is limited. +Accidentals will collide with scripts. ") -(translator-property-description 'scriptHorizontal boolean? " Put scripts left or right of note heads. Support for this is - limited. Accidentals will collide with scripts. - +(translator-property-description 'scriptHorizontal boolean? " Put +scripts left or right of note heads. Support for this is limited. +Accidentals will collide with scripts. ") -(translator-property-description 'skipBars boolean? " Set to true to skip the empty bars that are produced by - multimeasure notes and rests. These bars will not appear on the - printed output. If not set (the default) multimeasure - notes and rests expand into their full length, printing the appropriate - number of empty bars so that synchronization with other voices is - preserved. - -@c my @vebatim patch would help... + +(translator-property-description 'skipBars boolean? " Set to true to +skip the empty bars that are produced by multimeasure notes and rests. +These bars will not appear on the printed output. If not set (the +default) multimeasure notes and rests expand into their full length, +printing the appropriate number of empty bars so that synchronization +with other voices is preserved. + + @example @@lilypond[fragment,verbatim,center] -r1 r1*3 R1*3property Score.skipBars=1 r1*3 R1*3 +r1 r1*3 R1*3 \\\\property Score.skipBars= ##t r1*3 R1*3 @@end lilypond @end example ") -(translator-property-description 'slurBeginAttachment symbol? "translates to the car of grob-property 'attachment.") -(translator-property-description 'slurEndAttachment symbol? "translates to the cdr of grob-property 'attachment.") -(translator-property-description 'slurMelismaBusy boolean? "") +(translator-property-description 'slurBeginAttachment symbol? +"translates to the car of grob-property 'attachment of NoteColumn. See +@ref{Grob Slur}.") + +(translator-property-description 'slurEndAttachment symbol? "translates to the cdr of grob-property 'attachment of NoteColumn. See @ref{Grob Slur}.") (translator-property-description 'slurMelismaBusy boolean? "Signal a slur if automaticMelismata is set") -(translator-property-description 'solo boolean? "set if solo is detected") -(translator-property-description 'soloADue boolean? "set Solo/A due texts?") -(translator-property-description 'soloIIText string? "text for begin of solo for voice ``two''") -(translator-property-description 'soloText string? "text for begin of solo") +(translator-property-description 'solo boolean? "set if solo is detected by the part combiner") +(translator-property-description 'soloADue boolean? "set Solo/A due texts in the part combiner?") +(translator-property-description 'soloIIText string? "text for begin of solo for voice ``two'' when part-combining") +(translator-property-description 'soloText string? "text for begin of solo when part-combining") (translator-property-description 'sparseTies boolean? "only create one tie per chord.") -(translator-property-description 'split-interval number-pair? "always split into two voices for contained intervals") +(translator-property-description 'split-interval number-pair? "always split into two voices for contained intervals when part-combining") (translator-property-description 'squashedPosition integer? " Vertical position of -squashing.") +squashing for Pitch_squash_engraver.") (translator-property-description 'staffsFound list? "list of all staff-symbols found.") -(translator-property-description 'staffsFound list? "") -(translator-property-description 'stanza string? "Stanza `number' to print at start of a verse") -(translator-property-description 'startSustain string? "") -(translator-property-description 'startUnaChorda string? "") +(translator-property-description 'stanza string? "Stanza `number' to print at start of a verse. Use in LyricsVoice context.") + + (translator-property-description 'stemLeftBeamCount integer? " Specify the number of beams to draw on the left side of the next note. Overrides automatic beaming. The value is only used once, and then it is erased. ") (translator-property-description 'stemRightBeamCount integer? "idem, for the right side") -(translator-property-description 'stopStartSustain string? "") -(translator-property-description 'stopSustain string? "") -(translator-property-description 'stopUnaChorda string? "") -(translator-property-description 'stz string? "") +(translator-property-description 'stz string? "Abbreviated form for a stanza, see also Stanza property.") (translator-property-description 'textNonEmpty boolean? " If set to true then text placed above or below the staff is not assumed to -have zero width. @code{fatText} and @code{emptyText} are predefined +have zero width. @code{\fatText} and @code{\emptyText} are predefined settings. ") -(translator-property-description 'tieMelismaBusy boolean? "") (translator-property-description 'tieMelismaBusy boolean? "Signal ties when automaticMelismata is set") (translator-property-description 'timeSignatureFraction number-pair? " pair of numbers, signifying the time signature. For example #'(4 . 4) is a 4/4time signature.") (translator-property-description 'timing boolean? " Keep administration of measure length, position, bar number, etc? Switch off for cadenzas.") -(translator-property-description 'tremoloFlags integer? "") +(translator-property-description 'tremoloFlags integer? "Number of tremolo flags to add if none is specified.") (translator-property-description 'tupletInvisible boolean? " If set to true, tuplet bracket creation is switched off entirely. This has the same effect as setting both @@ -260,9 +277,9 @@ context Voice imes 2/3 @{ @@end lilypond @end example ") -(translator-property-description 'unirhythm boolean? "set if unirhythm is detected") -(translator-property-description 'unisilence boolean? "set if unisilence is detected") -(translator-property-description 'unison boolean? "set if unisono is detected ") +(translator-property-description 'unirhythm boolean? "set if unirhythm is detected by the part combiner.") +(translator-property-description 'unisilence boolean? "set if unisilence is detected by the part combiner.") +(translator-property-description 'unison boolean? "set if unisono is detected by the part combiner. ") (translator-property-description 'verticalAlignmentChildCallback procedure? "what callback to add to children of a vertical alignment. It determines what alignment procedure is used on the alignment @@ -277,15 +294,21 @@ have odd effects if the specified duration is longer than the music given in an @code{\\alternative}. ") (translator-property-description 'weAreGraceContext boolean? "") -(translator-property-description 'whichBar string? "This property is read to determine what type of barline to create. +(translator-property-description 'whichBar string? + "This property is read to determine what type of barline to create. + Example: @example \\property Staff.whichBar = \"|:\" @end example -will create a start-repeat bar in this staff only + +This will create a start-repeat bar in this staff only. + +If not set explicitly (by property or @code{\bar}), this is set +according to values of @code{defaultBarType}, @code{barAlways}, +@code{barNonAuto} and @code{measurePosition}. + +Legal values are described in @ref{(lilypond-internals)bar-line-interface}. + ") -(translator-property-description 'whichBar string? "") -(translator-property-description 'whichBar string? "if not set -explicitly (by property or bar), this is set according to values of -defaultBarType, barAlways, barNonAuto and measurePosition. - ") + diff --git a/scripts/convert-ly.py b/scripts/convert-ly.py index 01e5b31020..045371f4e5 100644 --- a/scripts/convert-ly.py +++ b/scripts/convert-ly.py @@ -612,6 +612,22 @@ if 1: conversions.append (((1,3,117), conv, 'identifier names: $!foo_bar_123 -> xfooBarABC')) +if 1: + def conv (str): + def regularize_paper (match): + return regularize_id (match.group (1)) + + str = re.sub ('(paper_[a-z]+)', regularize_paper, str) + str = re.sub ('sustainup', 'sustainUp', str) + str = re.sub ('sustaindown', 'sustainDown', str) + str = re.sub ('sostenutoup', 'sostenutoUp', str) + str = re.sub ('sostenutodown', 'sostenutoDown', str) + str = re.sub ('unachorda', 'unaChorda', str) + str = re.sub ('trechorde', 'treChorde', str) + + return str + + conversions.append (((1,3,120), conv, 'paper_xxx -> paperXxxx, pedalup -> pedalUp.')) ############################ diff --git a/stepmake/configure b/stepmake/configure index 3414e05b34..d8d6046c95 100755 --- a/stepmake/configure +++ b/stepmake/configure @@ -617,19 +617,17 @@ echo "configure:617: checking Package" >&5 if test "x$PACKAGE" = "xSTEPMAKE"; then echo "$ac_t""Stepmake package!" 1>&6 - #if test "x$builddir" != "x"; then - # builddir="../$builddir" - #else - # builddir=.. - #fi - if test "$srcdir" != "."; then + echo $ac_n "checking builddir""... $ac_c" 1>&6 +echo "configure:622: checking builddir" >&5 + if test "$srcdir" = "."; then + builddir=. + else absolute_builddir="`pwd`" package_absolute_builddir="`dirname $absolute_builddir`" package_srcdir="`dirname $srcdir`" builddir="`dirname $package_srcdir`/`basename $package_absolute_builddir`/`basename $absolute_builddir`" - else - builddir=. fi + echo "$ac_t""$builddir" 1>&6 (cd stepmake 2>/dev/null || mkdir stepmake) (cd stepmake; rm -f stepmake; ln -s ../$srcdir/stepmake .) @@ -657,22 +655,40 @@ ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. else echo "$ac_t""$PACKAGE" 1>&6 - if test "$srcdir" != "."; then - absolute_builddir="`pwd`" - builddir="`dirname $srcdir`/`basename $absolute_builddir`" - else + echo $ac_n "checking builddir""... $ac_c" 1>&6 +echo "configure:660: checking builddir" >&5 + if test "$srcdir" = "."; then builddir=. + srcdir_build=no + else + absolute_builddir="`pwd`" +# builddir="`dirname $srcdir`/`basename $absolute_builddir`" + builddir="`bash $srcdir/buildscripts/walk.sh \"$srcdir\"`" + srcdir_build=yes + fi + echo "$ac_t""$builddir" 1>&6 + if expr "$srcdir" : '/' > /dev/null 2>&1; then + absolute_srcdir=yes + + echo "configure: warning: Absolute --srcdir specified: $srcdir" 1>&2 + warn_b=yes + fi echo $ac_n "checking for stepmake""... $ac_c" 1>&6 -echo "configure:669: checking for stepmake" >&5 +echo "configure:680: checking for stepmake" >&5 # Check for installed stepmake if test -d $stepmake; then echo "$ac_t""$stepmake" 1>&6 else - stepmake='$(depth)'/$srcdir/stepmake + if test "$absolute_srcdir" != "yes"; then + stepmake='$(depth)'/$srcdir/stepmake + else + stepmake=$srcdir/stepmake + fi echo "$ac_t""$srcdir/stepmake ($datadir/stepmake not found)" 1>&6 fi + ac_aux_dir= for ac_dir in \ $HOME/usr/local/share/stepmake/bin\ @@ -781,7 +797,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:785: checking host system type" >&5 +echo "configure:801: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -806,7 +822,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:810: checking for $ac_word" >&5 +echo "configure:826: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKE'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -841,7 +857,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:845: checking for $ac_word" >&5 +echo "configure:861: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_FIND'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -878,7 +894,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:882: checking for $ac_word" >&5 +echo "configure:898: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_TAR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -913,7 +929,7 @@ test -n "$TAR" || TAR="error" # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:917: checking for $ac_word" >&5 +echo "configure:933: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -953,7 +969,7 @@ fi # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:957: checking for $ac_word" >&5 +echo "configure:973: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_SHELL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -990,7 +1006,7 @@ fi # Extract the first word of "bash", so it can be a program name with args. set dummy bash; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:994: checking for $ac_word" >&5 +echo "configure:1010: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_BASH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1031,7 +1047,7 @@ fi # Extract the first word of "${PYTHON:-python}", so it can be a program name with args. set dummy ${PYTHON:-python}; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1035: checking for $ac_word" >&5 +echo "configure:1051: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PYTHON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1198,7 +1214,7 @@ fi echo $ac_n "checking language""... $ac_c" 1>&6 -echo "configure:1202: checking language" >&5 +echo "configure:1218: checking language" >&5 case "$language" in En* | en* | Am* | am* | US* | us*) lang=English;; @@ -1233,7 +1249,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1237: checking for $ac_word" >&5 +echo "configure:1253: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_MAKEINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1640,10 +1656,13 @@ rm -fr confdefs* $ac_clean_files test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 - rm -f $srcdir/GNUmakefile - cp $srcdir/make/toplevel.make.in $srcdir/GNUmakefile - chmod 444 $srcdir/GNUmakefile - if test "$builddir" != "."; then + # regular in-place build + # test for srcdir_build = yes ? + if test "$builddir" = "."; then + rm -f $srcdir/GNUmakefile + cp $srcdir/GNUmakefile.in $srcdir/GNUmakefile + chmod 444 $srcdir/GNUmakefile + else # --srcdir build rm -f GNUmakefile cp $srcdir/make/srcdir.make.in GNUmakefile chmod 444 GNUmakefile diff --git a/stepmake/make/toplevel.make.in b/stepmake/make/toplevel.make.in deleted file mode 100644 index e69de29bb2..0000000000