From: Han-Wen Nienhuys Date: Mon, 17 May 1999 11:25:05 +0000 (+0200) Subject: release: 1.1.43 X-Git-Tag: release/1.1.43 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=d6048913c2c793a6298a3e16a1a25c76711463b1;p=lilypond.git release: 1.1.43 --- diff --git a/Documentation/engraving.yo b/Documentation/engraving.yo new file mode 100644 index 0000000000..fcbb3aa1ce --- /dev/null +++ b/Documentation/engraving.yo @@ -0,0 +1,120 @@ + + +So to answer your question about staff sizes: + +You're asking the wrong question. + +Since the 1850's music has bee blown up and shot down to any size you want. +This is, for reasons I'll get into later, often a really bad mistake. This +is also the reason why looking at scores and trying to measure their size, +and then trying to make sense out to the result can be so frustrating. + +In real engraving, everything, and I do mean everything, is set up on a +horizontal AND vertical grid. The real question is not how large is the +staff, but how many spaces across. + +If you take the height of the staff and divide it into the length, and then +multiply by 4 you will have the number of units on the staff. Different +publishing houses have different engraving areas. The old Breitkopf +classical piano format was 107 accross x 154 high. The modern piano format +is about 119 accross. The vertical varies with the kind of music and the +publisher. Because C.F. Peters has a horizontal engraving size of 7 3/8 +inches, there staff is 118 accross. G.Schirmer is 7 5/8 so they wind up with +121. Score's default is 7.5 inches so you wind up with 119. This is what is +usualy called a Rastral 3. Rastral 2 is about 107 or 108, Rastral 4 is about +127 - 132. + +Rastral 3 translates in SCORE to a Code 8 P5 value of .72. This is very +convienent since the staff is already locked on the grid (which means you +can move the staff by intering only two digits, rather than four, or using +the cursor arrows. + +In SCORE, the P5 value multiplied by .35 will give you the staff height in +inches (FORTRAN'S default resolution is 4000 x 4000 dpi). Again divide the +height into the satff width (7.5 inches for SCORE) and multiply by four for +the staff width in units that are the same as the vertical space between two +adjacent staff lines. + +Since the default spacing for P5=1 is five spaces between staves, and this +(for reasons that I will never, ever understand) remains constant when the +staff sizes is changed, if you want to lock onto the vertical grid you have +to divide 18 by the P5 value and multiply by -1. For P5 = .72 this will give +you a value of -25. If you set Code 8 P4 staff Nr. 2 to -25, staff one and +two will print right on top of each other. If you set the P4 of staff Nr. 3 +to -50 all three staves will print on top of each other. And so on. This is +very handy for engraving more than one voice on a line since the edit +function (EDI) will always work. Otherwise it doesn't. + +Now this is getting too long. Think about it, and I'll answer your +questions. Don't look for any of this in the manuals, it isn't there. + +To close up, the trouble with reducing and enlarging is that, as +typographers figured out in the 16th century, when you change the size of a +font, the shapes of the symbols have to change too. A nice fat serif in 72 +points will dissapear if the symbol is reduced to 7 points. SCORE's font +isn't too bad around Rastral 5. Otherwise it needs help. If you look at good +engraving in SCORE you will notice that different engravers have their own +symbol libraries. A real music engraving program would have to have a least +8 different sets of symbols. Which is a bit of work. + +george mcguire + +**** + + +There isn'y really anything usefull written by high quality engraving. The +reason is simple - the whole system was based on apprenticeship, and if you +want to sell it, you can't give it away. + +Also engravers don't tend to be very verbal. The one great teacher I had, +Walter Boelke who apprenticed at Roeder and became the chief engraver at +G.Schirmer in New York, never told me anything. But he would sit next to me +and grunt when I did something right. + + +******* + + +> +>My best reference (Wanske) says that Rastral are fixed sizes of +>staffs, so you are saying that the staff lengths come in fixed sets as +>well. +> + +The sizes were fixed for the publisher she was working for (Schott), which +are very close to Breitkopf. +But the Roeder sizes were different. There is a long history behind this - +starting with the fact that the first German engraving workshop (methods, +machinery, tools and engravers) was imported from England (?). + + +****** + +>If I understand you correctly, you are saying that the scaleable part +>of msuic isn't so much the height, but how many symbols you can cramp +>onto one line, and how many lines (systems) on one page. Or do you +>mean that I should not be thinking in "dimensions" but "ratios". +> + +Yes, basically the rations are what is important. The horizontal size was +dependent on the piece of metal. +On the other hand metal was expensive and the sizes and layout had +everything to do with how much you could cram on a page. + +**** + +That's okay as far as it goes. But if you look at different size noteheads +you will notice that they are ovals, and that the angles from the horizontal +of the main axises change with the size. Of course this is something Tex +deals with easily and well. + +**** + +Table from Wanske: + + +16.5 15.5 14.5 13.5 12 11.5 9 +143 12 11 10 9 8.5 7 +11 10 9 8 7 6.5 5 + + diff --git a/Documentation/man/mudela-book.yo b/Documentation/man/mudela-book.yo index 03035a61aa..1c79800ae4 100644 --- a/Documentation/man/mudela-book.yo +++ b/Documentation/man/mudela-book.yo @@ -50,6 +50,10 @@ dit(verbatim) CONTENTS is copied into the TeX source enclosed in a verbatim block. dit(11pt, 13pt, 16pt, 20pt, 26pt) set the fontsize to use for the music +dit(singleline) + linewidth = -1. +dit(multiline) + linewidth = textwidth dit(fragment) dit(nonfragment) Override mudela-book autodetection of what type of code is in the @@ -97,7 +101,6 @@ music in \footnote{...} or \marginpar{...}. Ignores almost all LaTeX commands that changes margins and linewidths. -file(\begin{verbatim}) is ignored. manpageauthor() nemail(Han-Wen Nienhuys)(hanwen@cs.uu.nl), lurl(http://www.cs.uu.nl/people/hanwen) diff --git a/Documentation/man/out/mudela-book.1 b/Documentation/man/out/mudela-book.1 index 601d4e1d45..46d16ab7dc 100644 --- a/Documentation/man/out/mudela-book.1 +++ b/Documentation/man/out/mudela-book.1 @@ -48,6 +48,10 @@ the middle of a text line, not only as a separate paragraph CONTENTS is copied into the TeX source enclosed in a verbatim block\&. .IP "11pt, 13pt, 16pt, 20pt, 26pt" set the fontsize to use for the music +.IP "singleline" +linewidth = -1\&. +.IP "multiline" +linewidth = textwidth .IP "fragment" .IP "nonfragment" Override mudela-book autodetection of what type of code is in the @@ -91,7 +95,6 @@ music in \efootnote{\&.\&.\&.} or \emarginpar{\&.\&.\&.}\&. .PP Ignores almost all LaTeX commands that changes margins and linewidths\&. .PP -\fB\ebegin{verbatim}\fP is ignored\&. .SH "AUTHOR" .PP Han-Wen Nienhuys , http://www\&.cs\&.uu\&.nl/people/hanwen diff --git a/Documentation/tex/fonts.doc b/Documentation/tex/fonts.doc index 37f81eb5ff..287dde49b1 100644 --- a/Documentation/tex/fonts.doc +++ b/Documentation/tex/fonts.doc @@ -117,7 +117,7 @@ small and symmetric disturbances. \subsection{Tangent method correction} A somewhat more elaborate\footnote{While staying in the realm -of emperic computer science} way of having a slur avoid +of empiric computer science} way of having a slur avoid disturbing notes is by first defining the slur's ideal shape and then using the height correction. The ideal shape of a slur can be guessed by calculating the tangents of the disturbing diff --git a/Documentation/tex/mudela-book-doc.doc b/Documentation/tex/mudela-book-doc.doc index 22f9d8f3b6..b905979a1b 100644 --- a/Documentation/tex/mudela-book-doc.doc +++ b/Documentation/tex/mudela-book-doc.doc @@ -7,7 +7,7 @@ \usepackage[rflt]{floatflt} %\usepackage{showframe} %\sloppy -\def\postMudelaExample{\setlength{\parindent}{1em}} +\def\postMudelaExample{\setlength{\parindent}{3.25ex}} \title{Mudela-book tutorial} \begin{document} \maketitle @@ -88,12 +88,12 @@ will set the \verb|linewidth| variable to -1, so Lilypond will make the music as short as possible but without breaking the line. Here is a well know harmonic progression: \begin{mudela}[veryverbatim, intertext="produce a well known harmonic progression:"] -\context Voice { } + \end{mudela} If you want to place music examples in the text, \begin{mudela}[eps] -\context Voice { } + \end{mudela} , you can use the \verb|eps| option. This will create the music as eps graphics and include it into the document with the @@ -102,7 +102,7 @@ eps graphics and include it into the document with the The code used look like this: \begin{verbatim} \begin{mudela}[eps] -\context Voice { } + \end{mudela} \end{verbatim} @@ -129,18 +129,18 @@ be no empty lines between the normal text and the mudela environment. You can also use \verb|mudelafile| (on a separate line, FIXME), to -include another file. +include another file. Files with name ending with \verb|.sly| \mudelafile{testje.fly} \section{Fontsize options} You can use all lilypond fontsizes in mudela-book. % LONG line just to test multiple \mudela on one line -The default 16pt fontsize, \mudela{}, is probably to big to be included in the middle of the text. 11pt, \mudela[11pt]{} or 13pt, \mudela[13pt]{} is probably better. +The default 16pt fontsize, \mudela{}, is probably to big to be included in the middle of the text. 11pt, \mudela[11pt]{} or 13pt, \mudela[13pt]{} is probably better. The code can look like this: \begin{verbatim} \begin{mudela}[13pt, eps] - + \end{mudela} \end{verbatim} @@ -185,8 +185,8 @@ The following options set the fontsize: \section{User defined commands} There is an even shorter way to write small musical fragments. This -triad, \mudela{}, was created with this code: -\verb|\mudela{}| +triad, \mudela{}, was created with this code: +\verb|\mudela{}| Mudela-book defines the \verb|\mudela| command, and let you define your own commands in a file specified by @@ -224,9 +224,17 @@ send fontsize options to the defined commands. } \end{mudela} +\section{More options} +\begin{itemize} +\item The \verb|singleline| option set \verb|linewidth| to -1.0. +\item The \verb|multiline| option set \verb|linewidth| to a value letting +the music be aligned to the right margin. The music can span several +lines. +\end{itemize} + \section{Just in case...} The options \verb|fragment| and \verb|nonfragment| will override -mudela-book when it scans the mudela code to see if it is staff +mudela-book when it scans the mudela code to see if it is voice contents or complete code. This might be useful if mudela-book choose wrong. @@ -238,7 +246,8 @@ if you need this one of these options. This was all options to \verb|\begin{mudela}|. The rest of the document will show some ways you can use mudela in \LaTeX~documents. It will also act as a simple test-suite for -mudela-book. You \marginpar{ +mudela-book. You +\marginpar{ marginpar! \begin{mudela}[eps, 11pt] \relative c'' {\key c \minor; r4 [g8 g g] es2} @@ -300,23 +309,23 @@ names of some triads: \hline dur & -\begin{mudela}[eps] -\context Voice {} +\begin{mudela}[eps, fragment] + \end{mudela} \\ \hline moll & \begin{mudela}[eps] -\context Voice {} + \end{mudela} \\ \hline forminsket & \begin{mudela}[eps] -\context Voice {} + \end{mudela} \\ \hline forstørret & \begin{mudela}[eps] -\context Voice {} + \end{mudela} \\ \hline @@ -330,7 +339,7 @@ into the preamble of your document. Then the line spacing will not be increased between the lines where you have music printed with the smallest font size. -Since the version number is low, you should be careful not to +Since the version number is quite low, you should be careful not to mix braces that belongs to mudela-book and \LaTeX~on the same line. The following code will probably break: @@ -353,6 +362,10 @@ a feature of \LaTeX. (But you usually put things inside a verbatim environment when you don't want \LaTeX~to do any linebreaking) +\end{document} + + + + -\end{document} diff --git a/Documentation/tex/refman.yo b/Documentation/tex/refman.yo index 9778cbc9fe..eba1f1d98f 100644 --- a/Documentation/tex/refman.yo +++ b/Documentation/tex/refman.yo @@ -478,11 +478,11 @@ If you use code(R) then all of the measure will be filled with whole rests. mudela(fragment,verbatim,center)( r1 r1*3 R1*3 ) -If you set the code(Score.SkipBars) property, then only one measure will be +If you set the code(Score.skipBars) property, then only one measure will be printed; with code(R), a number indicating the length of the rest will be displayed. mudela(fragment,verbatim,center)( -\property Score.SkipBars=1 +\property Score.skipBars=1 r1 r1*3 R1*3 ) Even though the code(\times) command is not explicit, it is still @@ -1030,6 +1030,9 @@ var(code) is unsigned and specifies the dynamic mark to print. Normally you should use the more user friendly abbreviations defined in the init file file(dynamic.ly). +FIXME: Changed to code(\textscript) var(text) var(style). Defines +a text-request. + dit(code(\accepts) var(string)code(;)) This keyword can appear only within a code(\translator) block. It specifies what contexts are allowed with the context that is being defined. See Section ref(translators). @@ -1260,6 +1263,8 @@ var(duration). A gap will be left for the skipped time with no notes printed. It works in Note Mode or Lyrics Mode (but generates a mysterious error in lyrics). +OBSOLETE + dit(code(\spandynamic) code({) var(kind) var(toggle) code(})) Internal keyword for crescendo and decrescendo symbols. The first parameter var(kind) is set to 1 for a crescendo and -1 for a decrescendo. The @@ -1267,6 +1272,13 @@ second parameter is set to 1 to start the mark and 2 to stop it. Users should use the abbreviations which are defined in the initialization file file(dynamic.ly). +FIXME: + +code(\spanrequest) var(startstop) var(type). Define a +spanning request var(startstop) is either -1 (start) or 1 +(stop). var(type) is a string that describes what should be started. +Supported types are "crescendo", "decrescendo", "beam", "slur". + dit(code(\tempo) var(duration) = var(perminute)code(;)) Used within code(\midi) or within music to specify the tempo. For example, `code(\midi { \tempo 4 = 76;})' requests output with 76 quarter notes @@ -1444,7 +1456,12 @@ mudela(center)( } ) -dit(code("midi_instrument")) Sets the instrument for MIDI output. This + +dit(code(restStyle)) Change the layout of rests shorter than quarter notes. +Currently, the standard layout code(restStyle="") and mensural notation +code(restStyle="mensural") are available. + +dit(code("midiInstrument")) Sets the instrument for MIDI output. This property name must be quoted because of the embedded underscore. If this property is not set then LilyPond will use the code(instrument) property. This must be set to one of the strings on the list of MIDI @@ -1498,10 +1515,13 @@ subscripts. See above for list of text styles. dit(code(textScriptPadding)) Determines the extra space added between super-/subscripted text and the closest staff line or note. -dit(code(fontsize)) Can be used to select smaller font sizes for +dit(code(fontSize)) Can be used to select smaller font sizes for music. The normal font size is 0, and the two smaller sizes are -1 and -2. +dit(code(abbrev)) Set length for tremolo to be used if no length is +explicitly specified. + GONE dit(code(markScriptPadding)) Determines the extra space added between the mark and the closest staff line or note. @@ -1556,13 +1576,10 @@ dit(code(instrument) and code(instr)) If code(Staff_margin_engraver) is added to the Staff translator, then the code(instrument) property is used to label the first line of the staff and the code(instr) property is used to label subsequent lines. If the -code(midi_instrument) property is not set then code(instrument) is +code(midiInstrument) property is not set then code(instrument) is used to determine the instrument for MIDI output. COMMENT(This prints the instrument name on top of the staff lines.) -dit(code(abbrev)) Set length for tremolo to be used if no length is -explicitly specified. - dit(code(createKeyOnClefChange)) Set to a nonempty string if you want key signatures to be printed when the clef changes. Set to the empty string (the default) if you do not want key signatures printed. @@ -1612,10 +1629,6 @@ mudela(center)( } ) -dit(code(restStyle)) Change the layout of rests shorter than quarter notes. -Currently, the standard layout code(restStyle="") and mensural notation -code(restStyle="mensural") are available. - dit(code(clefStyle)) Determines how clefs are typeset. When set to code(transparent), the clefs are not printed at all, when set to code(fullSizeChanges), clef changes in the middle of a line are @@ -1640,7 +1653,7 @@ subsubsubsect(Score properties) description( -dit(code(SkipBars)) Set to 1 to skip the empty bars that are produced +dit(code(skipBars)) Set to 1 to skip the empty bars that are produced by multimeasure notes and rests. These bars will not appear on the printed output. Set to zero (the default) to expand multimeasure notes and rests into their full length, printing the appropriate @@ -1829,7 +1842,7 @@ description( dit(var(integer)) If an integer appears on the left side of an assignment then a code(\font) keyword must appear on the right side. This defines a music font at a particular size. See Voice -property code(\fontsize). +property code(fontSize). dit(code(arithmetic_basicspace) and code(arithmetic_multiplier)) The space taken by a note is determined by the formula @@ -1898,7 +1911,7 @@ dit(code(tie_x_minimum)) subsect(MIDI Instrument Names) label(midilist) -The MIDI instrument name is set by the code(Staff."midi_instrument") +The MIDI instrument name is set by the code(Staff."midiInstrument") property or, if that property is not set, the code(Staff.instrument) property. The instrument name should be chosen from this list. If string does not exactly match one from this list then LilyPond uses diff --git a/NEWS b/NEWS index 25c174bfc7..7d1133c0fd 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,42 @@ -pl 41.hwn2 + + +pl 41.hwn3 + - reinstated \property inheritance + - \property SkipBars -> skipBars + - \property midi_instrument -> midiInstrument + - \property fontsize -> fontSize (mudela 1.0.18). + - bf: add a space after lyrics. + - junked flower DLL classes + - rewrote repeat music and iterators (mudela 1.0.17) + * Folded_repeat_iterator + * Unfolded_repeat_iterator + * New_repeated_music + * syntax change: \repeat FOLDSTRING NUMBER Music [ALTERNATIVE Music_se +quence] + - data struct simplification: junked Dynamic_req, +Absolute_dynamic_req, Span_dynamic_req, Slur_req, Beam_req. Use +Span_reqs and Text_script_reqs with type fields instead. + + + +pl 42.tca1 + - updated mudela-book documentation + - misc mudela-book.py + - accordion: smaller dots + little script renaming + + +pl 42.jcn1 + - bf: hp-u(rg)x: user build; sm 73 + - bf: hp-u(rg)x: sm74 + +pl 41.mb1 + - convert-mudela: convert textstyle -> textStyle + - refman.yo: properties moved to correct contexts. + - mudela-book.py: Added singleline, multiline options. + Fixed default line width bug. + +*************** +pl 41.hwn2 (may 10, 1999) - bf: Score bar line thickness. - more paper writing - website tweaks. diff --git a/TODO b/TODO index 33dd5f04f1..534c44f18e 100644 --- a/TODO +++ b/TODO @@ -9,34 +9,29 @@ Most of the items are marked in the code as well Grep for TODO and ugh/ugr/urg. .* BUGS -. * rewrite context defs using Scheme +. * junk separate mudela versioning. . * PostScript . * header for PS enteredby = "bla " . * ps/lily.ps see comments. . * devise standard for functioning of Vertical_align_element. -. * staff size for post/prebreaks -. * .ly files -. * input/star-spangled-banner . * midi key. -. * P.P.S. It can be cool in mudela-book to distinguish in -pre,postMudelaExample, whether MudelaExample is epsed or not: ( if -this fragment is floating eps, than 1, otherwise 2). say -preMudelaExample[eps]{}, and change it in document body sometimes. + . * fix singleStaffBracket . * declare performers in \midi . * fix MIDI . * \shape 1st dim skipped? . * turn slope-damping on/off . * tremolo stuff -. * fix height of / collisions with lyrics (chords), -see input/test/vertical-text.ly; input/test/repeat.ly . * We need feta-din*.mf files for more sizes than 10. . * fix dynamics decently, ie. use kerning & ligatures. . * dots & rest collisions? . * mudela-book.py . * fix \mudelafile{} to have decent functionality +. * P.P.S. It can be cool in mudela-book to distinguish in +pre,postMudelaExample, whether MudelaExample is epsed or not: ( if +this fragment is floating eps, than 1, otherwise 2). say +preMudelaExample[eps]{}, and change it in document body sometimes. . * use less RE's -. * support_l_arr_ empty in staff-margin's G_staff_side_item . * slurs colllide with lyrics. . * Is there any reasonable way to do this: I would like to have one file that can generate the same tune in two different modes without having @@ -58,10 +53,27 @@ There are distinct ways of specifying the first two (although at present, they're not properly distinguished) but no distinct way to specify the third. Should there be? . * rest collision minimum dist. +. * 1. is there a "no key signature mode" for lily yet so that i can just +enter the notes without worrying about it instead of having to +remember to put a "!" after each accidental? + +a note with a circle after it, meaning: + + note + circle = note + 1/4 of its length + + the circle is like a dot that's not filled in. for example, on + page three, the c-sharp on the second line should be a quarter with + a circle, not a quarter tied to a sixteenth. is this at all + possible with lily? +tuplets that are written as "number : note", for example + "3 : [image of a half note here]". possible? +"p+" and "p-" for dynamic markings. possible? +. * repeat engraver, gallina.ly + . * Matanya's tips: . * spacing for prefatory matter . * The line length is 7.5 inch (19.05 -> cm) and the height of normal size is equivalent to the traditional raster 1 +cm) and the height of normal size is equivalent to the traditional raster 1 > size. (The Schott company sells Letraset sheets of musical symbols which are > measured in raster sizes). It is agreed among most engravers I know that the > standard size for adult readers in solo music should 70% of raster 1. Jeff's @@ -91,9 +103,8 @@ In the orchestscore.ly file, I tried: .* Cleanups needed . * Beam -. * Stem + Notehead +. * Stem . * Slur -. * Repeats . * Rhythmic_grouping . * Duration . * Spring generation @@ -102,12 +113,10 @@ In the orchestscore.ly file, I tried: . * clef grav prop's .* TODO before 1.2 -. * \selectmusic to cut pieces from music. . * Morally pure LilyPond. . * Remove mutopia ramblings. . * Remove non-free software links. . * Remove meta article LilyPond. -. * TODO: merge atom & molecule; make tree from molecule. . * break priority setting from SCM. . * Gade score . * remove [] in favour of auto-beamer @@ -140,7 +149,6 @@ where XX corresponds to the size. I don't know where (or even if) they are installed but they are generated in the mf/out/ directory during the compilation. . * make dependencies () a virtual function. -. * fix Repeated_music design . * one big ly2dvi input that includes *all* tests. . * store req -> element, element -> element causes for warnings . * include examples in RPM. @@ -202,6 +210,9 @@ compilation. . * compulsory hshift . * Give # lines in linebreaking. . * arrows on slurs. +. * rewrite context defs using Scheme +. * \selectmusic to cut pieces from music. +. * TODO: merge atom & molecule; make tree from molecule. . * Align_element::padding ? . * uniformise property names... . * ydirection <-> yDirection @@ -249,6 +260,7 @@ gs: Operand stack: . * fix title/instrument placements; see input/test/title.ly . * <\voiceone c4. \voicetwo c4> . * add full cello suites to web site (kom op, Maarten!) +. * add mudela-book-doc source to webstie. . * Rethink Time_description \cadenza , \meter, \grouping should all be \properties . * rename @@ -284,8 +296,6 @@ touching it. . * timesig C: fat yet less curved. Check out relations. . * design decent macro for bulbed endings . * printer dependencies. -. * y-refpoint for rests should be the 4th staffline (gclef: b') -. * clean-up eight+ rests . * versioning . * lo-res fixes. . * work out sizes of character fonts. @@ -386,7 +396,6 @@ languages: . * add to MIDI output: . * tempo change . * ornaments (and trills?) -. * repeat/volta . * slurs . * accents . * dynamics @@ -561,7 +570,7 @@ hesitate to ask. .* SMALLISH PROJECTS -. * Faulenzer sign (% repeat) +. * Faulenzer sign (% repeat). Perhaps also use \repeat syntax? . * fix confusing naming in Engraver vs Engraver_group_engraver (context) diff --git a/VERSION b/VERSION index a284ea5e4f..4a5ed98df2 100644 --- a/VERSION +++ b/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=LilyPond MAJOR_VERSION=1 MINOR_VERSION=1 -PATCH_LEVEL=42 +PATCH_LEVEL=43 MY_PATCH_LEVEL= # use the above to send patches: MY_PATCH_LEVEL is always empty for a diff --git a/aclocal.m4 b/aclocal.m4 index 0a8f9d46b4..e1ea2a59d8 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,5 +1,3 @@ -dnl WARNING WARNING WARNING WARNING -dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4 dnl aclocal.m4 -*-shell-script-*- dnl StepMake subroutines for configure.in @@ -275,6 +273,15 @@ dnl export INSTALL="\$\(depth\)/bin/install-sh" dnl fi AC_CHECK_PROGS(TAR, tar, error) + + if test "x`uname`" = "xHP-UX"; then + AC_STEPMAKE_WARN(avoiding buggy /bin/sh) + AC_CHECK_PROGS(SHELL, bash, /bin/ksh) + else + SHELL=/bin/sh + AC_SUBST(SHELL) + fi + AC_CHECK_PROGS(BASH, bash, /bin/sh) AC_PATH_PROG(PYTHON, ${PYTHON:-python}, -echo no python) diff --git a/config.make.in b/config.make.in index 841d5e28d1..e4f53705ca 100644 --- a/config.make.in +++ b/config.make.in @@ -56,6 +56,7 @@ MSGFMT = @MSGFMT@ PATHSEP = @PATHSEP@ PERL = @PERL@ PYTHON = @PYTHON@ +SHELL = @SHELL@ STRIPROFF = @STRIPROFF@ TAR= @TAR@ TBL = @TBL@ diff --git a/configure b/configure index 7db90382ff..47a2eb6eb8 100755 --- a/configure +++ b/configure @@ -58,7 +58,7 @@ fi # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.12 +# Generated automatically using autoconf version 2.13 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation @@ -124,6 +124,7 @@ mandir='${prefix}/man' # Initialize some other variables. subdirs= MFLAGS= MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 @@ -407,7 +408,7 @@ EOF verbose=yes ;; -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.12" + echo "configure generated by autoconf version 2.13" exit 0 ;; -with-* | --with-*) @@ -577,9 +578,11 @@ ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross +ac_exeext= +ac_objext=o if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then @@ -760,26 +763,26 @@ fi # Make sure we can run config.sub. -if $ac_config_sub sun4 >/dev/null 2>&1; then : +if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : 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:769: checking host system type" >&5 +echo "configure:772: checking host system type" >&5 host_alias=$host case "$host_alias" in NONE) case $nonopt in NONE) - if host_alias=`$ac_config_guess`; then : + if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } fi ;; *) host_alias=$nonopt ;; esac ;; esac -host=`$ac_config_sub $host_alias` +host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` @@ -790,15 +793,16 @@ 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:794: checking for $ac_word" >&5 +echo "configure:797: 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 if test -n "$MAKE"; then ac_cv_prog_MAKE="$MAKE" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_MAKE="$ac_prog" @@ -824,15 +828,16 @@ 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:828: checking for $ac_word" >&5 +echo "configure:832: 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 if test -n "$FIND"; then ac_cv_prog_FIND="$FIND" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_FIND="$ac_prog" @@ -860,15 +865,16 @@ 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:864: checking for $ac_word" >&5 +echo "configure:869: 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 if test -n "$TAR"; then ac_cv_prog_TAR="$TAR" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_TAR="$ac_prog" @@ -889,20 +895,67 @@ test -n "$TAR" && break done test -n "$TAR" || TAR="error" + + if test "x`uname`" = "xHP-UX"; then + + echo "configure: warning: avoiding buggy /bin/sh" 1>&2 + warn_b=yes + + for ac_prog in bash +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:910: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_SHELL'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$SHELL"; then + ac_cv_prog_SHELL="$SHELL" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_SHELL="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +SHELL="$ac_cv_prog_SHELL" +if test -n "$SHELL"; then + echo "$ac_t""$SHELL" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$SHELL" && break +done +test -n "$SHELL" || SHELL="/bin/ksh" + + else + SHELL=/bin/sh + + fi + for ac_prog in bash 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:898: checking for $ac_word" >&5 +echo "configure:950: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_BASH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$BASH"; then ac_cv_prog_BASH="$BASH" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_BASH="$ac_prog" @@ -927,7 +980,7 @@ test -n "$BASH" || BASH="/bin/sh" # 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:931: checking for $ac_word" >&5 +echo "configure:984: 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 @@ -935,9 +988,13 @@ else /*) ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path. ;; + ?:/*) + ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a dos path. + ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_path_PYTHON="$ac_dir/$ac_word" @@ -1156,15 +1213,16 @@ 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:1160: checking for $ac_word" >&5 +echo "configure:1217: 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 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="gcc" @@ -1185,16 +1243,17 @@ 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:1189: checking for $ac_word" >&5 +echo "configure:1247: 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 if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_prog_rejected=no - for ac_dir in $PATH; do + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then @@ -1229,25 +1288,61 @@ else echo "$ac_t""no" 1>&6 fi + if test -z "$CC"; then + case "`uname -s`" in + *win32* | *WIN32*) + # 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:1298: 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 + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_CC="cl" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +CC="$ac_cv_prog_CC" +if test -n "$CC"; then + echo "$ac_t""$CC" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + ;; + esac + fi test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1237: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:1330: 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. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross -cat > conftest.$ac_ext < conftest.$ac_ext << EOF + +#line 1341 "configure" #include "confdefs.h" + main(){return(0);} EOF -if { (eval echo configure:1251: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1346: \"$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 @@ -1261,18 +1356,24 @@ else ac_cv_prog_cc_works=no fi rm -fr conftest* +ac_ext=c +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CPP $CPPFLAGS' +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cc_cross echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 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:1271: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1372: 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:1276: checking whether we are using GNU C" >&5 +echo "configure:1377: 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 @@ -1281,7 +1382,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:1285: \"$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:1386: \"$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 @@ -1292,11 +1393,15 @@ echo "$ac_t""$ac_cv_prog_gcc" 1>&6 if test $ac_cv_prog_gcc = yes; then GCC=yes - 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:1300: checking whether ${CC-cc} accepts -g" >&5 +else + GCC= +fi + +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:1405: 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 @@ -1311,16 +1416,20 @@ rm -f conftest* fi echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 - if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" - elif test $ac_cv_prog_cc_g = yes; then +if test "$ac_test_CFLAGS" = set; then + CFLAGS="$ac_save_CFLAGS" +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then CFLAGS="-g -O2" else - CFLAGS="-O2" + CFLAGS="-g" fi else - GCC= - test "${CFLAGS+set}" = set || CFLAGS="-g" + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi fi LD='$(CC)' @@ -1355,7 +1464,7 @@ EOF fi echo $ac_n "checking how to run the C++ preprocessor""... $ac_c" 1>&6 -echo "configure:1359: checking how to run the C++ preprocessor" >&5 +echo "configure:1468: 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 @@ -1364,17 +1473,17 @@ else # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' 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:1377: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:1486: \"$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 : else @@ -1386,6 +1495,12 @@ else fi rm -f conftest* ac_cv_prog_CXXCPP="$CXXCPP" +ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross fi fi CXXCPP="$ac_cv_prog_CXXCPP" @@ -1396,23 +1511,24 @@ echo "$ac_t""$CXXCPP" 1>&6 # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cxx_cross - for ac_prog in $CCC c++ g++ gcc CC cxx cc++ + for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl 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:1408: checking for $ac_word" >&5 +echo "configure:1523: 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 if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CXX="$ac_prog" @@ -1435,21 +1551,23 @@ test -n "$CXX" || CXX="gcc" echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:1439: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 +echo "configure:1555: 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. ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CXX-g++} -o conftest $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cxx_cross -cat > conftest.$ac_ext < conftest.$ac_ext << EOF + +#line 1566 "configure" #include "confdefs.h" -main(){return(0);} + +int main(){return(0);} EOF -if { (eval echo configure:1453: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1571: \"$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 @@ -1463,18 +1581,24 @@ else ac_cv_prog_cxx_works=no fi rm -fr conftest* +ac_ext=C +# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. +ac_cpp='$CXXCPP $CPPFLAGS' +ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' +ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' +cross_compiling=$ac_cv_prog_cxx_cross echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6 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:1473: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:1597: 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:1478: checking whether we are using GNU C++" >&5 +echo "configure:1602: 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 @@ -1483,7 +1607,7 @@ else yes; #endif EOF -if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1487: \"$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:1611: \"$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 @@ -1494,11 +1618,15 @@ echo "$ac_t""$ac_cv_prog_gxx" 1>&6 if test $ac_cv_prog_gxx = yes; then GXX=yes - 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:1502: checking whether ${CXX-g++} accepts -g" >&5 +else + GXX= +fi + +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:1630: 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 @@ -1513,33 +1641,37 @@ rm -f conftest* fi echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6 - if test "$ac_test_CXXFLAGS" = set; then - CXXFLAGS="$ac_save_CXXFLAGS" - elif test $ac_cv_prog_cxx_g = yes; then +if test "$ac_test_CXXFLAGS" = set; then + CXXFLAGS="$ac_save_CXXFLAGS" +elif test $ac_cv_prog_cxx_g = yes; then + if test "$GXX" = yes; then CXXFLAGS="-g -O2" else - CXXFLAGS="-O2" + CXXFLAGS="-g" fi else - GXX= - test "${CXXFLAGS+set}" = set || CXXFLAGS="-g" + if test "$GXX" = yes; then + CXXFLAGS="-O2" + else + CXXFLAGS= + fi fi ac_safe=`echo "FlexLexer.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for FlexLexer.h""... $ac_c" 1>&6 -echo "configure:1532: checking for FlexLexer.h" >&5 +echo "configure:1664: 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:1542: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out` +{ (eval echo configure:1674: \"$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* eval "ac_cv_header_$ac_safe=yes" @@ -1589,12 +1721,12 @@ fi echo $ac_n "checking whether explicit instantiation is needed""... $ac_c" 1>&6 -echo "configure:1593: checking whether explicit instantiation is needed" >&5 +echo "configure:1725: 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; }; @@ -1604,7 +1736,7 @@ int main() { return foo::baz; ; return 0; } EOF -if { (eval echo configure:1608: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:1740: \"$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 @@ -1631,15 +1763,16 @@ 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:1635: checking for $ac_word" >&5 +echo "configure:1767: 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 if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_YACC="$ac_prog" @@ -1673,15 +1806,16 @@ 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:1677: checking for $ac_word" >&5 +echo "configure:1810: 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 if test -n "$BISON"; then ac_cv_prog_BISON="$BISON" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_BISON="$ac_prog" @@ -1707,15 +1841,16 @@ 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:1711: checking for $ac_word" >&5 +echo "configure:1845: 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 if test -n "$FLEX"; then ac_cv_prog_FLEX="$FLEX" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_FLEX="$ac_prog" @@ -1774,15 +1909,16 @@ 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:1778: checking for $ac_word" >&5 +echo "configure:1913: 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 if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_AR="$ac_prog" @@ -1806,15 +1942,16 @@ 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:1810: checking for $ac_word" >&5 +echo "configure:1946: 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 if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_RANLIB="ranlib" @@ -1861,7 +1998,7 @@ fi echo $ac_n "checking language""... $ac_c" 1>&6 -echo "configure:1865: checking language" >&5 +echo "configure:2002: checking language" >&5 case "$language" in En* | en* | Am* | am* | US* | us*) lang=English;; @@ -1897,7 +2034,7 @@ EOF echo $ac_n "checking for gettext in -lintl""... $ac_c" 1>&6 -echo "configure:1901: checking for gettext in -lintl" >&5 +echo "configure:2038: 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 @@ -1905,7 +2042,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lintl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2060: \"$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 @@ -1949,12 +2086,12 @@ fi for ac_func in gettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:1953: checking for $ac_func" >&5 +echo "configure:2090: 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; then +if { (eval echo configure:2121: \"$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 @@ -2012,15 +2149,16 @@ 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:2016: checking for $ac_word" >&5 +echo "configure:2153: 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 if test -n "$MSGFMT"; then ac_cv_prog_MSGFMT="$MSGFMT" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_MSGFMT="$ac_prog" @@ -2042,7 +2180,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:2046: checking whether msgfmt accepts -o" >&5 +echo "configure:2184: 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 @@ -2070,15 +2208,16 @@ 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:2074: checking for $ac_word" >&5 +echo "configure:2212: 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 if test -n "$METAFONT"; then ac_cv_prog_METAFONT="$METAFONT" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_METAFONT="$ac_prog" @@ -2105,15 +2244,16 @@ 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:2109: checking for $ac_word" >&5 +echo "configure:2248: 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 if test -n "$MFONT"; then ac_cv_prog_MFONT="$MFONT" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_MFONT="$ac_prog" @@ -2142,15 +2282,16 @@ 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:2146: checking for $ac_word" >&5 +echo "configure:2286: 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 if test -n "$METAPOST"; then ac_cv_prog_METAPOST="$METAPOST" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_METAPOST="$ac_prog" @@ -2177,15 +2318,16 @@ 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:2181: checking for $ac_word" >&5 +echo "configure:2322: 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 if test -n "$MPOST"; then ac_cv_prog_MPOST="$MPOST" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_MPOST="$ac_prog" @@ -2214,15 +2356,16 @@ 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:2218: checking for $ac_word" >&5 +echo "configure:2360: 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 if test -n "$INIMETAFONT"; then ac_cv_prog_INIMETAFONT="$INIMETAFONT" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_INIMETAFONT="$ac_prog" @@ -2249,15 +2392,16 @@ 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:2253: checking for $ac_word" >&5 +echo "configure:2396: 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 if test -n "$INIMFONT"; then ac_cv_prog_INIMFONT="$INIMFONT" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_INIMFONT="$ac_prog" @@ -2286,15 +2430,16 @@ 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:2290: checking for $ac_word" >&5 +echo "configure:2434: 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 if test -n "$INIMETAPOST"; then ac_cv_prog_INIMETAPOST="$INIMETAPOST" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_INIMETAPOST="$ac_prog" @@ -2321,15 +2466,16 @@ 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:2325: checking for $ac_word" >&5 +echo "configure:2470: 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 if test -n "$INIMPOST"; then ac_cv_prog_INIMPOST="$INIMPOST" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_INIMPOST="$ac_prog" @@ -2366,15 +2512,16 @@ 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:2370: checking for $ac_word" >&5 +echo "configure:2516: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIPROFF'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$STRIPROFF"; then ac_cv_prog_STRIPROFF="$STRIPROFF" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_STRIPROFF="$ac_prog" @@ -2400,15 +2547,16 @@ 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:2404: checking for $ac_word" >&5 +echo "configure:2551: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$YODL"; then ac_cv_prog_YODL="$YODL" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_YODL="$ac_prog" @@ -2434,15 +2582,16 @@ 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:2438: checking for $ac_word" >&5 +echo "configure:2586: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2HTML'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$YODL2HTML"; then ac_cv_prog_YODL2HTML="$YODL2HTML" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_YODL2HTML="$ac_prog" @@ -2468,15 +2617,16 @@ 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:2472: checking for $ac_word" >&5 +echo "configure:2621: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2LATEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$YODL2LATEX"; then ac_cv_prog_YODL2LATEX="$YODL2LATEX" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_YODL2LATEX="$ac_prog" @@ -2501,15 +2651,16 @@ 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:2505: checking for $ac_word" >&5 +echo "configure:2655: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MAN'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$YODL2MAN"; then ac_cv_prog_YODL2MAN="$YODL2MAN" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_YODL2MAN="$ac_prog" @@ -2535,15 +2686,16 @@ 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:2539: checking for $ac_word" >&5 +echo "configure:2690: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MSLESS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$YODL2MSLESS"; then ac_cv_prog_YODL2MSLESS="$YODL2MSLESS" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_YODL2MSLESS="$ac_prog" @@ -2569,15 +2721,16 @@ 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:2573: checking for $ac_word" >&5 +echo "configure:2725: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TEXINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$YODL2TEXINFO"; then ac_cv_prog_YODL2TEXINFO="$YODL2TEXINFO" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_YODL2TEXINFO="$ac_prog" @@ -2603,15 +2756,16 @@ 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:2607: checking for $ac_word" >&5 +echo "configure:2760: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$YODL2TXT"; then ac_cv_prog_YODL2TXT="$YODL2TXT" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_YODL2TXT="$ac_prog" @@ -2663,7 +2817,7 @@ test -n "$YODL2TXT" || YODL2TXT="-echo no yodl" ## The GUILE_FLAGS macro. ## First, let's just see if we can find Guile at all. echo $ac_n "checking for Guile""... $ac_c" 1>&6 -echo "configure:2667: checking for Guile" >&5 +echo "configure:2821: checking for Guile" >&5 guile-config link > /dev/null || { echo "configure: cannot find guile-config; is Guile installed?" 1>&2 exit 1 @@ -2675,7 +2829,7 @@ echo "configure:2667: checking for Guile" >&5 echo "$ac_t""yes" 1>&6 echo $ac_n "checking for gh_scm2doubles in -lguile""... $ac_c" 1>&6 -echo "configure:2679: checking for gh_scm2doubles in -lguile" >&5 +echo "configure:2833: checking for gh_scm2doubles in -lguile" >&5 ac_lib_var=`echo guile'_'gh_scm2doubles | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -2683,7 +2837,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lguile $GUILE_LDFLAGS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest; then +if { (eval echo configure:2855: \"$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 @@ -2731,7 +2885,7 @@ fi echo $ac_n "checking for 8-bit clean memcmp""... $ac_c" 1>&6 -echo "configure:2735: checking for 8-bit clean memcmp" >&5 +echo "configure:2889: 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 @@ -2739,7 +2893,7 @@ else ac_cv_func_memcmp_clean=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2910: \"$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 @@ -2767,15 +2921,15 @@ fi fi echo "$ac_t""$ac_cv_func_memcmp_clean" 1>&6 -test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.o" +test $ac_cv_func_memcmp_clean = no && LIBOBJS="$LIBOBJS memcmp.${ac_objext}" echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:2774: checking for vprintf" >&5 +echo "configure:2928: 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; then +if { (eval echo configure:2959: \"$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 @@ -2825,12 +2979,12 @@ fi if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:2829: checking for _doprnt" >&5 +echo "configure:2983: 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; then +if { (eval echo configure:3014: \"$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 @@ -2883,12 +3037,12 @@ fi for ac_func in memmem snprintf vsnprintf gettext do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2887: checking for $ac_func" >&5 +echo "configure:3041: 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; then +if { (eval echo configure:3072: \"$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 @@ -2953,15 +3107,16 @@ 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:2957: checking for $ac_word" >&5 +echo "configure:3111: 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 if test -n "$MAKEINFO"; then ac_cv_prog_MAKEINFO="$MAKEINFO" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" - for ac_dir in $PATH; do + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_MAKEINFO="$ac_prog" @@ -2994,7 +3149,7 @@ test -n "$MAKEINFO" || MAKEINFO="error" echo $ac_n "checking Checking TFM directory""... $ac_c" 1>&6 -echo "configure:2998: checking Checking TFM directory" >&5 +echo "configure:3153: checking Checking TFM directory" >&5 CMR10=`kpsewhich tfm cmr10.tfm` TEX_TFMDIR=`dirname $CMR10` echo "$ac_t""$TEX_TFMDIR" 1>&6 @@ -3024,7 +3179,7 @@ EOF # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. (set) 2>&1 | - case `(ac_space=' '; set) 2>&1` in + case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote substitution # turns \\\\ into \\, and sed turns \\ into \). @@ -3091,7 +3246,7 @@ do echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.12" + echo "$CONFIG_STATUS generated by autoconf version 2.13" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; @@ -3110,9 +3265,11 @@ sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF $ac_vpsub $extrasub +s%@SHELL@%$SHELL%g s%@CFLAGS@%$CFLAGS%g s%@CPPFLAGS@%$CPPFLAGS%g s%@CXXFLAGS@%$CXXFLAGS%g +s%@FFLAGS@%$FFLAGS%g s%@DEFS@%$DEFS%g s%@LDFLAGS@%$LDFLAGS%g s%@LIBS@%$LIBS%g diff --git a/flower/include/cursor.hh b/flower/include/cursor.hh deleted file mode 100644 index a7e5a1836d..0000000000 --- a/flower/include/cursor.hh +++ /dev/null @@ -1,117 +0,0 @@ -// cursor.hh - -#ifndef __CURSOR_HH -#define __CURSOR_HH - -#include "link.hh" -template class List; - -/** iterator to List. - add and insert extend the list - items are always stored as copies in List, but: - List : copies of String stored - List : copies of String* stored! - - the operations add and insert actually delegate the work to List class. - */ -template -class Cursor -{ -public: - /** create cursor, set at top. The const part isn't true, actually, #list# - surely isn't const, but I get tired of the warning messages. */ - Cursor (const List& list, Link* pointer = 0); - Cursor (const Cursor& cursor); - - T& thing(); - - /// return current T - T& operator *() { return thing(); } - operator T() { return thing(); } - Cursor operator =(const Cursor& c); - - /// make cursor with #no# items back - Cursor operator -(int no) const; - - /// make cursor with #no# items further - Cursor operator +(int no) const; - int operator -(Cursor op) const; - Cursor operator -=(int); - Cursor operator +=(int); - /// move one down - void next(); - /// move one up. - void previous(); - /// return current and move one down - Cursor operator ++(int); - - /// return current and move one up - Cursor operator --(int); - - /// point to link? - bool ok() const; - - /// ++ items left? - bool forward() const; - - /// -- items left? - bool backward() const; - - /** put (copy) after me in List. - analogously to editor. ok() interpreted as at end - of line. - - PRE: !ok, POST: added to bottom() - - PRE: ok, POST: added after me - - cursor points to same object, cursor.next() is newly added - object. - */ - void add (T const & thing); - - /** put (copy) before me in List. - analogously to editor. ok() interpreted as at begin of - line. - - PRE: !ok, POST: add to top() - - PRE: ok, POST: add before me - - cursor points to same object, cursor.previous() - is newly inserted object. - */ - - void insert (T const & thing); - /// - void backspace(); - - /// - void del(); - - /// access the list this came from - List* list_l() const ; - Link* pointer(); - static int compare (Cursor a,Cursorb) { return a-b; } - -private: - - Link* pointer_; - List* list_l_; -}; - - -/* - comparisons. - */ -#include "compare.hh" - - -TEMPLATE_INSTANTIATE_COMPARE(Cursor, Cursor::compare, template); - -#include "pcursor.hh" -#include "list.hh" -#include "cursor.icc" -#include "iterate.hh" - -#endif // CURSOR_HH diff --git a/flower/include/cursor.icc b/flower/include/cursor.icc deleted file mode 100644 index 90e64a608f..0000000000 --- a/flower/include/cursor.icc +++ /dev/null @@ -1,142 +0,0 @@ -/* - cursor.icc -- implement Cursor - - source file of the Flower Library - - (c) 1997--1999 Han-Wen Nienhuys - Jan Nieuwenhuizen -*/ - - -#ifndef CURSOR_ICC -#define CURSOR_ICC - - - -#include - -/** - Initialisation of Cursor.. Set pointer and list fields. - */ -template -inline -Cursor::Cursor (const List & list, Link* p ) -{ - list_l_ = (List *) &list; // damn const - if (list.size()) - pointer_ = p ? p : list.top_; - else - pointer_ = p; -} - - - -template -inline -Cursor::Cursor (const Cursor& cursor) -{ - list_l_= cursor.list_l_; - pointer_ = cursor.pointer_; -} - -template -inline T& -Cursor::thing() -{ - assert (pointer_); - return pointer_->thing(); -} - -template -Cursor -Cursor::operator =(const Cursor& c) -{ - assert (list_l_ == c.list_l_); - pointer_ = c.pointer_; - return *this; -} - -template -inline void -Cursor::add (const T& th) -{ - list_l_->add (th, *this); -} - -template -inline void -Cursor::insert (const T& th) -{ - list_l_->insert (th, *this); -} - -template -inline List * -Cursor::list_l() const -{ - return list_l_; // ugh! -} - -template -inline Link* -Cursor::pointer() -{ - return pointer_; -} - -template -inline bool -Cursor::backward() const -{ - return (pointer_ != 0); -} - -template -inline bool -Cursor::forward() const -{ - return (pointer_ != 0); -} - -template -inline bool -Cursor::ok() const -{ - return (pointer_ != 0); -} -template -inline void -Cursor::next() -{ - assert (pointer_); - pointer_ = pointer_->next(); -} - -template -inline Cursor -Cursor::operator ++(int) -{ - Cursor r (*this); - next(); - return r; -} - -template -inline void -Cursor::previous() -{ - assert (pointer_); - pointer_ = pointer_->previous(); -} - -template -inline Cursor -Cursor::operator --(int) -{ - Cursor r (*this); - previous(); - return r; -} - - -#endif // CURSOR_ICC diff --git a/flower/include/cursor.tcc b/flower/include/cursor.tcc deleted file mode 100644 index 42b0c52f3c..0000000000 --- a/flower/include/cursor.tcc +++ /dev/null @@ -1,111 +0,0 @@ -#ifndef CURSOR_CC -#define CURSOR_CC - -#include "cursor.hh" -#include - -template -void -Cursor::backspace() -{ - Cursor c (*this); - if (c.ok()) - c--; - list_l_->remove (*this); -} - -template -void -Cursor::del() -{ - Cursor c (*this); - if (c.ok()) - c++; - list_l_->remove (*this); - *this = c; -} - - -template -Cursor -Cursor::operator -=(int j) -{ - while (j--) - (*this)--; - return *this; -} -template -Cursor -Cursor::operator +=(int j) -{ - while (j++) - (*this)++; - return *this; -} - -template -Cursor -Cursor::operator +(int i) const -{ - Cursor r = *this; - - if (i<0) - return r -(-i); - - while (i--) - r++; - - return r; -} - -template -Cursor -Cursor::operator -(int i) const -{ - Cursor r = *this; - if (i<0) - return r +(-i); - - while (i--) - r--; - - return r; -} -/* - warning: can't use Cursor::operator == (Cursor), - since it uses Cursor::operator-(Cursor) - */ -template -int -Cursor::operator-(Cursor rhs) const -{ - assert (rhs.list_l_ == list_l_); - int dif = 0; - - // search from *this on further up (positive difference) - Cursor c (*this); - while (c.ok() && c.pointer_ != rhs.pointer_) - { - c--; - dif++; - } - - if (c.ok()) - goto gotcha; // so, sue me. - - // search in direction of bottom. (negative diff) - dif =0; - c=*this; - while (c.ok() && c.pointer_ !=rhs.pointer_) - { - dif --; - c++; - } - assert (c.ok()); - - gotcha: - assert ((*this - dif).pointer_ == c.pointer_); - return dif; -} - -#endif diff --git a/flower/include/link.hh b/flower/include/link.hh deleted file mode 100644 index 5fce0ac915..0000000000 --- a/flower/include/link.hh +++ /dev/null @@ -1,38 +0,0 @@ -// link.hh - -#ifndef __LINK_HH -#define __LINK_HH -template -class List; - - -/// class for List -template -class Link -{ -// friend class Cursor; -public: - Link (T const & thing); - - Link* previous(); - Link* next(); - - /// put new Link item after me in list - void add (T const & thing); - /// put new Link item before me in list - void insert (T const & thing); - void remove (List &l); - - T& thing(); - void OK() const; -private: - Link (Link* previous, Link* next, T const & thing); - - T thing_; - Link* previous_; - Link* next_; -}; - -#include "link.icc" - -#endif // __LINK_HH // diff --git a/flower/include/link.icc b/flower/include/link.icc deleted file mode 100644 index 4b3c886aad..0000000000 --- a/flower/include/link.icc +++ /dev/null @@ -1,104 +0,0 @@ -// link.inl -*-c++-*- -#ifndef LINK_INL -#define LINK_INL -#include -template -inline -void -Link::OK() const -{ -#ifndef NDEBUG - if (previous_) - { - assert (previous_->next_ == this); - } - if (next_) - { - assert (next_->previous_ == this); - } -#endif -} - -template -inline -Link::Link (const T& thing) : - thing_(thing) -{ - previous_ = next_ = 0; -} - -template -inline -Link::Link (Link* previous, Link* next, const T& thing) : - thing_(thing) -{ - previous_ = previous; - next_ = next; -} - -template -inline -Link* -Link::next() -{ - return next_; -} - -template -inline -Link* -Link::previous() -{ - return previous_; -} - -template -inline -void -Link::add (const T& thing) -{ - - Link* l = new Link(this, next_, thing); - if (next_) - next_->previous_ = l; - next_ = l; -} - -template -inline void -Link::insert (const T& thing) -{ - // Link* l = new Link(next_, this, thing); - // bugfix hwn 16/9/96 - Link* l = new Link(previous_, this, thing); - if (previous_) - previous_->next_ = l; - previous_ = l; -} - -/* - don't forget to adjust #l#'s top_ and bottom_. - */ -template -inline void -Link::remove (List &l) -{ - if (previous_) - previous_->next_ = next_; - else - l.top_ = next_; - - if (next_) - next_->previous_ = previous_; - else - l.bottom_ = previous_; -} - -template -inline -T& -Link::thing() -{ - return thing_; -} -#endif diff --git a/flower/include/list.hh b/flower/include/list.hh deleted file mode 100644 index 9be31601a6..0000000000 --- a/flower/include/list.hh +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef __LIST_HH -#define __LIST_HH - -class ostream; -template class Cursor; -template class Link; - -/** all-purpose doubly linked list. - - List can be seen as all items written down on paper, - from top to bottom - - class Cursor is used to extend List - - items are always stored as copies in List, but: - #List# : copies of #String# stored - #List# : copies of #String*# stored! - (do not use, use \Ref{Link_list} ## instead.) - - {\bf note:} - retrieving "invalid" cursors, i.e. - #top()/bottom ()# from empty list, #find ()# without success, - results in a nonvalid Cursor (#!ok()#) - - - INVARIANTEN! -*/ - -template -class List -{ -public: - List (List const&src); - - /// construct empty list - List(); - virtual ~List(); - - int size() const; - - Cursor bottom() const; // const sucks. - Cursor top() const; - - void OK() const; // check list - void junk_links(); - -protected: - friend class Cursor; - friend class Link; - - void concatenate (List const &s); - - /** make *this empty. - - POST: - size == 0 - - WARNING: - contents lost, and not deleted. - */ - void set_empty(); - - void add (T const & thing, Cursor &after_me); - - /// put thing before #before_me# - void insert (T const & thing, Cursor &before_me); - - /** Remove link pointed to by me. Destructor of contents called - (nop for pointers) - - POST - none; - - - WARNING: do not use #me# after calling - */ - void remove (Cursor me); - - - /* ************** */ - - int size_; - Link* top_; - Link* bottom_; -}; - -#include "list.icc" -#include "cursor.hh" - -#endif // __LIST_HH // - - - - diff --git a/flower/include/list.icc b/flower/include/list.icc deleted file mode 100644 index 3faf315628..0000000000 --- a/flower/include/list.icc +++ /dev/null @@ -1,67 +0,0 @@ -/* - list.icc -- implement List inline functions - - source file of the Flower Library - - (c) 1996, 1997--1999 - Jan Nieuwenhuizen - Han-Wen Nienhuys -*/ - - -#ifndef LIST_ICC -#define LIST_ICC - -template -inline -List::List() -{ - set_empty(); -} - -template -inline void -List::set_empty() -{ - top_ = bottom_ = 0; - size_ = 0; -} - -template -inline void -List::remove (Cursor me) -{ - if (me.ok()) - { - Link *lp = me.pointer(); - lp->remove (*this); - delete lp; - size_--; - } -} - -template -inline int -List::size() const -{ - return size_; -} - -template -inline Cursor -List::top() const -{ - return Cursor(*this, top_); -} - - -template -inline Cursor -List::bottom() const -{ - return Cursor(*this, bottom_); -} - - -#endif - diff --git a/flower/include/list.tcc b/flower/include/list.tcc deleted file mode 100644 index 3c66774faf..0000000000 --- a/flower/include/list.tcc +++ /dev/null @@ -1,151 +0,0 @@ -/* - list.tcc -- implement List - - source file of the Flower Library - - (c) 1997--1999 Han-Wen Nienhuys -*/ -#ifndef LIST_CC -#define LIST_CC - - -#include "list.hh" - -template -List::List (List const&src) -{ - set_empty(); - // probably el stupido - for (Cursor c (src); c.ok(); c++) - bottom().add (c); -} - -template -void -List::OK() const -{ - int i = size_; - Link *lp = top_; - while (i--) - { - assert (lp); - lp->OK(); - lp = lp->next(); - } - assert (!lp); - i = size_; - lp = bottom_; - while (i--) - { - assert (lp); - lp->OK(); - lp = lp->previous(); - } - assert (!lp); -} - -template -void -List::junk_links() -{ - Cursor c (*this); - while (c.ok()) - c.del(); -} - -template -List::~List() -{ - junk_links(); -} - -/** - - add after after_me. - - Procedure: - \begin{itemize} - \item if #after_me# is #ok()#, add after #after_me#, else - \item if list !empty simply add to bottom, else - \item list is empty: create first \Ref{Link} and initialize - #bottom_# and #top_#. - \end{itemize} -*/ -template -void -List::add (T const & thing, Cursor &after_me) -{ - if (!size_) { // not much choice if list is empty - bottom_ = top_ = new Link(thing); - if (!after_me.ok()) - after_me = bottom(); - } - else { // add at aprioprate place - if (!after_me.ok()) - after_me = bottom(); - Link *p =after_me.pointer(); - p->add (thing); - if (p == bottom_) // adjust bottom_ if necessary. - bottom_ = p->next(); - } - - size_++; -} - -template -void -List::insert (T const & thing, Cursor &before_me) -{ - if (!size_) - { - bottom_ = top_ = new Link(thing); - if (!before_me.ok()) - before_me = top(); - - } - else - { - if (!before_me.ok()) - before_me = top(); - - Link *p = before_me.pointer() ; - - p->insert (thing); - if (p == top_) - top_ = p->previous(); - } - - size_++; -} - - -template -void -List::concatenate (List const&s) -{ - Cursor b (bottom()); - for (Cursor c (s); c.ok(); c++) - { - b.add (c); - b++; - } -} - -#ifndef __CYGWIN32__ // ugh should check for some gcc/egcs version - -// instantiate a template: explicit instantiation. -#define LIST_INSTANTIATE(a) template class List; \ - template class Cursor; template class Link - -#else - -#define LIST_INSTANTIATE(T)\ - static void force_list_members ()\ - {\ - List bla;\ - bla.top().add ((void*)0);\ - } -#endif - -#endif - diff --git a/flower/include/pcursor.hh b/flower/include/pcursor.hh deleted file mode 100644 index 9e7959f8a1..0000000000 --- a/flower/include/pcursor.hh +++ /dev/null @@ -1,71 +0,0 @@ -/* - pcursor.hh -- part of flowerlib - - (c) 1996 Han-Wen Nienhuys&Jan Nieuwenhuizen -*/ - -#ifndef PCURSOR_HH -#define PCURSOR_HH - -#include "plist.hh" -#include "cursor.hh" - -/** cursor to go with Link_list. - don't create Link_list's. - This cursor is just an interface class for Cursor. It takes care of the - appropriate type casts - */ -template -class PCursor : private Cursor { - friend class Pointer_list; - - /// delete contents - void junk(); -public: - Cursor::ok; - Cursor::del; - Cursor::backspace; - Cursor::next; - Cursor::previous; - - T remove_p() { - T p = ptr(); - Cursor::del(); - return p; - } - T remove_prev_p() { - assert (ok()); - (*this)--; - return remove_p(); - } - - Link_list *list_l() { return (Link_list *)Cursor::list_l (); } - PCursor operator++(int) { return Cursor::operator++(0);} - PCursor operator--(int) { return Cursor::operator--(0); } - PCursor operator+=(int i) { return Cursor::operator+=(i);} - PCursor operator-=(int i) { return Cursor::operator-=(i); } - PCursor operator -(int no) const { return Cursor::operator-(no);} - int operator -(PCursor op) const { return Cursor::operator-(op);} - PCursor operator +(int no) const {return Cursor::operator+(no);} - PCursor (const Link_list & l) : Cursor (l) {} - PCursor (const Cursor& cursor) : Cursor(cursor) { } - void* vptr() const { return *((Cursor &) *this); } - - // should return T& ? - T ptr() const { return (T) vptr (); } - T operator ->() const { return ptr(); } - operator T() { return ptr(); } - T operator *() { return ptr(); } - void add (T const & p) { Cursor::add ((void*) p); } - void insert (T const & p) { Cursor::insert ((void*) p);} - static int compare (PCursor a,PCursorb) { - return Cursor::compare (a,b); - } -}; - - - -#include "compare.hh" -TEMPLATE_INSTANTIATE_COMPARE(PCursor, PCursor::compare, template); - -#endif diff --git a/flower/include/pcursor.tcc b/flower/include/pcursor.tcc deleted file mode 100644 index a1f706b8a2..0000000000 --- a/flower/include/pcursor.tcc +++ /dev/null @@ -1,16 +0,0 @@ -#include "pcursor.hh" - -template -void -PCursor::junk() -{ -#if !defined (NDEBUG) && defined (PARANOID) - list_l()->OK(); -#endif - - delete ptr(); -#if !defined (NDEBUG)&&defined (PARANOID) - thing() = 0; - list_l()->OK(); -#endif -} diff --git a/flower/include/plist.hh b/flower/include/plist.hh deleted file mode 100644 index 03432c927e..0000000000 --- a/flower/include/plist.hh +++ /dev/null @@ -1,76 +0,0 @@ -/* - list.hh -- part of flowerlib - - (c) 1996 Han-Wen Nienhuys & Jan Nieuwenhuizen -*/ - -#ifndef PLIST_HH -#define PLIST_HH - -#include "list.hh" - -/** - A list of pointers. - - Use for list of pointers, e.g. Link_list. - This class does no deletion of the pointers, but it knows how to - copy itself (shallow copy). We could have derived it from List, - but this design saves a lot of code dup; for all Link_lists in the - program only one parent List is instantiated. - */ -template -class Link_list : public List -{ -public: - PCursor top() const{ - return PCursor (List::top()); - } - PCursor bottom() const { - return PCursor (List::bottom()); - } - PCursor find (T) const; - void concatenate (Link_list const &s) { List::concatenate (s); } - - Link_list() {} -}; - -/** - - Link_list which deletes pointers given to it. - - NOTE: - - The copy constructor doesn't do what you'd want: - Since T might have a virtual ctor, we don't try to do a - - new T(**cursor) - - You have to copy this yourself, or use the macro Link_list__copy - - TODO - operator =() - */ -template -class Pointer_list : public Link_list { - -public: - void junk(); - Pointer_list (Pointer_list const& l) : Link_list (l) { set_empty(); } - Pointer_list() { } - ~Pointer_list() { junk (); } -}; - -#define Pointer_list__copy(T, to, from, op) \ -for (PCursor _pc_(from); _pc_.ok(); _pc_++)\ -to.bottom().add (_pc_->op)\ -\ - - -template -void PL_copy (Pointer_list &dst,Pointer_list const&src); - - - -#include "plist.icc" - -#endif diff --git a/flower/include/plist.icc b/flower/include/plist.icc deleted file mode 100644 index b8d3a48091..0000000000 --- a/flower/include/plist.icc +++ /dev/null @@ -1,33 +0,0 @@ -/* -*-c++-*- - plist.icc -- part of flowerlib - - (c) 1996, 1997--1999 Han-Wen Nienhuys& Jan Nieuwenhuizen -*/ - -#ifndef PLIST_INL -#define PLIST_INL - -template -inline void -PL_copy (Pointer_list &to, Pointer_list const&src) -{ - for (PCursor pc (src); pc.ok(); pc++) - { - T *q = pc; - T *p=new T(*q) ; - to.bottom().add (p); - } -} - - -template -inline PCursor -Link_list::find (T what) const -{ - PCursor i (*this); - for (; i.ok(); i++) - if (i.ptr() == what) - break; - return i; -} -#endif diff --git a/flower/include/plist.tcc b/flower/include/plist.tcc deleted file mode 100644 index 24db16f85d..0000000000 --- a/flower/include/plist.tcc +++ /dev/null @@ -1,42 +0,0 @@ -/* - plist.tcc -- implement Pointer_list - - source file of the Flower Library - - (c) 1997--1999 Han-Wen Nienhuys -*/ - - -#ifndef PLIST_TCC -#define PLIST_TCC - -#include "plist.hh" - -template -void -Pointer_list::junk() -{ - PCursor c (*this); - while (c.ok()) - { - delete c.remove_p(); - } -} - -#ifndef __CYGWIN32__ // ugh should check for some gcc/egcs version - -#define POINTERLIST_INSTANTIATE(a) template class Pointer_list;\ - template class PCursor; - -#else - -#define POINTERLIST_INSTANTIATE(T)\ - static void force_junk##T ()\ - {\ - Pointer_list bla;\ - bla.junk ();\ - } - -#endif - -#endif // PLIST_TCC diff --git a/input/bugs/Overture.ly b/input/bugs/Overture.ly index c7267f3ca2..1968b768cf 100644 --- a/input/bugs/Overture.ly +++ b/input/bugs/Overture.ly @@ -4,7 +4,7 @@ composer = "Johann Christoph Faber"; piece = "1. Overture"; } -\version "1.0.16"; +\version "1.0.19"; global=\notes{ \time 2/2; diff --git a/input/bugs/bar-space.ly b/input/bugs/bar-space.ly index ab96d52a77..e895cb50aa 100644 --- a/input/bugs/bar-space.ly +++ b/input/bugs/bar-space.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; scales = \notes\transpose c''{ f2 f f f f f f f f f\break diff --git a/input/example-3.ly b/input/example-3.ly index 18ee3e4957..1fea3ac198 100644 --- a/input/example-3.ly +++ b/input/example-3.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; one = \notes\relative c{ c'' d e f diff --git a/input/just-friends.ly b/input/just-friends.ly index faf096639d..74d87dff77 100644 --- a/input/just-friends.ly +++ b/input/just-friends.ly @@ -33,7 +33,7 @@ of a certain tune (Jazz, Real Book, for example), like \context ChordNames \chords{ \property Score.chordInversion = 1 \property Score.barAtLineStart = 1 - \repeat 2 { + \repeat semi 2 { f1-maj f-maj f-7 bes-7 c-maj c-maj es es d-7 g-7 b2-7/fis e-7 a1-7\break @@ -57,4 +57,4 @@ of a certain tune (Jazz, Real Book, for example), like } } -\version "1.0.16"; +\version "1.0.18"; diff --git a/input/keys.ly b/input/keys.ly index 41733051b0..d931c9bf97 100644 --- a/input/keys.ly +++ b/input/keys.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; blah = \notes { diff --git a/input/kortjakje.ly b/input/kortjakje.ly index 01512d288e..09a1db7e40 100644 --- a/input/kortjakje.ly +++ b/input/kortjakje.ly @@ -10,7 +10,7 @@ copyright = "public domain"; Tested Features: example file with comments %} -\version "1.0.16"; +\version "1.0.19"; % the % is a comment. diff --git a/input/opus-130.ly b/input/opus-130.ly index d8763c7ca4..4b43254c49 100644 --- a/input/opus-130.ly +++ b/input/opus-130.ly @@ -24,8 +24,10 @@ global = \notes { \key g; \time 3/8; < - \dynamics - \repeat 2 { s4.*8 } + \dynamics + s4. * 8 + s4. * 8 + % \repeat semi 2 { s4.*8 } > } diff --git a/input/part.ly b/input/part.ly index c6921626a3..904e05f0d8 100644 --- a/input/part.ly +++ b/input/part.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; part = \notes { c-1 c c c r1*3 diff --git a/input/pedal.ly b/input/pedal.ly index 4a570badd2..1dcb3eb6a3 100644 --- a/input/pedal.ly +++ b/input/pedal.ly @@ -28,7 +28,7 @@ % \lbheel \lbheel \lfheel \lftoe % \rbheel \rbtoe \rfheel \rftoe -\version "1.0.16"; +\version "1.0.19"; \score{ \notes { diff --git a/input/praeludium-fuga-E.ly b/input/praeludium-fuga-E.ly index 0ec40baa3f..5fd8dfff59 100644 --- a/input/praeludium-fuga-E.ly +++ b/input/praeludium-fuga-E.ly @@ -23,7 +23,7 @@ * organ staff... %} -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/rhythm.ly b/input/rhythm.ly index 5e159280bf..4b20912646 100644 --- a/input/rhythm.ly +++ b/input/rhythm.ly @@ -7,7 +7,7 @@ TestedFeatures = "multiple meters, beaming, unsynced bars, userdefd engravers"; -\version "1.0.16"; +\version "1.0.19"; ritme = \notes\transpose c'' { \time 4/4; diff --git a/input/scales.ly b/input/scales.ly index f69f379188..8f130977aa 100644 --- a/input/scales.ly +++ b/input/scales.ly @@ -16,7 +16,7 @@ copyright = "public domain"; % scales with accents. % -\version "1.0.16"; +\version "1.0.19"; blah = \notes { \time 6/8; \transpose c { diff --git a/input/scripts.ly b/input/scripts.ly index 1d9333bb1e..bdd00db623 100644 --- a/input/scripts.ly +++ b/input/scripts.ly @@ -1,5 +1,5 @@ -\version "1.0.16"; +\version "1.0.19"; blah = \notes{ \transpose c'' { diff --git a/input/star-spangled-banner.ly b/input/star-spangled-banner.ly index 4cdf7f5837..4578d11e30 100644 --- a/input/star-spangled-banner.ly +++ b/input/star-spangled-banner.ly @@ -16,58 +16,57 @@ http://www.Arkkra.com/doc/star.ps $staff1_voice_1 = \notes { a8.()fis16 - \repeat 2 { d4 fis4 a4 d'2 fis'8. e'16 d'4 fis4 gis4 a2 a8 a8 + \repeat semi 2 { d4 fis4 a4 d'2 fis'8. e'16 d'4 fis4 gis4 a2 a8 a8 fis'4. e'8 d'4 cis'2 b8. cis'16 d'4 d'4 a4 } \alternative { { fis4 d4 a8. fis16 } { fis4 d4 fis'8. fis'16 } } fis'4 g'4 a'4 a'2 g'8 fis'8 e'4 fis'4 g'4 g'2 g'4 fis'4. e'8 d'4 cis'2 b8. cis'16 d'4 fis4 gis4 a2 a4 d'4 d'4 d'8()cis'8 b4 b4 b4 e'4 g'8 ()fis'8 e'8()d'8 - d'4~cis'4 a8. a16 d'4.~e'8 fis'8 g'8 a'2 d'8 e'8 fis'4. g'8 + d'4()cis'4 a8. a16 d'4.()e'8 fis'8 g'8 a'2 d'8 e'8 fis'4. g'8 e'4 d'2 s4 } $staff1_voice_2 = \notes { a8.()fis16 - \repeat 2 { a,4 d4 e4 d4~fis4 fis8. fis16 fis4 d4 d4 cis2 + \repeat semi 2 { a,4 d4 e4 d4 () fis4 fis8. fis16 fis4 d4 d4 cis2 e8 e8 a4. a8 a4 a2 a8. a16 a4 a4 a4 } \alternative { { fis4 d4 a8. fis16 } { fis4 d4 r4 } } a4 a4 d'4 d'2 a8 a8 cis'4 cis'4 cis'4 cis'2 a4 a4. a8 a4 a2 a8. a16 d4 d4 d4 cis2 e4 fis4 e4 d4 d4 d4 dis4 g4 g8()dis8 e4 e2 - e8. e16 d4.~a8 a8 a8 a2 g8 g8 a4. a8 g4 fis2 s4 + e8. e16 d4.()a8 a8 a8 a2 g8 g8 a4. a8 g4 fis2 s4 } $staff2_voice_1 = \notes { r4 - \repeat 2 { fis4 a4 a4 b2 cis'8. cis'16 b4 b4 b4 a2 cis'8 cis'8 + \repeat semi 2 { fis4 a4 a4 b2 cis'8. cis'16 b4 b4 b4 a2 cis'8 cis'8 d'4. cis'8 d'4 e'2 e'8. e'16 d'4 d'4 a4 } \alternative { { fis4 d4 r4 } { fis4 d4 r4 } } d4 e4 fis4 fis'2 e'8 d'8 e'4 e'4 e'4 e'2 cis'4 d'4. cis'8 d'4 e'2 e'8. e'16 a4 a4 e4 e2 cis'4 a4 a4 a4 g4 g4 b4 b4 b4 b4 a2 - cis'8. cis'16 a4.~cis'8 d'8 d'8 d'2 d'8 d'8 d'4. d'8 cis'4 + cis'8. cis'16 a4.()cis'8 d'8 d'8 d'2 d'8 d'8 d'4. d'8 cis'4 a2 s4 } $staff2_voice_2 = \notes { r4 - \repeat 2 { d4 d4 cis4 b,2 ais,8. ais,16 b,4 b,4 e4 a,2 a8 a8 + \repeat semi 2 { d4 d4 cis4 b,2 ais,8. ais,16 b,4 b,4 e4 a,2 a8 a8 d4. e8 fis8 g8 a2 g8. g16 fis4 fis4 a4 } \alternative { { fis4 d4 r4 } { fis4 d4 r4 } } d4 d4 d4 d2 d8 d8 a4 a4 a4 a2 a,4 d4. e8 fis8 g8 a2 g8. g16 fis4 d4 e4 a,2 a4 d4 e4 fis4 g4 g4 fis4 e4 e8()fis8 g8()gis8 a2 - g8. g16 fis4.~a,8 d8 e8 fis2 b8 b8 a4. a8 a,4 d2 s4 + g8. g16 fis4.()a,8 d8 e8 fis2 b8 b8 a4. a8 a,4 d2 s4 } text = \lyrics -\context LyricVoice { Oh4 __ \repeat 2 { } - \alternative < - { say. can you see,2 by8. the16 dawn's4 ear- ly light2 What8 + { Oh4 __ \repeat fold 2 { } + \alternative { + { say.4 can you | see,2 by8. the16 dawn's4 ear- ly light2 What8 so8 proud-4. ly8 we4 hailed,2 At8. the16 twi-4 light's last gleam- ing. Whose8. broad16 } - \context LyricVoice = LVB { stripes4 and bright stars,2 through8. the16 per-4 il- ous fight,2 O'er8 the8 ram-4. parts8 we4 watched,2 were8. so16 gal-4 lant- ly } - > + } stream-4 ing. And8. the16 rock-4 ets' red glare,2 the8 bombs8 burst-4 ing in air,2 gave4 proof4. through8 the4 night2 that8. our16 flag4 was still there,2 Oh4 say, does that star- span- @@ -95,8 +94,9 @@ global = \notes { \notes \transpose c'' {\voiceone \$staff1_voice_1 } \notes \transpose c'' {\voicetwo \$staff1_voice_2 } > - \context Lyrics = one \text - \context Staff=staffB < + \context LyricVoice \text + \context Staff=staffB < + \global \clef bass; \property Staff.voltaVisibility = "0" @@ -112,11 +112,10 @@ global = \notes { \GrandStaffContext \accepts "Lyrics"; } - \translator { - \BarNumberingStaffContext - } +% castingalgorithm = \Wordwrap; } + \midi {} } -\version "1.0.16"; +\version "1.0.18"; diff --git a/input/test/abbrev.ly b/input/test/abbrev.ly index 864cdc4392..0e41f5b247 100644 --- a/input/test/abbrev.ly +++ b/input/test/abbrev.ly @@ -1,5 +1,5 @@ -\version "1.0.16"; +\version "1.0.19"; \score{ \notes \transpose c'''{ \stemup diff --git a/input/test/alphabet.ly b/input/test/alphabet.ly index 1d0b4267f4..7df84b510b 100644 --- a/input/test/alphabet.ly +++ b/input/test/alphabet.ly @@ -121,4 +121,4 @@ xxx\break } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/auto-staff-switch.ly b/input/test/auto-staff-switch.ly index 09f6393cd2..c0e8e2b567 100644 --- a/input/test/auto-staff-switch.ly +++ b/input/test/auto-staff-switch.ly @@ -31,4 +31,4 @@ }} -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/bar-scripts.ly b/input/test/bar-scripts.ly index 8e49cd7e86..fd08429887 100644 --- a/input/test/bar-scripts.ly +++ b/input/test/bar-scripts.ly @@ -1,5 +1,5 @@ -\version "1.0.16"; +\version "1.0.19"; onestaff = \context Staff = foo\notes { \property Staff.instr = instr diff --git a/input/test/beam-chord.ly b/input/test/beam-chord.ly index 4d993f2665..7b5cb08c97 100644 --- a/input/test/beam-chord.ly +++ b/input/test/beam-chord.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; \score{ \notes\transpose c'{ diff --git a/input/test/beam-interstaff.ly b/input/test/beam-interstaff.ly index 570b34a4d8..660d86d902 100644 --- a/input/test/beam-interstaff.ly +++ b/input/test/beam-interstaff.ly @@ -30,4 +30,4 @@ } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/beam-isknee.ly b/input/test/beam-isknee.ly index e22598d245..ecaaab30c3 100644 --- a/input/test/beam-isknee.ly +++ b/input/test/beam-isknee.ly @@ -21,4 +21,4 @@ } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/beam-pos.ly b/input/test/beam-pos.ly index a3cdba917a..40f16d5634 100644 --- a/input/test/beam-pos.ly +++ b/input/test/beam-pos.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; \score{ \notes\transpose c''{ diff --git a/input/test/beams.ly b/input/test/beams.ly index 9816938c03..47ad0f5258 100644 --- a/input/test/beams.ly +++ b/input/test/beams.ly @@ -6,7 +6,7 @@ copyright = "PD"; TestedFeatures = "beams and beamflags"; } -\version "1.0.16"; +\version "1.0.19"; \score{ < diff --git a/input/test/broken.ly b/input/test/broken.ly index 9023a39b7d..93beafe9ae 100644 --- a/input/test/broken.ly +++ b/input/test/broken.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" + "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.16"; +\version "1.0.19"; shortlong = \notes{ c4()c( c c | diff --git a/input/test/chord-inversion.ly b/input/test/chord-inversion.ly index a5b1b330c5..443089d7f1 100644 --- a/input/test/chord-inversion.ly +++ b/input/test/chord-inversion.ly @@ -22,4 +22,4 @@ inversions = \notes\transpose c''\chords{ > } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/chord-table.ly b/input/test/chord-table.ly index c50102f93b..b2ad9409de 100644 --- a/input/test/chord-table.ly +++ b/input/test/chord-table.ly @@ -41,4 +41,4 @@ tab = \notes\transpose c'''\chords{ } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/chords.ly b/input/test/chords.ly index 76dea54093..0ace585d55 100644 --- a/input/test/chords.ly +++ b/input/test/chords.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; %{ Would this be acceptable/good enough/convenient for entry? diff --git a/input/test/clefs.ly b/input/test/clefs.ly index 08c8143910..2fb5476b47 100644 --- a/input/test/clefs.ly +++ b/input/test/clefs.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; \score { \notes{ diff --git a/input/test/collisions.ly b/input/test/collisions.ly index 89bb44d449..ce736b9845 100644 --- a/input/test/collisions.ly +++ b/input/test/collisions.ly @@ -5,7 +5,7 @@ enteredby = "HWN,JCN"; copyright = "public domain"; Tested = "test the Collision resolution "; } -\version "1.0.16"; +\version "1.0.19"; twovoice = \context Staff \notes < \context Voice=i { \stemdown c4 d e f g2~ g4 a [c8 d e f] c2| } diff --git a/input/test/defaultbars.ly b/input/test/defaultbars.ly index 4fc3dbbf8b..1bf7fb703d 100644 --- a/input/test/defaultbars.ly +++ b/input/test/defaultbars.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; \score { diff --git a/input/test/denneboom.ly b/input/test/denneboom.ly index f0b210ecbd..c3debaf4eb 100644 --- a/input/test/denneboom.ly +++ b/input/test/denneboom.ly @@ -7,7 +7,7 @@ TestedFeatures = "This file tests silly line shapes"; \include "paper20.ly" -\version "1.0.16"; +\version "1.0.19"; oden = \lyrics{ O8 | diff --git a/input/test/dotted-slur.ly b/input/test/dotted-slur.ly index 797b3f7024..bc799418d9 100644 --- a/input/test/dotted-slur.ly +++ b/input/test/dotted-slur.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; \score{ \notes{ diff --git a/input/test/extender.ly b/input/test/extender.ly index 19f3ade990..44aa7cfc6c 100644 --- a/input/test/extender.ly +++ b/input/test/extender.ly @@ -5,4 +5,4 @@ > } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/extra-staff.ly b/input/test/extra-staff.ly index 9c60a54135..03b2e26d45 100644 --- a/input/test/extra-staff.ly +++ b/input/test/extra-staff.ly @@ -42,4 +42,4 @@ extra-staff.ly: } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/find-quarts.ly b/input/test/find-quarts.ly index 24f56d82ef..84aee9850a 100644 --- a/input/test/find-quarts.ly +++ b/input/test/find-quarts.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; \score{ \notes \relative c { diff --git a/input/test/font-body.ly b/input/test/font-body.ly index 54c397c26b..a1991223ca 100644 --- a/input/test/font-body.ly +++ b/input/test/font-body.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; FontBody= \notes\transpose c''{ \bar "|:"; @@ -12,9 +12,9 @@ FontBody= \notes\transpose c''{ c4 g c' a' \bar ":|"; a\ppp-\upbow a\pp-\downbow a\p^\turn a\mp^\fermata | a\mf_\fermata a\f-\stopped a\ff-\open a\fff^\trill| - a\fp-\reverseturn a4.\sf a4.\sfz | a\fz % a\rf + a\fp-\reverseturn a4.\sf a4.\sfz | a4\fz % a\rf [c8-\prall c-\mordent] [a'-\prallmordent a'-\prallprall] - [c-\upprall a'-\downprall] [a' c] | + [c8-\upprall a'8-\downprall] [a' c] | [c \< d e f] [as' ges' f' e'] [cis' dis' c' des'] [cisis' disis' \! ceses' deses'] | \clef "bass"; diff --git a/input/test/font.ly b/input/test/font.ly index 48e6956caf..ad8610de64 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.0.16"; +\version "1.0.19"; \include "font-body.ly" \score{ diff --git a/input/test/font16.ly b/input/test/font16.ly index 62fc3e0d1c..afad636bdc 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.0.16"; +\version "1.0.19"; \include "paper16.ly" \include "font-body.ly" diff --git a/input/test/font20.ly b/input/test/font20.ly index b3bb7db4aa..abefe5b00d 100644 --- a/input/test/font20.ly +++ b/input/test/font20.ly @@ -17,5 +17,5 @@ TestedFeatures = gourlay_maxmeasures =5.; } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/gourlay.ly b/input/test/gourlay.ly index 23ffb2f685..cbb749af48 100644 --- a/input/test/gourlay.ly +++ b/input/test/gourlay.ly @@ -4,7 +4,7 @@ copyright = "PD"; TestedFeatures = "This file tests some nasty Gourlay spacings"; } -\version "1.0.16"; +\version "1.0.19"; %{ diff --git a/input/test/grace.ly b/input/test/grace.ly index 99421486de..966da1b65f 100644 --- a/input/test/grace.ly +++ b/input/test/grace.ly @@ -1,5 +1,5 @@ -\version "1.0.16"; +\version "1.0.19"; \score{ < diff --git a/input/test/hara-kiri.ly b/input/test/hara-kiri.ly index c60527d80e..ddbec394f6 100644 --- a/input/test/hara-kiri.ly +++ b/input/test/hara-kiri.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; toeter_i = \notes\relative c <{ \property Staff.instrument = "Toeters" diff --git a/input/test/incipit.ly b/input/test/incipit.ly index 3bf893b992..2c2cbb43f4 100644 --- a/input/test/incipit.ly +++ b/input/test/incipit.ly @@ -6,7 +6,7 @@ /Mats B %} -\version "1.0.16"; +\version "1.0.19"; incipit = \notes\relative c'{ diff --git a/input/test/keys.ly b/input/test/keys.ly index 47d7eff5b0..4eff652fb6 100644 --- a/input/test/keys.ly +++ b/input/test/keys.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; %{ test key itemv breaking diff --git a/input/test/knee.ly b/input/test/knee.ly index fb289ff63b..d0aa3c607a 100644 --- a/input/test/knee.ly +++ b/input/test/knee.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; \score{ \notes\relative c'{ [c16 \stemdown c'' \stemboth c,, d] diff --git a/input/test/mark.ly b/input/test/mark.ly index 692115ee7c..ad9848e6f0 100644 --- a/input/test/mark.ly +++ b/input/test/mark.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; global = \notes { s1 | \mark "A"; diff --git a/input/test/memory.ly b/input/test/memory.ly index edcd4f8092..eafe9308b6 100644 --- a/input/test/memory.ly +++ b/input/test/memory.ly @@ -11,5 +11,5 @@ bla = \notes { > \paper { Gourlay_maxmeaures = 2.; } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/multi-measure-rest.ly b/input/test/multi-measure-rest.ly index 4d42739c8d..1e2e3195ab 100644 --- a/input/test/multi-measure-rest.ly +++ b/input/test/multi-measure-rest.ly @@ -1,7 +1,7 @@ \score { \notes { \time 3/4; \key cis; R2. R2.*5 } \paper { - \translator { \ScoreContext SkipBars = 1; } + \translator { \ScoreContext skipBars = 1; } linewidth = -1.; } } diff --git a/input/test/multi-rest.ly b/input/test/multi-rest.ly index e0f1d41d0c..6672b777bb 100644 --- a/input/test/multi-rest.ly +++ b/input/test/multi-rest.ly @@ -1,10 +1,10 @@ -\version "1.0.16"; +\version "1.0.19"; voice_one = \notes\transpose c''{ \stemup R1 * 2 | f'4-. r r2 | R1 * 3 | f'4-. r r2 | R1 * 3 | es'4-. r r2 | r1 | - \property Score.SkipBars = 1 + \property Score.skipBars = 1 g4-. r r2 | g4-. r r2 | R1 * 5 | r2 r4 g4-. | @@ -15,7 +15,7 @@ voice_two = \notes R1 * 2 | f'4-. r r2 | R1 * 3 | f'4-. r r2 | R1 * 3 | es'4-. r r2 | r1 | - \property Score.SkipBars = 1 + \property Score.skipBars = 1 g4-. r r2 | g4-. r r2 | R1 * 5 | r2 r4 g4-. | diff --git a/input/test/noteheadstyle.ly b/input/test/noteheadstyle.ly index df11fef63f..946b97b13e 100644 --- a/input/test/noteheadstyle.ly +++ b/input/test/noteheadstyle.ly @@ -40,4 +40,4 @@ c4 c2 c8 c16 c16 c1 } } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/notemode-chords.ly b/input/test/notemode-chords.ly index 61afddc932..18ce9944b4 100644 --- a/input/test/notemode-chords.ly +++ b/input/test/notemode-chords.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; \score{ \notes \transpose c''{ diff --git a/input/test/orchestscore.ly b/input/test/orchestscore.ly index b440c6ff43..be7b99479c 100644 --- a/input/test/orchestscore.ly +++ b/input/test/orchestscore.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; m = \notes \relative c''{ c1 | c2 c | c c | c c | c c | c c | c c | c c | diff --git a/input/test/ossia.ly b/input/test/ossia.ly index ace006c6d6..9ffb5c8e75 100644 --- a/input/test/ossia.ly +++ b/input/test/ossia.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; \score { diff --git a/input/test/repeat.ly b/input/test/repeat.ly index cb1c8616be..96a82264ea 100644 --- a/input/test/repeat.ly +++ b/input/test/repeat.ly @@ -2,16 +2,16 @@ < \context Staff \notes\relative c'{ c d e f - \repeat 2 { g a b c } + \repeat semi 2 { g a b c } \alternative { { c b a g } { f e d c } } } \context Lyrics \lyrics { De eer- ste < { maat } { moet } > - \repeat 2 { } - \alternative < + \repeat fold 2 { } + \alternative { { en dan twee keer } { een koe- plet _ } - > + } en dan nog dit er ach- ter aan } > diff --git a/input/test/rest-collision.ly b/input/test/rest-collision.ly index 1b9d1e2a14..92b951c2ce 100644 --- a/input/test/rest-collision.ly +++ b/input/test/rest-collision.ly @@ -34,4 +34,4 @@ restsII = \context Staff \notes { } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/score-bar-scripts.ly b/input/test/score-bar-scripts.ly index 5761183b7d..cb5297585a 100644 --- a/input/test/score-bar-scripts.ly +++ b/input/test/score-bar-scripts.ly @@ -1,7 +1,7 @@ -\version "1.0.16"; +\version "1.0.19"; onestaff = \context Staff = foo\notes { \property Staff.instr = instr diff --git a/input/test/sleur.ly b/input/test/sleur.ly index 44671d8697..c290a07d74 100644 --- a/input/test/sleur.ly +++ b/input/test/sleur.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests Feta embedded slurs" + "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.16"; +\version "1.0.19"; shortlong = \notes{ c4()c( c c | diff --git a/input/test/slur-bug.ly b/input/test/slur-bug.ly index 8cd78c967f..921dfbffe2 100644 --- a/input/test/slur-bug.ly +++ b/input/test/slur-bug.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; % bug % excentric slur can't handle this ... diff --git a/input/test/slur-damping.ly b/input/test/slur-damping.ly index 420093a9a9..df6ac36c69 100644 --- a/input/test/slur-damping.ly +++ b/input/test/slur-damping.ly @@ -1,5 +1,5 @@ % test damping -\version "1.0.16"; +\version "1.0.19"; \score{ \notes\relative c'{ diff --git a/input/test/slur-interstaff.ly b/input/test/slur-interstaff.ly index 045f16626f..774855cacb 100644 --- a/input/test/slur-interstaff.ly +++ b/input/test/slur-interstaff.ly @@ -38,4 +38,4 @@ } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/slur-swap.ly b/input/test/slur-swap.ly index 88e3a44c35..17174563fd 100644 --- a/input/test/slur-swap.ly +++ b/input/test/slur-swap.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; % urg, the direction of the slur gets swapped! \score{ diff --git a/input/test/slurs.ly b/input/test/slurs.ly index d4673750a5..cf98f6088c 100644 --- a/input/test/slurs.ly +++ b/input/test/slurs.ly @@ -1,5 +1,5 @@ -\version "1.0.16"; +\version "1.0.19"; \score{ \notes\transpose c'{ diff --git a/input/test/spacing-2.ly b/input/test/spacing-2.ly index 5c6d15bb4b..6d1474439b 100644 --- a/input/test/spacing-2.ly +++ b/input/test/spacing-2.ly @@ -35,4 +35,4 @@ source = "Petits Preludes et Fugues. Urtext. Editions Henry Lemoine, Paris."; } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/spacing.ly b/input/test/spacing.ly index 5161bef5d2..a1f7a08613 100644 --- a/input/test/spacing.ly +++ b/input/test/spacing.ly @@ -6,7 +6,7 @@ copyright = "public domain"; TestedFeatures = "This file tests various spacings"; } -\version "1.0.16"; +\version "1.0.19"; multipart = \notes \relative c'{ \context StaffGroup < diff --git a/input/test/span-bars.ly b/input/test/span-bars.ly index b67017bc6f..4e917d1434 100644 --- a/input/test/span-bars.ly +++ b/input/test/span-bars.ly @@ -1,5 +1,5 @@ -\version "1.0.16"; +\version "1.0.19"; nt = \notes { c1 \break c1 c1 } stuff = \notes \relative c'' < \context Staff = stone { \nt } diff --git a/input/test/staff-margin.ly b/input/test/staff-margin.ly index d6e8fb863e..16d9f787f9 100644 --- a/input/test/staff-margin.ly +++ b/input/test/staff-margin.ly @@ -1,6 +1,6 @@ -\version "1.0.16"; +\version "1.0.19"; \score { diff --git a/input/test/staff-side-slur.ly b/input/test/staff-side-slur.ly index d0c57aa4b6..3ff8c6bbf0 100644 --- a/input/test/staff-side-slur.ly +++ b/input/test/staff-side-slur.ly @@ -18,4 +18,4 @@ } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/staff-size.fly b/input/test/staff-size.fly deleted file mode 100644 index 08c1bb8c41..0000000000 --- a/input/test/staff-size.fly +++ /dev/null @@ -1,12 +0,0 @@ -< \context Staff = VA { - \property Staff.staffLineLeading = "4" \property Staff.fontsize = "-2" - \property Voice . dynamicDir = \up \stemdown -\key gis; - c8 d [e f g a] b c \ff - } - -\context Staff = VB { \property Voice . dynamicDir = \down c,,4 \ff} - -> - -\version "1.0.16"; diff --git a/input/test/staff-size.ly b/input/test/staff-size.ly new file mode 100644 index 0000000000..b631184e6e --- /dev/null +++ b/input/test/staff-size.ly @@ -0,0 +1,17 @@ +\score { + \notes \relative c' < \context Voice { + \property Staff.staffLineLeading = "4" + \property Staff.fontSize = "-1" + \property Voice.fontSize = "-1" + + \property Voice . dynamicDir = \up \stemdown +%\key gis; + c8 d [e f g a] b c \ff + } + +\context Staff = VB { \property Voice . dynamicDir = \down c,,4 \ff c c c } + +> +\paper { linewidth = -1.; } +} +\version "1.0.19"; diff --git a/input/test/stem.ly b/input/test/stem.ly index 22b42ba004..fe722bde6a 100644 --- a/input/test/stem.ly +++ b/input/test/stem.ly @@ -8,7 +8,7 @@ of beams"; } -\version "1.0.16"; +\version "1.0.19"; beamintervals = \notes{ \time 7/4; diff --git a/input/test/tchaikovsky.ly b/input/test/tchaikovsky.ly index 3a6941eeea..2c5e64e254 100644 --- a/input/test/tchaikovsky.ly +++ b/input/test/tchaikovsky.ly @@ -7,7 +7,7 @@ enteredby = "Maarten Storm"; instrument= "Violoncello"; } -\version "1.0.16"; +\version "1.0.19"; % this is an example of extreme dynamics diff --git a/input/test/test-lyrics.ly b/input/test/test-lyrics.ly index e55ef647a5..4ff7dbad30 100644 --- a/input/test/test-lyrics.ly +++ b/input/test/test-lyrics.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; $somewhat_long = \lyrics{ \property Lyrics . textstyle = "roman" diff --git a/input/test/thumb.ly b/input/test/thumb.ly index f4baaeaf3c..e44462f764 100644 --- a/input/test/thumb.ly +++ b/input/test/thumb.ly @@ -7,7 +7,7 @@ % the thumb-script is used in cello music to indicate a note that should % be played with your thumb. -\version "1.0.16"; +\version "1.0.19"; \score { \notes \relative c'' { [ <)b_\thumb b'-3> diff --git a/input/test/tie-bug.ly b/input/test/tie-bug.ly index 35f2ede208..49876a236c 100644 --- a/input/test/tie-bug.ly +++ b/input/test/tie-bug.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; % middle tie is wrong diff --git a/input/test/tie.ly b/input/test/tie.ly index aa965b7706..322bd52837 100644 --- a/input/test/tie.ly +++ b/input/test/tie.ly @@ -1,4 +1,4 @@ -\version "1.0.16"; +\version "1.0.19"; tie = \notes\transpose c''{ diff --git a/input/test/title.ly b/input/test/title.ly index 6d53178990..d64234015d 100644 --- a/input/test/title.ly +++ b/input/test/title.ly @@ -10,7 +10,7 @@ source = "urtext"; instrument= "Instrument"; } -\version "1.0.16"; +\version "1.0.19"; \score{ \notes diff --git a/input/test/transposition.ly b/input/test/transposition.ly index 142eb64492..548dec1260 100644 --- a/input/test/transposition.ly +++ b/input/test/transposition.ly @@ -22,7 +22,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; vOne = \notes \relative c''{ \clef"violin"; diff --git a/input/test/tup.ly b/input/test/tup.ly index 3a8f9d0e16..f0f778ac7e 100644 --- a/input/test/tup.ly +++ b/input/test/tup.ly @@ -8,4 +8,4 @@ } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/updown.fly b/input/test/updown.fly index eba99a194a..259013260f 100644 --- a/input/test/updown.fly +++ b/input/test/updown.fly @@ -8,4 +8,4 @@ {\voicetwo c}> -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/vertical-align.ly b/input/test/vertical-align.ly index cb2664d47b..305dac6480 100644 --- a/input/test/vertical-align.ly +++ b/input/test/vertical-align.ly @@ -1,5 +1,5 @@ -\version "1.0.16"; +\version "1.0.19"; \score { \notes < diff --git a/input/test/vertical-text.ly b/input/test/vertical-text.ly index 49a22a946c..6b42433d09 100644 --- a/input/test/vertical-text.ly +++ b/input/test/vertical-text.ly @@ -15,4 +15,4 @@ } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/test/wtk-huh.ly b/input/test/wtk-huh.ly index 64c4d07a83..c36e11ffae 100644 --- a/input/test/wtk-huh.ly +++ b/input/test/wtk-huh.ly @@ -21,4 +21,4 @@ What's supposed to be demonstrated here? } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/input/tril.ly b/input/tril.ly index c6cf0f962e..08112efc12 100644 --- a/input/tril.ly +++ b/input/tril.ly @@ -5,7 +5,7 @@ TestedFeatures = "This file tests trills" + "(Feta definitively is not an abbreviation of Font-En-TjA)"; } -\version "1.0.16"; +\version "1.0.19"; \score{ \notes{ diff --git a/input/twinkle-pop.ly b/input/twinkle-pop.ly index 4c605f54ac..802246a3e6 100644 --- a/input/twinkle-pop.ly +++ b/input/twinkle-pop.ly @@ -11,7 +11,7 @@ copyright = "public domain"; Tested Features lyrics and chords %} -\version "1.0.16"; +\version "1.0.19"; melodie = \notes\relative c'' { \clef "violin"; diff --git a/input/twinkle.ly b/input/twinkle.ly index 069e82e830..3ab846f61c 100644 --- a/input/twinkle.ly +++ b/input/twinkle.ly @@ -19,7 +19,7 @@ traditional song in various languages. Tested Features: lyrics, interleaving lyrics and staffs, repeats %} -\version "1.0.16"; +\version "1.0.18"; melody = \notes \relative c'' { \clef violin; @@ -117,13 +117,13 @@ textiii = \lyrics{ \score{ < - \context Staff=i \repeat 2 < \global\melody > - \context Lyrics=top \repeat 2 {} \alternative < \tekst \texte > + \context Staff=i \repeat semi 2 < \global\melody > + \context Lyrics=top \context LyricVoice \repeat semi 2 {} \alternative < \tekst \texte > \context GrandStaff < - \context Staff=ii \repeat 2 < \global\melody > - \context Staff=iii \repeat 2 < \global\accompany > + \context Staff=ii \repeat semi 2 < \global\melody > + \context Staff=iii \repeat semi 2 < \global\accompany > > - \context Lyrics=bottom \repeat 3 {} + \context Lyrics =bottom \context LyricVoice \repeat semi 3 {} \alternative < \texti \textii \textiii > > \paper{ diff --git a/lib/binary-source-file.cc b/lib/binary-source-file.cc index e3f122d5ce..fbece6c65e 100644 --- a/lib/binary-source-file.cc +++ b/lib/binary-source-file.cc @@ -11,7 +11,6 @@ #include #include "proto.hh" -#include "plist.hh" #include "string.hh" #include "source-file.hh" #include "binary-source-file.hh" diff --git a/lib/duration.cc b/lib/duration.cc index 2c27bf17f1..bd9435fd82 100644 --- a/lib/duration.cc +++ b/lib/duration.cc @@ -5,11 +5,14 @@ (c) 1997--1999 Jan Nieuwenhuizen Han-Wen Nienhuys + + + UGH. Duration is broken. */ #include + #include "proto.hh" -#include "plist.hh" #include "string.hh" #include "source-file.hh" #include "source.hh" diff --git a/lib/source-file.cc b/lib/source-file.cc index 4a1a9a1c30..e6ea86aeb8 100644 --- a/lib/source-file.cc +++ b/lib/source-file.cc @@ -13,7 +13,6 @@ #include "string.hh" #include "proto.hh" -#include "plist.hh" #include "warn.hh" #include "thank-you-cygnus.hh" #include "source-file.hh" diff --git a/lily/abbreviation-beam-engraver.cc b/lily/abbreviation-beam-engraver.cc index 4b58b02be4..2313f13a44 100644 --- a/lily/abbreviation-beam-engraver.cc +++ b/lily/abbreviation-beam-engraver.cc @@ -1,3 +1,5 @@ +#if 0 + /* abbreviation-beam-engraver.cc -- implement Abbreviation_beam_engraver @@ -32,7 +34,7 @@ Abbreviation_beam_engraver::do_try_music (Music*r) if (!b) return false; - if (bool (abeam_p_) == bool (b->spantype_ == START)) + if (bool (abeam_p_) == bool (b->span_dir_ == START)) return false; Direction d = (!abeam_p_) ? LEFT : RIGHT; @@ -93,3 +95,5 @@ Abbreviation_beam_engraver::acknowledge_element (Score_element_info i) abeam_p_->add_stem (s); } + +#endif diff --git a/lily/all-font-metrics.cc b/lily/all-font-metrics.cc index 751e7ab15a..52e68e6a61 100644 --- a/lily/all-font-metrics.cc +++ b/lily/all-font-metrics.cc @@ -1,4 +1,4 @@ -#include "pointer.hh" + #include "main.hh" #include "all-fonts.hh" #include "debug.hh" @@ -8,14 +8,11 @@ const char * default_font_sz_ = "cmr10"; - - All_font_metrics::All_font_metrics (String path) { search_path_.parse_path (path); } - Adobe_font_metric * All_font_metrics::find_afm (String name) { diff --git a/lily/auto-beam-engraver.cc b/lily/auto-beam-engraver.cc index c38fd2c531..3a74ab95cb 100644 --- a/lily/auto-beam-engraver.cc +++ b/lily/auto-beam-engraver.cc @@ -186,10 +186,8 @@ Auto_beam_engraver::create_beam_p () void Auto_beam_engraver::end_beam () { - DOUT << String ("ending autobeam at: ") + now_mom ().str () + "\n"; if (stem_l_arr_p_->size () < 2) { - DOUT << "junking autombeam: less than two stems\n"; junk_beam (); } else @@ -236,7 +234,6 @@ Auto_beam_engraver::do_removal_processing () typeset_beam (); if (stem_l_arr_p_ && stem_l_arr_p_->size ()) { - DOUT << "Unfinished beam\n"; junk_beam (); } } @@ -248,7 +245,6 @@ Auto_beam_engraver::acknowledge_element (Score_element_info info) { if (stem_l_arr_p_) { - DOUT << "junking autobeam: beam encountered\n"; junk_beam (); } } @@ -256,7 +252,6 @@ Auto_beam_engraver::acknowledge_element (Score_element_info info) { if (stem_l_arr_p_) { - DOUT << "junking autobeam: bar encountered\n"; junk_beam (); } } @@ -269,7 +264,6 @@ Auto_beam_engraver::acknowledge_element (Score_element_info info) if (dynamic_cast (info.elem_l_)) { - DOUT << "junking autobeam: rest encountered\n"; end_beam (); return; } @@ -280,7 +274,6 @@ Auto_beam_engraver::acknowledge_element (Score_element_info info) if (stem_l->beam_l_) { - DOUT << "junking autobeam: beamed stem encountered\n"; junk_beam (); return; } @@ -292,7 +285,6 @@ Auto_beam_engraver::acknowledge_element (Score_element_info info) */ if (rhythmic_req->duration_.durlog_i_ <= 2) { - DOUT << "ending autobeam: stem doesn't fit in beam\n"; end_beam (); return; } @@ -300,7 +292,6 @@ Auto_beam_engraver::acknowledge_element (Score_element_info info) Moment start = get_staff_info().time_C_->whole_in_measure_; if (!grouping_p_->child_fit_b (start)) { - DOUT << "ending autobeam: stem doesn't fit in group\n"; end_beam (); } else @@ -350,13 +341,10 @@ Auto_beam_engraver::process_acknowledged () if ((extend_mom_ < now) || ((extend_mom_ == now) && (last_add_mom_ != now ))) { - DOUT << String ("junking autobeam: no stem added since: ") - + last_add_mom_.str () + "\n"; end_beam (); } else if (!stem_l_arr_p_->size ()) { - DOUT << "junking started autobeam: no stems\n"; junk_beam (); } } diff --git a/lily/bar-engraver.cc b/lily/bar-engraver.cc index 434f5bb88d..e38ad23499 100644 --- a/lily/bar-engraver.cc +++ b/lily/bar-engraver.cc @@ -14,7 +14,6 @@ #include "command-request.hh" #include "time-description.hh" #include "engraver-group.hh" -#include "repeated-music.hh" Bar_engraver::Bar_engraver() { diff --git a/lily/beam-engraver.cc b/lily/beam-engraver.cc index 4260dfc44c..d59d72c920 100644 --- a/lily/beam-engraver.cc +++ b/lily/beam-engraver.cc @@ -28,9 +28,12 @@ Beam_engraver::Beam_engraver () bool Beam_engraver::do_try_music (Music *m) { - if (Beam_req * c = dynamic_cast(m)) + if (Span_req * c = dynamic_cast(m)) { - Direction d =c->spantype_; + if (c->span_type_str_ != "beam") + return false; + + Direction d =c->span_dir_; if (d == STOP && !beam_p_) { diff --git a/lily/command-request.cc b/lily/command-request.cc index 84ff56f9f7..335c929042 100644 --- a/lily/command-request.cc +++ b/lily/command-request.cc @@ -39,11 +39,6 @@ Bar_req::do_equal_b (Request*r) const return b && type_str_ == b->type_str_; } - - - - - void Bar_req::do_print() const { @@ -52,7 +47,6 @@ Bar_req::do_print() const #endif } - Bar_req::Bar_req (String s) { type_str_ = s; @@ -71,8 +65,6 @@ Partial_measure_req::do_equal_b (Request* r) const return p&& p->length_mom_ == length_mom_; } - - bool Barcheck_req::do_equal_b (Request*r) const { diff --git a/lily/dynamic-engraver.cc b/lily/dynamic-engraver.cc index e2188d4eb7..b5d5d37906 100644 --- a/lily/dynamic-engraver.cc +++ b/lily/dynamic-engraver.cc @@ -30,8 +30,8 @@ class Dynamic_engraver : public Engraver Crescendo * to_end_cresc_p_; Crescendo * cresc_p_; - Span_dynamic_req * cresc_req_l_; - Array dynamic_req_l_arr_; + Span_req * cresc_req_l_; + Array dynamic_req_l_arr_; void typeset_all (); public: VIRTUAL_COPY_CONS(Translator); @@ -64,27 +64,41 @@ Dynamic_engraver::do_post_move_processing() } bool -Dynamic_engraver::do_try_music (Music * r) +Dynamic_engraver::do_try_music (Music * m) { - if(Dynamic_req * d = dynamic_cast (r)) + Request * r = dynamic_cast (m); + + if(Text_script_req * d = dynamic_cast (r)) { - for (int i=0; i < dynamic_req_l_arr_.size (); i++) - if (d->equal_b (dynamic_req_l_arr_[i])) - return true; - - dynamic_req_l_arr_.push (d); - return true; + if (d->style_str_ != "dynamic") + return false; + } + else if (Span_req * s = dynamic_cast (r)) + { + if (s-> span_type_str_ != "crescendo" + && s->span_type_str_ != "decrescendo") + return false; } - return false; + else + return false; + + for (int i=0; i < dynamic_req_l_arr_.size (); i++) + if (r->equal_b (dynamic_req_l_arr_[i])) + return true; + + dynamic_req_l_arr_.push (r); + return true; } + + void Dynamic_engraver::do_process_requests() { Crescendo* new_cresc_p=0; for (int i=0; i < dynamic_req_l_arr_.size(); i++) { - Dynamic_req *dreq_l = dynamic_req_l_arr_[i]; - if (Absolute_dynamic_req *absd = dynamic_cast (dreq_l)) + if (Text_script_req *absd = + dynamic_cast ( dynamic_req_l_arr_[i])) { if (text_p_) { @@ -92,7 +106,7 @@ Dynamic_engraver::do_process_requests() continue; } - String loud = absd->loudness_str_; + String loud = absd->text_str_; text_p_ = new G_text_item; text_p_->text_str_ = loud; // ugh @@ -115,13 +129,13 @@ Dynamic_engraver::do_process_requests() } - announce_element (Score_element_info (text_p_, dreq_l)); - announce_element (Score_element_info (staff_side_p_, dreq_l)); + announce_element (Score_element_info (text_p_, absd)); + announce_element (Score_element_info (staff_side_p_, absd)); } - else if (Span_dynamic_req *span_l - = dynamic_cast (dreq_l)) + else if (Span_req *span_l + = dynamic_cast (dynamic_req_l_arr_[i])) { - if (span_l->spantype_ == STOP) + if (span_l->span_dir_ == STOP) { if (!cresc_p_) { @@ -140,12 +154,12 @@ Dynamic_engraver::do_process_requests() } } - else if (span_l->spantype_ == START) + else if (span_l->span_dir_ == START) { cresc_req_l_ = span_l; assert (!new_cresc_p); new_cresc_p = new Crescendo; - new_cresc_p->grow_dir_ = span_l->dynamic_dir_; + new_cresc_p->grow_dir_ = (span_l->span_type_str_ == "crescendo") ? BIGGER : SMALLER; announce_element (Score_element_info (new_cresc_p, span_l)); } } diff --git a/lily/font-size-engraver.cc b/lily/font-size-engraver.cc index 9730f30dd4..0edf7e5901 100644 --- a/lily/font-size-engraver.cc +++ b/lily/font-size-engraver.cc @@ -19,7 +19,7 @@ Font_size_engraver::Font_size_engraver () void Font_size_engraver::do_process_requests () { - Scalar s (get_property ("fontsize", 0)); + Scalar s (get_property ("fontSize", 0)); if (s.length_i () && s.isnum_b ()) { diff --git a/lily/include/beam-engraver.hh b/lily/include/beam-engraver.hh index 69d29d6e59..292977680f 100644 --- a/lily/include/beam-engraver.hh +++ b/lily/include/beam-engraver.hh @@ -14,11 +14,11 @@ #include "drul-array.hh" class Beam_engraver : public Engraver { - Drul_array reqs_drul_; + Drul_array reqs_drul_; Beam *finished_beam_p_; Beam *beam_p_; - Beam_req * prev_start_req_; + Span_req * prev_start_req_; Rhythmic_grouping*grouping_p_; Rhythmic_grouping*finished_grouping_p_; diff --git a/lily/include/command-request.hh b/lily/include/command-request.hh index 63f8c11135..9e065963ce 100644 --- a/lily/include/command-request.hh +++ b/lily/include/command-request.hh @@ -162,11 +162,5 @@ protected: VIRTUAL_COPY_CONS(Music); }; -class Bracket_req : public Span_req { - -public: - VIRTUAL_COPY_CONS(Music); -}; - #endif // COMMANDREQUEST_HH diff --git a/lily/include/folded-repeat-iterator.hh b/lily/include/folded-repeat-iterator.hh new file mode 100644 index 0000000000..d9215a9555 --- /dev/null +++ b/lily/include/folded-repeat-iterator.hh @@ -0,0 +1,41 @@ +/* + folded-repeat-iterator.hh -- declare Folded_repeat_iterator + + source file of the GNU LilyPond music typesetter + + (c) 1999 Han-Wen Nienhuys + + */ + +#ifndef FOLDED_REPEAT_ITERATOR_HH +#define FOLDED_REPEAT_ITERATOR_HH + +#include "music-iterator.hh" + +/** + Iterate through a repeated section: first do the body, then + all alternatives in parallel. + */ +class Folded_repeat_iterator : public Music_iterator +{ + Music_iterator * main_iter_p_; + Music_iterator * alternative_iter_p_; + int count_; + Moment main_length_mom_; +public: + Folded_repeat_iterator (); + ~Folded_repeat_iterator (); + + virtual void construct_children (); + virtual Moment next_moment () const; + virtual bool ok () const; + +protected: + void enter_alternative (); + void leave_body (); + + virtual void do_print () const; + virtual void do_process_and_next (Moment); +}; +#endif /* FOLDED_REPEAT_ITERATOR_HH */ + diff --git a/lily/include/lily-proto.hh b/lily/include/lily-proto.hh index 37d9bce72b..af50e44ca2 100644 --- a/lily/include/lily-proto.hh +++ b/lily/include/lily-proto.hh @@ -164,6 +164,9 @@ struct Note_req; struct Note_head; struct Note_head_engraver; struct Notename_table; +struct New_repeated_music; +struct Unfolded_repeat_iterator; +struct Folded_repeat_iterator; struct Offset; struct Paper_column; struct Paper_def; diff --git a/lily/include/main.hh b/lily/include/main.hh index 01fe44b47a..1645971630 100644 --- a/lily/include/main.hh +++ b/lily/include/main.hh @@ -42,5 +42,6 @@ extern String default_outname_suffix_global; extern int default_count_global; extern All_font_metrics *all_fonts_global_p; - +class ostream; +void print_mudela_versions (ostream &os); #endif diff --git a/lily/include/music-iterator.hh b/lily/include/music-iterator.hh index 7980affacf..c6a8e9a7d8 100644 --- a/lily/include/music-iterator.hh +++ b/lily/include/music-iterator.hh @@ -29,6 +29,8 @@ class Music_iterator { protected: Music const * music_l_; + + /// ugh. JUNKME bool first_b_; /** @@ -46,7 +48,6 @@ protected: Get an iterator for MUS, inheriting the translation unit from THIS. */ Music_iterator* get_iterator_p (Music const*mus) const; - void set_translator (Translator_group*); /** Do the actual reporting. This should be overriden in derived classes. It is called by #process_and_next#, the public interface @@ -60,11 +61,13 @@ public: */ Translator_group*report_to_l() const; + void set_translator (Translator_group*); /** Get an iterator matching the type of MUS, and use TRANS to find an accompanying translation unit */ - static Music_iterator* static_get_iterator_p (Music const* mus,Translator_group* trans); + static Music_iterator* static_get_iterator_p (Music const* mus); + void init_translator (Music const *, Translator_group *); Music_iterator(); diff --git a/lily/include/music-list.hh b/lily/include/music-list.hh index ce72ec7a9f..f1de4e7f39 100644 --- a/lily/include/music-list.hh +++ b/lily/include/music-list.hh @@ -1,5 +1,6 @@ /* - music-list.hh -- declare Music_sequence, Simultaneous_music and Sequential_music + music-list.hh -- declare Music_sequence, + Simultaneous_music and Sequential_music source file of the GNU LilyPond music typesetter @@ -41,10 +42,10 @@ public: virtual void compress (Moment); void add_music (Music *music_p); - Moment cumulative_length () const; Moment maximum_length () const; protected: + virtual Musical_pitch to_relative_octave (Musical_pitch); virtual void do_print() const; }; @@ -83,10 +84,8 @@ public: class Sequential_music : public Music_sequence { public: - VIRTUAL_COPY_CONS(Music); - virtual Musical_pitch to_relative_octave (Musical_pitch); Sequential_music(Music_list*); virtual Moment length_mom () const; }; diff --git a/lily/include/musical-request.hh b/lily/include/musical-request.hh index b4950a7971..a8f51ab6e8 100644 --- a/lily/include/musical-request.hh +++ b/lily/include/musical-request.hh @@ -24,7 +24,6 @@ public: Duration duration_; virtual void do_print () const; - bool do_equal_b (Request*) const; void compress (Moment); virtual Moment length_mom () const; @@ -129,68 +128,12 @@ public: class Multi_measure_rest_req : public Rhythmic_req { public: VIRTUAL_COPY_CONS(Music); - -}; - - -/** - Start / stop an abbreviation beam at this note. - */ -class Abbreviation_beam_req : public Span_req { -public: - VIRTUAL_COPY_CONS(Abbreviation_beam_req); - - Abbreviation_beam_req (); - - int type_i_; -}; - - - -/// a slur -class Slur_req : public Span_req { -public: - VIRTUAL_COPY_CONS(Music); - }; /// an extender line class Extender_req : public Request { public: VIRTUAL_COPY_CONS(Music); - -}; - - -class Dynamic_req : public virtual Request { -public: - VIRTUAL_COPY_CONS(Music); -}; -/* - merge with Articulation_req? - */ -class Absolute_dynamic_req : public Dynamic_req { -public: - String loudness_str_; - Absolute_dynamic_req(); - -protected: - virtual void do_print () const; - virtual bool do_equal_b (Request*) const; - VIRTUAL_COPY_CONS(Music); -}; - -class Span_dynamic_req : public Dynamic_req, public Span_req { -public: - - /// Grow or shrink the volume: 1=cresc, -1 = decresc - Direction dynamic_dir_; - - Span_dynamic_req(); -protected: - virtual bool do_equal_b (Request*) const; - virtual void do_print () const; - VIRTUAL_COPY_CONS(Music); }; #endif // MUSICALREQUESTS_HH diff --git a/lily/include/new-repeated-music.hh b/lily/include/new-repeated-music.hh index 30a5076340..bc44ca390d 100644 --- a/lily/include/new-repeated-music.hh +++ b/lily/include/new-repeated-music.hh @@ -12,13 +12,45 @@ #include "music.hh" + +/** + Musical repeats. + + A repeat, when played has the form of BODY A BODY B BODY C. + + In this examples, the list {A B C} is put in ALTERNATIVES_P_. BODY + is put in REPEAT_BODY_P_. Either the body or the alternative may + be omitted. + + There are three modes of representing this music: + + BODY A + B + C + + is called "folded". Mostly used for lyrics. + + + BODY A B C + + is called "semi" folded. This is common notation + + BODY A BODY B BODY C + + is called unfolded. Useful for MIDI. + +*/ class New_repeated_music : public Music { public: - bool unfold_b_; + bool fold_b_; + /// if FOLD_B_ is false, semifold this. + bool semi_fold_b_; + + /// how often do we repeat? int repeats_i_; - Music * repeat_begin_p_; + Music * repeat_body_p_; Music_sequence * alternatives_p_; virtual Musical_pitch to_relative_octave (Musical_pitch); @@ -26,6 +58,7 @@ public: /// The duration of this piece of music virtual Moment length_mom () const; + Moment alternatives_length_mom () const; void print() const; /// Transpose, with the interval central C to #p# @@ -35,12 +68,11 @@ public: virtual void compress (Moment factor); VIRTUAL_COPY_CONS(Music); - New_repeated_music (); + New_repeated_music (Music*, int , Music_sequence*); New_repeated_music (New_repeated_music const&); ~New_repeated_music (); protected: virtual void do_print() const; - }; diff --git a/lily/include/note-performer.hh b/lily/include/note-performer.hh index 194365af89..837804367b 100644 --- a/lily/include/note-performer.hh +++ b/lily/include/note-performer.hh @@ -9,11 +9,10 @@ #define NOTE_PERFORMER_HH #include "performer.hh" -#include "list.hh" /** +Convert reqs to audio notes. */ - class Note_performer : public Performer { public: VIRTUAL_COPY_CONS(Translator); @@ -23,7 +22,6 @@ public: protected: virtual void do_process_requests(); - virtual bool do_try_music (Music *req_l) ; virtual void do_print() const; diff --git a/lily/include/repeat-engraver.hh b/lily/include/repeat-engraver.hh index b15519758e..c5bcd04f81 100644 --- a/lily/include/repeat-engraver.hh +++ b/lily/include/repeat-engraver.hh @@ -17,7 +17,7 @@ class Repeat_engraver : public Engraver { public: - Repeat_engraver (); + VIRTUAL_COPY_CONS(Translator); protected: @@ -26,12 +26,11 @@ protected: virtual bool do_try_music (Music *req_l); virtual void do_process_requests(); virtual void do_pre_move_processing(); - virtual void do_post_move_processing(); private: - Link_array repeated_music_arr_; + Link_array repeated_music_arr_; Link_array alternative_music_arr_; - // Link_array bar_p_arr_; + Array bar_b_arr_; Link_array volta_p_arr_; Array stop_mom_arr_; diff --git a/lily/include/repeated-music-iterator.hh b/lily/include/repeated-music-iterator.hh deleted file mode 100644 index 7bbb8d0a47..0000000000 --- a/lily/include/repeated-music-iterator.hh +++ /dev/null @@ -1,39 +0,0 @@ -/* - repeated-music-iterator.hh -- declare Repeated_music_iterator - - source file of the GNU LilyPond music typesetter - - (c) 1998--1999 Jan Nieuwenhuizen - - */ - -#ifndef REPEATED_MUSIC_ITERATOR_HH -#define REPEATED_MUSIC_ITERATOR_HH - -#include "music-list-iterator.hh" - -class Repeated_music_iterator : public Music_list_iterator -{ -public: - Repeated_music_iterator (); - virtual ~Repeated_music_iterator (); - - virtual void construct_children (); - virtual Moment next_moment () const; - virtual bool ok () const; - -protected: - virtual void do_print () const; - virtual void do_process_and_next (Moment); - -private: - void start_next_element (); - - int unfold_i_; - Moment here_mom_; - Music_iterator* repeat_iter_p_; - Music_list_iterator* alternative_iter_p_; -}; - -#endif /* REPEATED_MUSIC_ITERATOR_HH */ - diff --git a/lily/include/repeated-music.hh b/lily/include/repeated-music.hh deleted file mode 100644 index 1b85706da8..0000000000 --- a/lily/include/repeated-music.hh +++ /dev/null @@ -1,43 +0,0 @@ -/* - repeated-music.hh -- declare Repeated_music - - source file of the GNU LilyPond music typesetter - - (c) 1998--1999 Jan Nieuwenhuizen - - */ - -#ifndef REPEATED_MUSIC_HH -#define REPEATED_MUSIC_HH - -#include "music-list.hh" - -/** - Repeats and voltas - */ -class Repeated_music : public Music -{ -public: - int repeats_i_; - bool unfold_b_; - Music* repeat_p_; - /* - UGH FIXME: this should be: - - Music_list * alternative_p_; - */ - Music_sequence* alternative_p_; - - Repeated_music (Music*, int n, Music_sequence*); - Repeated_music (Repeated_music const& s); - virtual ~Repeated_music (); - - virtual void do_print () const; - virtual void transpose (Musical_pitch p); - virtual Moment length_mom () const; - virtual Musical_pitch to_relative_octave (Musical_pitch p); - VIRTUAL_COPY_CONS(Music); -}; - -#endif /* REPEATED_MUSIC_HH */ - diff --git a/lily/include/request.hh b/lily/include/request.hh index 72134e8c33..0c47398e5e 100644 --- a/lily/include/request.hh +++ b/lily/include/request.hh @@ -43,6 +43,7 @@ public: VIRTUAL_COPY_CONS(Music); }; +#if 0 /** Put a script above or below this ``note'' or bar. eg upbow, downbow. Why a request? These symbols may conflict with slurs and brackets, so this also a request */ @@ -59,7 +60,7 @@ public: ~Script_req(); Script_req (Script_req const&); }; - +#endif /** Requests to start or stop something. @@ -68,8 +69,9 @@ public: class Span_req : public virtual Request { public: /// should the spanner start or stop, or is it unwanted? - Direction spantype_; - + Direction span_dir_; + String span_type_str_; + Span_req(); protected: virtual bool do_equal_b (Request*) const; @@ -85,10 +87,4 @@ public: VIRTUAL_COPY_CONS(Music); }; -/** Start / stop a beam at this note */ -class Beam_req : public Span_req { -public: - VIRTUAL_COPY_CONS(Music); -}; - #endif diff --git a/lily/include/sequential-music-iterator.hh b/lily/include/sequential-music-iterator.hh index f7e09f8bf8..f4810c836c 100644 --- a/lily/include/sequential-music-iterator.hh +++ b/lily/include/sequential-music-iterator.hh @@ -31,6 +31,9 @@ protected: private: Moment here_mom_; + + /// don't go into next element when you finish. + bool per_elt_b_; Cons *cursor_; Music_iterator * iter_p_; diff --git a/lily/include/simultaneous-music-iterator.hh b/lily/include/simultaneous-music-iterator.hh index 7ebb87ffcd..a04f3f2216 100644 --- a/lily/include/simultaneous-music-iterator.hh +++ b/lily/include/simultaneous-music-iterator.hh @@ -16,6 +16,10 @@ class Simultaneous_music_iterator : public Music_list_iterator { public: + + /// make a new context for every child. + bool separate_contexts_b_; + Simultaneous_music_iterator (); virtual ~Simultaneous_music_iterator (); diff --git a/lily/include/slur-engraver.hh b/lily/include/slur-engraver.hh index 7c9ad3a88f..6ccf8e22c7 100644 --- a/lily/include/slur-engraver.hh +++ b/lily/include/slur-engraver.hh @@ -11,8 +11,8 @@ #include "engraver.hh" class Slur_engraver :public Engraver { - Link_array requests_arr_; - Link_array new_slur_req_l_arr_; + Link_array requests_arr_; + Link_array new_slur_req_l_arr_; Link_array slur_l_stack_; Link_array end_slur_l_arr_; diff --git a/lily/include/translator.hh b/lily/include/translator.hh index 0f945fc3f5..5c3cfec42b 100644 --- a/lily/include/translator.hh +++ b/lily/include/translator.hh @@ -25,7 +25,7 @@ class Translator : public Input { public: Music_output_def * output_def_l_; - String type_str_; + String type_str_; virtual const char *name() const; bool is_alias_b (String) const; diff --git a/lily/include/unfolded-repeat-iterator.hh b/lily/include/unfolded-repeat-iterator.hh new file mode 100644 index 0000000000..1e3e19eb92 --- /dev/null +++ b/lily/include/unfolded-repeat-iterator.hh @@ -0,0 +1,50 @@ +/* + unfolded-repeat-iterator.hh -- declare Unfolded_repeat_iterator + + source file of the GNU LilyPond music typesetter + + (c) 1999 Han-Wen Nienhuys + + */ + +#ifndef UNFOLDED_REPEAT_ITERATOR_HH +#define UNFOLDED_REPEAT_ITERATOR_HH + +#include "music-iterator.hh" + +/** + Iterate repeats. First do body, then alternatives one by one, + optionally interspersed by the body. + */ +class Unfolded_repeat_iterator : public Music_iterator +{ +public: + /** + How often have we done the body (assuming bodies are interspersed.)? + */ + int done_count_; + + /// are we busy doing the body? + bool do_main_b_; + + /** How far have we progressed into the repeat. + This excludes the elt currently being iterated. + */ + Moment done_mom_; + + Music_iterator * current_iter_p_; + Cons *alternative_cons_l_; + ~Unfolded_repeat_iterator(); + Unfolded_repeat_iterator (); + + +protected: + virtual void construct_children (); + virtual Moment next_moment () const; + virtual void do_process_and_next (Moment); + virtual bool ok () const; + virtual void next_element (); + virtual void do_print () const; +}; +#endif /* UNFOLDED_REPEAT_ITERATOR_HH */ + diff --git a/lily/lyric-engraver.cc b/lily/lyric-engraver.cc index f5807666da..d93c7b48d9 100644 --- a/lily/lyric-engraver.cc +++ b/lily/lyric-engraver.cc @@ -43,6 +43,8 @@ Lyric_engraver::do_process_requests() text_p_= new G_text_item; text_p_->text_str_ = req_l_->text_str_; + text_p_->text_str_ += " "; // ugh. + Scalar style = get_property ("textStyle", 0); if (style.length_i ()) text_p_->style_str_ = style; diff --git a/lily/main.cc b/lily/main.cc index 74de864a09..947140abbe 100644 --- a/lily/main.cc +++ b/lily/main.cc @@ -151,6 +151,8 @@ usage () "\n"; ; + + print_mudela_versions (cout); } void diff --git a/lily/midi-item.cc b/lily/midi-item.cc index ccb0a5ae90..b358e18433 100644 --- a/lily/midi-item.cc +++ b/lily/midi-item.cc @@ -293,13 +293,19 @@ String Midi_instrument::str () const { Byte program_byte = 0; - for (int i = 0; instrument_name_sz_a_[i]; i++) + bool found = false; + for (int i = 0; !found && instrument_name_sz_a_[i]; i++) if (instrument_str_ == String (instrument_name_sz_a_[ i ])) { program_byte = (Byte)i; - break; + found = true; } + if (!found) + { + warning (_f("No such instrument: `%s'", instrument_str_.ch_C ())); + } + String str = to_str ((char) (0xc0 + channel_i_)); str += to_str ((char)program_byte); return str; diff --git a/lily/music-iterator.cc b/lily/music-iterator.cc index b9c5e74c24..bcb465f22b 100644 --- a/lily/music-iterator.cc +++ b/lily/music-iterator.cc @@ -20,9 +20,10 @@ #include "music-wrapper-iterator.hh" #include "time-scaled-music-iterator.hh" #include "time-scaled-music.hh" -#include "repeated-music.hh" -#include "repeated-music-iterator.hh" #include "context-specced-music.hh" +#include "new-repeated-music.hh" +#include "folded-repeat-iterator.hh" +#include "unfolded-repeat-iterator.hh" void Music_iterator::do_print() const @@ -107,9 +108,10 @@ Music_iterator::ok() const } Music_iterator* -Music_iterator::static_get_iterator_p (Music const *m, Translator_group *report_l) +Music_iterator::static_get_iterator_p (Music const *m) { Music_iterator * p =0; + if (dynamic_cast (m)) p = new Request_chord_iterator; else if (dynamic_cast (m)) @@ -124,32 +126,45 @@ Music_iterator::static_get_iterator_p (Music const *m, Translator_group *report_ p = new Time_scaled_music_iterator; else if (dynamic_cast (m)) p = new Music_wrapper_iterator; - else if (dynamic_cast (m)) - p = new Repeated_music_iterator; + else if (New_repeated_music const * n = dynamic_cast (m)) + { + if (n->fold_b_) + p = new Folded_repeat_iterator; + else + p = new Unfolded_repeat_iterator; + } else assert (0); + p->music_l_ = m; + return p; +} +void +Music_iterator::init_translator (Music const *m, Translator_group *report_l) +{ + music_l_ = m; if (Context_specced_music const * csm =dynamic_cast(m)) { Translator_group* a =report_l-> find_create_translator_l (csm->translator_type_str_, csm->translator_id_str_); - p->set_translator (a); - } - if (! p->report_to_l()) - p ->set_translator (report_l); + set_translator (a); + + } - - return p; + if (! report_to_l()) + set_translator (report_l); } Music_iterator* Music_iterator::get_iterator_p (Music const*m) const { - Music_iterator*p = static_get_iterator_p (m, report_to_l()); + Music_iterator*p = static_get_iterator_p (m); + p->init_translator (m, report_to_l()); + p->construct_children(); return p; } diff --git a/lily/music-list.cc b/lily/music-list.cc index d3949b6723..1d32d1d08d 100644 --- a/lily/music-list.cc +++ b/lily/music-list.cc @@ -45,11 +45,6 @@ Sequential_music::length_mom () const return cumulative_length (); } -Musical_pitch -Sequential_music::to_relative_octave (Musical_pitch p) -{ - return do_relative_octave (p, false); -} Musical_pitch Simultaneous_music::to_relative_octave (Musical_pitch p) diff --git a/lily/music-sequence.cc b/lily/music-sequence.cc index 2e1a189517..d828884429 100644 --- a/lily/music-sequence.cc +++ b/lily/music-sequence.cc @@ -57,6 +57,13 @@ Music_sequence::cumulative_length () const return last; } +Musical_pitch +Music_sequence::to_relative_octave (Musical_pitch p) +{ + return do_relative_octave (p, false); +} + + Moment Music_sequence::maximum_length () const { diff --git a/lily/musical-request.cc b/lily/musical-request.cc index 369066fa7f..59512ca5e1 100644 --- a/lily/musical-request.cc +++ b/lily/musical-request.cc @@ -16,7 +16,7 @@ void Span_req::do_print () const { #ifndef NPRINT - DOUT << spantype_; + DOUT << span_dir_; #endif } @@ -110,7 +110,10 @@ Rhythmic_req::compress (Moment m) void Lyric_req::do_print () const { +#ifndef NPRINT Rhythmic_req::do_print (); + DOUT << "text = " << text_str_; +#endif } @@ -148,67 +151,18 @@ Note_req::do_print () const } -Abbreviation_beam_req::Abbreviation_beam_req () -{ - type_i_ = 0; -} - bool Span_req::do_equal_b (Request*r) const { Span_req * s = dynamic_cast (r); - return s && spantype_ == s->spantype_; + return s && span_dir_ == s->span_dir_; } Span_req::Span_req () { - spantype_ = CENTER; -} - - -void -Absolute_dynamic_req::do_print () const -{ -#ifndef NPRINT - DOUT << " loudness " < (r); - return a&& loudness_str_ == a->loudness_str_; -} - -Absolute_dynamic_req::Absolute_dynamic_req () -{ - loudness_str_ = "fm"; // yes, "illegal" on purpose. -} - - - -bool -Span_dynamic_req::do_equal_b (Request *req) const -{ - Span_dynamic_req * s = dynamic_cast (req); - - return s&& Span_req::do_equal_b (req) && s->dynamic_dir_ == dynamic_dir_; -} - -Span_dynamic_req::Span_dynamic_req () -{ - dynamic_dir_ = CENTER; + span_dir_ = CENTER; } -void -Span_dynamic_req::do_print () const -{ -#ifndef NPRINT - Span_req::do_print (); - DOUT << "softer/louder: " << dynamic_dir_; -#endif -} void Text_script_req::do_print () const @@ -227,5 +181,6 @@ bool Articulation_req::do_equal_b (Request*r) const { Articulation_req * a = dynamic_cast(r); - return articulation_str_ == a->articulation_str_; + + return a && articulation_str_ == a->articulation_str_; } diff --git a/lily/my-lily-lexer.cc b/lily/my-lily-lexer.cc index 4d5a2a024c..a0947945ac 100644 --- a/lily/my-lily-lexer.cc +++ b/lily/my-lily-lexer.cc @@ -21,7 +21,7 @@ #include "scope.hh" static Keyword_ent the_key_tab[]={ - {"absdynamic", ABSDYNAMIC}, + {"spanrequest", SPANREQUEST}, {"accepts", ACCEPTS}, {"alternative", ALTERNATIVE}, {"bar", BAR}, @@ -64,7 +64,7 @@ static Keyword_ent the_key_tab[]={ {"script", SCRIPT}, {"shape", SHAPE}, {"skip", SKIP}, - {"spandynamic", SPANDYNAMIC}, + {"textscript", TEXTSCRIPT}, {"tempo", TEMPO}, {"translator", TRANSLATOR}, {"transpose", TRANSPOSE}, diff --git a/lily/new-repeated-music-iterator.cc b/lily/new-repeated-music-iterator.cc index 66028bb202..0c168dde63 100644 --- a/lily/new-repeated-music-iterator.cc +++ b/lily/new-repeated-music-iterator.cc @@ -1,6 +1,5 @@ -#if 0 /* - new-repeated-music-iterator.cc -- implement New_repeated_music_iterator + new-repeated-music-iterator.cc -- implement Folded_repeat_iterator source file of the GNU LilyPond music typesetter @@ -8,34 +7,112 @@ */ -#include "music-iterator.hh" +#include "folded-repeat-iterator.hh" +#include "new-repeated-music.hh" +#include "music-list.hh" +#include "simultaneous-music-iterator.hh" +#include "translator-group.hh" +Folded_repeat_iterator::Folded_repeat_iterator () +{ + main_iter_p_ = 0; + alternative_iter_p_ = 0; +} -/** - - */ -class New_repeated_music_iterator : public Music_iterator +bool +Folded_repeat_iterator::ok () const +{ + return main_iter_p_ || alternative_iter_p_; +} + +Folded_repeat_iterator::~Folded_repeat_iterator () +{ + delete main_iter_p_; + delete alternative_iter_p_; +} + +Moment +Folded_repeat_iterator::next_moment () const +{ + if (main_iter_p_) + { + return main_iter_p_->next_moment (); + } + else + return main_length_mom_ + alternative_iter_p_->next_moment (); +} + +void +Folded_repeat_iterator::construct_children () +{ + New_repeated_music const * mus = dynamic_cast (music_l_); + main_iter_p_ = get_iterator_p (mus->repeat_body_p_); + if (!main_iter_p_->ok()) + { + leave_body (); + enter_alternative (); + } +} + +void +Folded_repeat_iterator::do_process_and_next (Moment m) { - Music_iterator * main_iter_p_; - Music_iterator * alternative_iter_p_; - int count_; + if (!m) + { + bool success = report_to_l ()->try_music (music_l_); + if (!success) + music_l_->warning ( _("No one to print a volta bracket")); + } -public: - New_repeated_music_iterator (); - ~New_repeated_music_iterator (); + New_repeated_music const * mus = dynamic_cast (music_l_); + if (main_iter_p_) + { + main_iter_p_->process_and_next (m); + if (!main_iter_p_->ok ()) + leave_body (); + } + + if (!main_iter_p_ && !alternative_iter_p_) + { + enter_alternative (); + } - virtual void construct_children (); - virtual Moment next_moment () const; - virtual bool ok () const; + if (alternative_iter_p_) + { + alternative_iter_p_->process_and_next (m - main_length_mom_); + if (!alternative_iter_p_->ok ()) + { + delete alternative_iter_p_; + alternative_iter_p_ =0; + } + } +} -protected: - virtual void do_print () const; - virtual void do_process_and_next (Moment); -}; +void +Folded_repeat_iterator::leave_body () +{ + New_repeated_music const * mus = dynamic_cast (music_l_); + delete main_iter_p_; + main_iter_p_ = 0; + main_length_mom_ += mus->repeat_body_p_->length_mom (); +} -New_repeated_music_iterator::New_repeated_music_iterator () +void +Folded_repeat_iterator::enter_alternative () { + New_repeated_music const * mus = dynamic_cast (music_l_); + Simultaneous_music_iterator * s = new Simultaneous_music_iterator; + s->separate_contexts_b_ = true; + s->init_translator (mus->alternatives_p_, report_to_l ()); + alternative_iter_p_ = s; + alternative_iter_p_->construct_children (); } + +void +Folded_repeat_iterator::do_print () const +{ +#ifndef NPRINT #endif +} diff --git a/lily/new-repeated-music.cc b/lily/new-repeated-music.cc index c989de9014..15bd06f660 100644 --- a/lily/new-repeated-music.cc +++ b/lily/new-repeated-music.cc @@ -10,47 +10,54 @@ #include "new-repeated-music.hh" #include "music-list.hh" #include "musical-pitch.hh" +#include "debug.hh" -New_repeated_music::New_repeated_music() +New_repeated_music::New_repeated_music(Music *beg, int times, Music_sequence * alts) { - repeat_begin_p_ = 0; - unfold_b_ = false; - repeats_i_ =0; - alternatives_p_ = 0; + repeat_body_p_ = beg; + fold_b_ = false; + repeats_i_ = times; + alternatives_p_ = alts; + semi_fold_b_ = true; } New_repeated_music::New_repeated_music (New_repeated_music const &s) : Music (s) { repeats_i_ = s.repeats_i_; - unfold_b_ = s.unfold_b_; - - repeat_begin_p_ = s.repeat_begin_p_ ? s.repeat_begin_p_->clone () : 0; + fold_b_ = s.fold_b_; + semi_fold_b_ = s.semi_fold_b_; + + repeat_body_p_ = s.repeat_body_p_ ? s.repeat_body_p_->clone () : 0; alternatives_p_ = s.alternatives_p_ ? dynamic_cast (s.alternatives_p_->clone ()):0; } New_repeated_music::~New_repeated_music () { - delete repeat_begin_p_; + delete repeat_body_p_; delete alternatives_p_; } void New_repeated_music::do_print () const { - if (repeat_begin_p_) - repeat_begin_p_->print(); +#ifndef NPRINT + DOUT << "Fold = " << fold_b_ << " reps: " << repeats_i_; + + if (repeat_body_p_) + repeat_body_p_->print(); if (alternatives_p_) alternatives_p_->print(); +#endif } Musical_pitch New_repeated_music::to_relative_octave (Musical_pitch p) { - if (repeat_begin_p_) - p = repeat_begin_p_->to_relative_octave (p); + if (repeat_body_p_) + p = repeat_body_p_->to_relative_octave (p); if (alternatives_p_) p = alternatives_p_->do_relative_octave (p, true); @@ -61,8 +68,8 @@ New_repeated_music::to_relative_octave (Musical_pitch p) void New_repeated_music::transpose (Musical_pitch p) { - if (repeat_begin_p_) - repeat_begin_p_->transpose (p); + if (repeat_body_p_) + repeat_body_p_->transpose (p); if (alternatives_p_) alternatives_p_->transpose (p); @@ -71,34 +78,43 @@ New_repeated_music::transpose (Musical_pitch p) void New_repeated_music::compress (Moment p) { - if (repeat_begin_p_) - repeat_begin_p_->compress (p); + if (repeat_body_p_) + repeat_body_p_->compress (p); if (alternatives_p_) alternatives_p_->compress (p); } +Moment +New_repeated_music::alternatives_length_mom () const +{ + if (alternatives_p_) + { + return (fold_b_) + ? alternatives_p_->maximum_length () + : alternatives_p_->cumulative_length (); + } + return 0; +} Moment New_repeated_music::length_mom () const { Moment m =0; - if (unfold_b_) + if (fold_b_) { - if (repeat_begin_p_) - m += Rational (repeats_i_) * repeat_begin_p_->length_mom (); - - if (alternatives_p_) - m += alternatives_p_->cumulative_length (); + if (repeat_body_p_) + m += repeat_body_p_->length_mom (); } else { - if (repeat_begin_p_) - m += repeat_begin_p_->length_mom (); - - if (alternatives_p_) - m += alternatives_p_->maximum_length (); + Moment beg = (repeat_body_p_) ? repeat_body_p_->length_mom () : Rational(0); + if (!semi_fold_b_) + beg *= Rational (repeats_i_); + m += beg; } + + m += alternatives_length_mom (); return m; } diff --git a/lily/parser.yy b/lily/parser.yy index e6b06a3120..34e329be2e 100644 --- a/lily/parser.yy +++ b/lily/parser.yy @@ -41,13 +41,17 @@ #include "relative-music.hh" #include "transposed-music.hh" #include "time-scaled-music.hh" -#include "repeated-music.hh" +#include "new-repeated-music.hh" // mmm Mudela_version oldest_version ("1.0.16"); -Mudela_version version ("1.0.16"); - +Mudela_version version ("1.0.19"); +void +print_mudela_versions (ostream &os) +{ + os << "Mudela versions: oldest " << oldest_version.str () << " current " << version.str () < @@ -138,7 +142,7 @@ yylex (YYSTYPE *s, void * v_l) /* tokens which are not keywords */ -%token ABSDYNAMIC +%token TEXTSCRIPT %token ACCEPTS %token ALTERNATIVE %token BAR @@ -180,7 +184,7 @@ yylex (YYSTYPE *s, void * v_l) %token SCRIPT %token SHAPE %token SKIP -%token SPANDYNAMIC +%token SPANREQUEST %token TEMPO %token TIME_T %token TIMES @@ -244,7 +248,7 @@ yylex (YYSTYPE *s, void * v_l) %type duration_length %type scalar -%type Music relative_music Sequential_music Simultaneous_music +%type Music relative_music Sequential_music Simultaneous_music Music_sequence %type property_def translator_change %type Music_list %type paper_block paper_def_body @@ -714,23 +718,31 @@ Music: Alternative_music: /* empty */ { - - /* UGH*/ - Music_list* m = new Music_list; - $$ = new Sequential_music (m); + $$ = 0; } - | ALTERNATIVE Simultaneous_music { + | ALTERNATIVE Music_sequence { $$ = $2; } - | ALTERNATIVE Sequential_music { - $$ = $2; + ; + + + + +Repeated_music: + REPEAT STRING unsigned Music Alternative_music + { + Music_sequence* m = dynamic_cast ($5); + + New_repeated_music * r = new New_repeated_music ($4, $3 >? 1, m); + $$ = r; + r->fold_b_ = (*$2 == "fold"); + r->semi_fold_b_ = (*$2 == "semi"); + delete $2; } ; -Repeated_music: REPEAT unsigned Music Alternative_music { - Music_sequence* m = dynamic_cast ($4); - assert (m); - $$ = new Repeated_music ($3, $2 >? 1, m); +Music_sequence: '{' Music_list '}' { + $$ = new Music_sequence ($2); } ; @@ -906,13 +918,15 @@ abbrev_command_req: $$ = new Tie_req; } | '[' { - Beam_req*b= new Beam_req; - b->spantype_ = START; + Span_req*b= new Span_req; + b->span_dir_ = START; + b->span_type_str_ = "beam"; $$ =b; } | ']' { - Beam_req*b= new Beam_req; - b->spantype_ = STOP; + Span_req*b= new Span_req; + b->span_dir_ = STOP; + b->span_type_str_ = "beam"; $$ = b; } ; @@ -1035,17 +1049,19 @@ verbose_request: $$ = (Request*)$1->access_content_Request (true); $$->set_spot (THIS->here_input ()); } - | ABSDYNAMIC '{' STRING '}' { - Absolute_dynamic_req *ad_p = new Absolute_dynamic_req; - ad_p ->loudness_str_ = *$3; - ad_p->set_spot (THIS->here_input ()); + | TEXTSCRIPT STRING STRING { + Text_script_req *ts_p = new Text_script_req; + ts_p-> text_str_ = *$2; + ts_p-> style_str_ = *$3; + ts_p->set_spot (THIS->here_input ()); delete $3; - $$ =ad_p; + delete $2; + $$ = ts_p; } - | SPANDYNAMIC '{' int int '}' { - Span_dynamic_req * sp_p = new Span_dynamic_req; - sp_p-> dynamic_dir_ = Direction($3); - sp_p->spantype_ = Direction($4); + | SPANREQUEST int STRING { + Span_req * sp_p = new Span_req; + sp_p-> span_dir_ = Direction($2); + sp_p->span_type_str_ = *$3; sp_p->set_spot (THIS->here_input ()); $$ = sp_p; } @@ -1160,22 +1176,24 @@ extender_req: close_request: close_request_parens { $$ = $1; - dynamic_cast ($$)->spantype_ = START; + dynamic_cast ($$)->span_dir_ = START; } close_request_parens: '(' { - $$= new Slur_req; + Span_req* s= new Span_req; + $$ = s; + s->span_type_str_ = "slur"; } | E_SMALLER { - Span_dynamic_req*s =new Span_dynamic_req; + Span_req*s =new Span_req; $$ = s; - s->dynamic_dir_ = UP; + s->span_type_str_ = "crescendo"; } | E_BIGGER { - Span_dynamic_req*s =new Span_dynamic_req; + Span_req*s =new Span_req; $$ = s; - s->dynamic_dir_ = DOWN; + s->span_type_str_ = "decrescendo"; } ; @@ -1183,19 +1201,20 @@ close_request_parens: open_request: open_request_parens { $$ = $1; - dynamic_cast ($$)->spantype_ = STOP; + dynamic_cast ($$)->span_dir_ = STOP; } ; open_request_parens: E_EXCLAMATION { - Span_dynamic_req *s = new Span_dynamic_req; - s->dynamic_dir_ = SMALLER; + Span_req *s = new Span_req; + s->span_type_str_ = "crescendo"; $$ = s; - } | ')' { - $$= new Slur_req + Span_req* s= new Span_req; + $$ = s; + s->span_type_str_ = "slur"; } ; diff --git a/lily/repeat-engraver.cc b/lily/repeat-engraver.cc index 8a3cbdf597..8de755f670 100644 --- a/lily/repeat-engraver.cc +++ b/lily/repeat-engraver.cc @@ -14,43 +14,30 @@ #include "command-request.hh" #include "time-description.hh" #include "engraver-group.hh" -#include "repeated-music.hh" +#include "new-repeated-music.hh" #include "time-description.hh" #include "volta-spanner.hh" #include "note-column.hh" #include "paper-def.hh" - +#include "music-list.hh" ADD_THIS_TRANSLATOR (Repeat_engraver); -Repeat_engraver::Repeat_engraver () -{ -} - /* - urg. Way too complicated. needs redesign. + Urg. Hairy. Needs redesign? */ bool Repeat_engraver::do_try_music (Music* m) { - if (Repeated_music* r = dynamic_cast (m)) + if (New_repeated_music* r = dynamic_cast (m)) { - r->unfold_b_ = get_property ("unfoldRepeats", 0).to_bool (); - if (r->unfold_b_) - return true; - - Music_sequence* alt = r->alternative_p_; - Moment repeat_length_mom = r->repeat_p_->length_mom (); + Music_sequence* alt = r->alternatives_p_; + Moment repeat_length_mom = r->repeat_body_p_->length_mom (); Moment stop_mom = now_mom () + repeat_length_mom; Moment alt_mom = now_mom () + repeat_length_mom; if (repeat_length_mom) { - for (Cons *i (alt->music_p_list_p_->head_); i && i->next_; i = i->next_) - { - stop_mom += i->car_->length_mom (); - if (dynamic_cast (alt)) - break; - } + stop_mom += r->alternatives_length_mom (); repeated_music_arr_.push (r); stop_mom_arr_.push (stop_mom); } @@ -187,9 +174,3 @@ Repeat_engraver::do_pre_move_processing () } } } - -void -Repeat_engraver::do_post_move_processing () -{ -} - diff --git a/lily/repeated-music-iterator.cc b/lily/repeated-music-iterator.cc deleted file mode 100644 index 80007e5b13..0000000000 --- a/lily/repeated-music-iterator.cc +++ /dev/null @@ -1,136 +0,0 @@ -/* - repeated-music-iterator.cc -- implement Repeated_music_iterator - - source file of the GNU LilyPond music typesetter - - (c) 1998--1999 Jan Nieuwenhuizen - - */ - -#include "repeated-music-iterator.hh" -#include "repeated-music.hh" -#include "musical-request.hh" -#include "translator-group.hh" -#include "command-request.hh" - -Repeated_music_iterator::Repeated_music_iterator () -{ - repeat_iter_p_ = 0; - alternative_iter_p_ = 0; - here_mom_ = 0; - unfold_i_ = -1; -} - -Repeated_music_iterator::~Repeated_music_iterator () -{ - delete repeat_iter_p_; - delete alternative_iter_p_; -} - -void -Repeated_music_iterator::do_print () const -{ - if (repeat_iter_p_) repeat_iter_p_->print (); - if (alternative_iter_p_) alternative_iter_p_->print (); -} - -void -Repeated_music_iterator::construct_children () -{ - repeat_iter_p_ = get_iterator_p (dynamic_cast (music_l_)->repeat_p_); -} - -void -Repeated_music_iterator::do_process_and_next (Moment m) -{ - if (first_b_) - { - bool success = report_to_l ()->try_music (dynamic_cast (music_l_)); - if (!success) - music_l_->warning ( _("No one to print a volta bracket")); - } - if (repeat_iter_p_ && repeat_iter_p_->ok ()) - repeat_iter_p_->process_and_next (m - here_mom_); - else - alternative_iter_p_->process_and_next (m - here_mom_); - Music_iterator::do_process_and_next (m); -} - -Moment -Repeated_music_iterator::next_moment () const -{ - - if (repeat_iter_p_) - return repeat_iter_p_->next_moment () + here_mom_; - else if (alternative_iter_p_) - return alternative_iter_p_->next_moment () + here_mom_; - - Repeated_music const*r = dynamic_cast(music_l_); - return r->alternative_p_->length_mom () + here_mom_; -} - -/* - FIXME - */ -bool -Repeated_music_iterator::ok () const -{ - if (!repeat_iter_p_ && !alternative_iter_p_) - return false; - - if ((repeat_iter_p_ && repeat_iter_p_->ok ()) - || (alternative_iter_p_ && alternative_iter_p_->ok ())) - return true; - - Repeated_music_iterator *urg = (Repeated_music_iterator*)this; - // urg, we're const - urg->start_next_element (); - - return ok (); -} - - -void -Repeated_music_iterator::start_next_element () -{ - Repeated_music const*rep =dynamic_cast (music_l_); - - - if (repeat_iter_p_) - { - assert (!repeat_iter_p_->ok ()); - assert (!alternative_iter_p_); - delete repeat_iter_p_; - repeat_iter_p_ = 0; - alternative_iter_p_ = dynamic_cast - (get_iterator_p ((Music*)rep->alternative_p_)); - here_mom_ += rep->repeat_p_->length_mom (); - } - else if (alternative_iter_p_) - { - assert (!alternative_iter_p_->ok ()); - assert (!repeat_iter_p_); - delete alternative_iter_p_; - alternative_iter_p_ = 0; - if (unfold_i_ < 0) - unfold_i_ = rep->unfold_b_ ? - rep->repeats_i_ - 1 : 0; - if (unfold_i_) - { - unfold_i_--; - repeat_iter_p_ = get_iterator_p (rep->repeat_p_); - // urg, assume same length alternatives for now... -// here_mom_ += rep->alternative_p_->music_p_list_p_->top ()->length_mom (); - /* - URG - this is *wrong* but at least it doesn't dump core - when unfolding, the alternative (sequential) music - shouldn't automatically move to the next alternative - - how to intercept this... - */ - here_mom_ += rep->alternative_p_->length_mom (); - } - } -} - diff --git a/lily/repeated-music.cc b/lily/repeated-music.cc deleted file mode 100644 index 48848dd9fe..0000000000 --- a/lily/repeated-music.cc +++ /dev/null @@ -1,84 +0,0 @@ -/* - repeated-music.cc -- implement Repeated_music - - source file of the GNU LilyPond music typesetter - - (c) 1998--1999 Jan Nieuwenhuizen - - */ - -#include "repeated-music.hh" -#include "musical-pitch.hh" - -Repeated_music::Repeated_music (Music* r, int n, Music_sequence* a) -{ - repeats_i_ = n; - unfold_b_ = false; - repeat_p_ = r; - alternative_p_ = a; -} - -Repeated_music::~Repeated_music () -{ - delete repeat_p_; - delete alternative_p_; -} - -Repeated_music::Repeated_music (Repeated_music const& s) - : Music (s) -{ - repeats_i_ = s.repeats_i_; - repeat_p_ = (s.repeat_p_) ? s.repeat_p_->clone () : 0; - // urg? - alternative_p_ = (s.alternative_p_) ? dynamic_cast (s.alternative_p_->clone ()) : 0; -} - -void -Repeated_music::do_print () const -{ - if (repeat_p_) - repeat_p_->print (); - if (alternative_p_) - alternative_p_->print (); -} - -void -Repeated_music::transpose (Musical_pitch p) -{ - if (repeat_p_) - repeat_p_->transpose (p); - if (alternative_p_) - alternative_p_->transpose (p); -} - -Moment -Repeated_music::length_mom () const -{ - Moment m; - if (repeat_p_) - m += repeat_p_->length_mom (); - if (alternative_p_) - m += alternative_p_->length_mom (); - return m; -} - - -Musical_pitch -Repeated_music::to_relative_octave (Musical_pitch p) -{ - p = repeat_p_->to_relative_octave (p); - - p = alternative_p_->do_relative_octave (p, false); - return p; - - /* ugh. Should - \relative c'' \repeat 2 { c4 } { < ... > } - - and - - \relative c'' \repeat 2 { c4 } - { { ...} } - - behave differently? - */ -} diff --git a/lily/score.cc b/lily/score.cc index 7f0016f2b9..c6d51acd45 100644 --- a/lily/score.cc +++ b/lily/score.cc @@ -59,8 +59,8 @@ Score::run_translator (Music_output_def *odef_l) *mlog << '\n' << _("Interpreting music...") << flush; trans_p->last_mom_ = music_p_->length_mom (); - Music_iterator * iter = Music_iterator::static_get_iterator_p (music_p_, trans_p); - + Music_iterator * iter = Music_iterator::static_get_iterator_p (music_p_); + iter->init_translator(music_p_, trans_p); iter->construct_children(); diff --git a/lily/sequential-music-iterator.cc b/lily/sequential-music-iterator.cc index 66a479efad..d75713e307 100644 --- a/lily/sequential-music-iterator.cc +++ b/lily/sequential-music-iterator.cc @@ -23,6 +23,7 @@ Sequential_music_iterator::Sequential_music_iterator () cursor_ = 0; here_mom_ = 0; iter_p_ =0; + per_elt_b_ = false; } void @@ -80,6 +81,9 @@ Sequential_music_iterator::~Sequential_music_iterator() void Sequential_music_iterator::do_process_and_next (Moment until) { + if (!iter_p_) + return; + while (1) { Moment local_until = until - here_mom_; @@ -91,7 +95,7 @@ Sequential_music_iterator::do_process_and_next (Moment until) iter_p_->process_and_next (local_until); } - + if (!iter_p_->ok()) { leave_element(); @@ -100,6 +104,9 @@ Sequential_music_iterator::do_process_and_next (Moment until) { start_next_element(); set_sequential_music_translator(); + + if (per_elt_b_) + goto loopexit; // ugh. } else { diff --git a/lily/simultaneous-music-iterator.cc b/lily/simultaneous-music-iterator.cc index 14983adb9c..72e59e1d61 100644 --- a/lily/simultaneous-music-iterator.cc +++ b/lily/simultaneous-music-iterator.cc @@ -14,6 +14,7 @@ Simultaneous_music_iterator::Simultaneous_music_iterator () { + separate_contexts_b_ = false; } Simultaneous_music_iterator::~Simultaneous_music_iterator () @@ -29,14 +30,21 @@ Simultaneous_music_iterator::construct_children() for (Cons *i = sim->music_p_list_p_->head_; i; i = i->next_, j++) { - Music_iterator * mi = get_iterator_p (i->car_); + Music_iterator * mi = static_get_iterator_p (i->car_); + + /* if separate_contexts_b_ is set, create a new context with the + number number as name */ + + Translator_group * t = (j && separate_contexts_b_) + ? report_to_l ()->find_create_translator_l (report_to_l()->type_str_, + to_str (j)) + : report_to_l (); + + mi->init_translator (i->car_, t); + mi->construct_children (); + if (mi->ok()) { -#if 0 - if (sim->translator_type_str_.empty_b ()) - set_translator (mi->report_to_l()->ancestor_l (0)); // huh? -#endif - children_p_list_.append (new Killing_cons (mi,0)); } else @@ -44,7 +52,6 @@ Simultaneous_music_iterator::construct_children() } } - void Simultaneous_music_iterator::do_print() const { diff --git a/lily/slur-engraver.cc b/lily/slur-engraver.cc index f81a08a45d..ed1462a584 100644 --- a/lily/slur-engraver.cc +++ b/lily/slur-engraver.cc @@ -14,8 +14,10 @@ bool Slur_engraver::do_try_music (Music *req_l) { - if (Slur_req *sl = dynamic_cast (req_l)) + if (Span_req *sl = dynamic_cast (req_l)) { + if (sl->span_type_str_ != "slur") + return false; new_slur_req_l_arr_.push (sl); return true; } @@ -55,9 +57,9 @@ Slur_engraver::do_process_requests() Array start_slur_l_arr_; for (int i=0; i< new_slur_req_l_arr_.size(); i++) { - Slur_req* slur_req_l = new_slur_req_l_arr_[i]; + Span_req* slur_req_l = new_slur_req_l_arr_[i]; // end slur: move the slur to other array - if (slur_req_l->spantype_ == STOP) + if (slur_req_l->span_dir_ == STOP) { if (slur_l_stack_.empty()) @@ -68,7 +70,7 @@ Slur_engraver::do_process_requests() requests_arr_.pop(); } } - else if (slur_req_l->spantype_ == START) + else if (slur_req_l->span_dir_ == START) { // push a new slur onto stack. //(use temp. array to wait for all slur STOPs) diff --git a/lily/staff-performer.cc b/lily/staff-performer.cc index 44597fe411..6628fbeca0 100644 --- a/lily/staff-performer.cc +++ b/lily/staff-performer.cc @@ -77,7 +77,7 @@ String Staff_performer::new_instrument_str () { // mustn't ask Score for instrument: it will return piano! - String str = get_property ("midi_instrument", 0); + String str = get_property ("midiInstrument", 0); if (!str.length_i ()) str = get_property ("instrument", 0); if (str == instrument_str_) diff --git a/lily/timing-translator.cc b/lily/timing-translator.cc index 1c00d0b597..800fab932b 100644 --- a/lily/timing-translator.cc +++ b/lily/timing-translator.cc @@ -131,7 +131,7 @@ Timing_translator::do_pre_move_processing() /* allbars == ! skipbars */ - bool allbars = ! get_property ("SkipBars", 0).to_bool (); + bool allbars = ! get_property ("skipBars", 0).to_bool (); // urg: multi bar rests: should always must process whole of first bar? if (!time_.cadenza_b_ && allbars) diff --git a/lily/translator-group.cc b/lily/translator-group.cc index bd451be2b9..8c244b705b 100644 --- a/lily/translator-group.cc +++ b/lily/translator-group.cc @@ -457,7 +457,7 @@ Translator_group::get_property (String id, return properties_dict_[id]; } -#if 0 +#if 1 if (daddy_trans_l_) return daddy_trans_l_->get_property (id, where_l); #endif diff --git a/lily/type-swallow-trans.cc b/lily/type-swallow-trans.cc index e911a62f14..b3d192cdfe 100644 --- a/lily/type-swallow-trans.cc +++ b/lily/type-swallow-trans.cc @@ -21,4 +21,3 @@ Type_swallow_translator::do_try_music (Music*r) DECLARE_REQUEST_SWALLOWER(Skip_req); -DECLARE_REQUEST_SWALLOWER(Beam_req); diff --git a/lily/unfolded-repeat-iterator.cc b/lily/unfolded-repeat-iterator.cc new file mode 100644 index 0000000000..0550a46f06 --- /dev/null +++ b/lily/unfolded-repeat-iterator.cc @@ -0,0 +1,144 @@ +/* + unfolded-repeat-iterator.cc -- implement Unfolded_repeat_iterator + + source file of the GNU LilyPond music typesetter + + (c) 1999 Han-Wen Nienhuys + + */ + + +#include "new-repeated-music.hh" +#include "music-list.hh" +#include "unfolded-repeat-iterator.hh" +#include "debug.hh" +#include "translator-group.hh" + +Unfolded_repeat_iterator::~Unfolded_repeat_iterator () +{ + delete current_iter_p_; +} + +Unfolded_repeat_iterator::Unfolded_repeat_iterator () +{ + done_count_ =0; + current_iter_p_ =0; + do_main_b_ = false; +} + +/** + +If we are in the body of the repeat always go to the current alternative. + +If we are not in the body, then we are in an alternative. If we are +fully unfolding, advance the current alternative and go back to main. +If we are semi-unfolding, advance the current alternative, and go to +the alternative just set. + + */ +void +Unfolded_repeat_iterator::next_element () +{ + New_repeated_music const* mus =dynamic_cast (music_l_); + delete current_iter_p_; + current_iter_p_ =0; + + + if (do_main_b_) + { + done_mom_ += mus->repeat_body_p_->length_mom (); + if (alternative_cons_l_) + { + current_iter_p_ = get_iterator_p (alternative_cons_l_->car_); + do_main_b_ = false; + } + } + else + { + if (alternative_cons_l_) + { + done_mom_ += alternative_cons_l_->car_->length_mom (); + alternative_cons_l_ = alternative_cons_l_->next_; + done_count_ ++; + } + + if (done_count_ < mus->repeats_i_ && alternative_cons_l_) + { + if (mus->semi_fold_b_) + current_iter_p_ = get_iterator_p (alternative_cons_l_->car_); + else + { + current_iter_p_ = get_iterator_p (mus->repeat_body_p_); + do_main_b_ = true; + } + } + } +} + +bool +Unfolded_repeat_iterator::ok () const +{ + return current_iter_p_ ; +} + +Moment +Unfolded_repeat_iterator::next_moment () const +{ + return done_mom_ + current_iter_p_->next_moment (); +} + +void +Unfolded_repeat_iterator::construct_children () +{ + New_repeated_music const* mus =dynamic_cast (music_l_); + alternative_cons_l_ = (mus->alternatives_p_) + ? mus->alternatives_p_->music_p_list_p_->head_ + : 0; + + if (mus->repeat_body_p_) + { + current_iter_p_ = get_iterator_p (mus->repeat_body_p_); + do_main_b_ = true; + } + else if (alternative_cons_l_) + { + current_iter_p_ = get_iterator_p (alternative_cons_l_->car_); + do_main_b_ = false; + } +} + +void +Unfolded_repeat_iterator::do_process_and_next (Moment m) +{ + if (!m) + { + bool success = report_to_l ()->try_music (music_l_); + if (!success) + music_l_->warning ( _("No one to print a volta bracket")); + } + while (1) + { + while (!current_iter_p_->ok ()) + { + next_element(); + + if (!current_iter_p_) + return; + } + + if (m - done_mom_ >= current_iter_p_->next_moment ()) + current_iter_p_->process_and_next (m - done_mom_); + else + return; + } +} + +void +Unfolded_repeat_iterator::do_print () const +{ +#ifndef NPRINT + DOUT << "count " << done_count_ << "done time " << done_mom_ << '\n'; + DOUT << "current: "; + current_iter_p_->print(); +#endif +} diff --git a/ly/accordion-defs.ly b/ly/accordion-defs.ly index 6755df855b..b4051d111a 100644 --- a/ly/accordion-defs.ly +++ b/ly/accordion-defs.ly @@ -46,10 +46,10 @@ accBayanbaseEE = \script "accBayanbaseEE" accBayanbaseTEE = \script "accBayanbaseTEE" accStdbase = \script "accStdbase" -accStdbaseTp = \script "accStdbaseTp" -accStdbaseT = \script "accStdbaseT" -accStdbaseBp = \script "accStdbaseBp" -accStdbaseM = \script "accStdbaseM" +accStdbaseFE = \script "accStdbaseFE" +accStdbaseTFE = \script "accStdbaseTFE" +accStdbaseMES = \script "accStdbaseMES" +accStdbaseTFMES = \script "accStdbaseTFMES" accSB = \script "accSB" accBB = \script "accBB" diff --git a/ly/book-fragment.ly b/ly/book-fragment.ly index 68c497d4ee..cd93221d6c 100644 --- a/ly/book-fragment.ly +++ b/ly/book-fragment.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.16"; +\version "1.0.19"; \include "declarations.ly" diff --git a/ly/book-init.ly b/ly/book-init.ly index ce8bcabc70..1e1140e691 100644 --- a/ly/book-init.ly +++ b/ly/book-init.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.16"; +\version "1.0.19"; \include "declarations.ly"; diff --git a/ly/center-fragment.ly b/ly/center-fragment.ly index 08b7fbc43a..4f962b8f8f 100644 --- a/ly/center-fragment.ly +++ b/ly/center-fragment.ly @@ -1,7 +1,7 @@ % Toplevel initialisation file. -\version "1.0.16"; +\version "1.0.19"; \include "declarations.ly" diff --git a/ly/center.ly b/ly/center.ly index 48a1303fde..ee1fbdb1d4 100644 --- a/ly/center.ly +++ b/ly/center.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.16"; +\version "1.0.19"; \include "declarations.ly" diff --git a/ly/dynamic.ly b/ly/dynamic.ly index 17f5ed75fc..a8cd081130 100644 --- a/ly/dynamic.ly +++ b/ly/dynamic.ly @@ -2,31 +2,31 @@ % declare the standard dynamic identifiers. % -pppppp = \absdynamic { "pppppp" } -ppppp = \absdynamic { "ppppp" } -pppp = \absdynamic { "pppp" } -ppp = \absdynamic { "ppp" } -pp = \absdynamic { "pp" } -p = \absdynamic { "p" } -mp = \absdynamic { "mp" } -mf = \absdynamic { "mf" } -f = \absdynamic { "e" } % see feta-din layout -ff = \absdynamic { "ff" } -fff = \absdynamic { "fff" } -ffff = \absdynamic { "ffff" } -fffff = \absdynamic { "fffff" } -ffffff = \absdynamic { "ffffff" } -fp = \absdynamic { "fp" } -sf = \absdynamic { "sf" } -sff = \absdynamic { "sff" } -sfz = \absdynamic { "sfz" } -fz = \absdynamic { "fz" } -sp = \absdynamic { "sp" } -spp = \absdynamic { "spp" } -rfz = \absdynamic { "rfz" } +pppppp = \textscript"pppppp" "dynamic" +ppppp = \textscript"ppppp" "dynamic" +pppp = \textscript "pppp" "dynamic" +ppp = \textscript "ppp" "dynamic" +pp = \textscript "pp" "dynamic" +p = \textscript "p" "dynamic" +mp = \textscript "mp" "dynamic" +mf = \textscript "mf" "dynamic" +f = \textscript "e" "dynamic" % see feta-din layout +ff = \textscript "ff" "dynamic" +fff = \textscript "fff" "dynamic" +ffff = \textscript "ffff" "dynamic" +fffff = \textscript "fffff" "dynamic" +ffffff = \textscript "ffffff" "dynamic" +fp = \textscript "fp" "dynamic" +sf = \textscript "sf" "dynamic" +sff = \textscript "sff" "dynamic" +sfz = \textscript "sfz" "dynamic" +fz = \textscript "fz" "dynamic" +sp = \textscript "sp" "dynamic" +spp = \textscript "spp" "dynamic" +rfz = \textscript "rfz" "dynamic" % 1st arg dynamic (louder/softer). 2nd arg spantype -cr = \spandynamic { \bigger \start } -decr = \spandynamic { \smaller \start } -rc = \spandynamic { \bigger \stop } -rced = \spandynamic { \smaller \stop } +cr = \spanrequest \start "crescendo" +decr = \spanrequest \start "decrescendo" +rc = \spanrequest \stop "crescendo" +rced = \spanrequest \stop "decrescendo" diff --git a/ly/engraver.ly b/ly/engraver.ly index 45bbe4ac3e..bb9afa28e9 100644 --- a/ly/engraver.ly +++ b/ly/engraver.ly @@ -50,6 +50,7 @@ StaffContext=\translator { \consists "Separating_line_group_engraver"; + \consists "Font_size_engraver"; \accepts "Voice"; dynamicStyle = "dynamic"; @@ -61,12 +62,14 @@ StaffContext=\translator { \name ChoirStaff; alignmentReference = \center; \consists "Staff_group_bar_engraver"; + \consistsend "Axis_group_engraver"; \accepts "Staff"; \accepts "RhythmicStaff"; \accepts "GrandStaff"; \accepts "PianoStaff"; - + + \accepts "Lyrics"; \accepts "ChordNames"; } @@ -89,7 +92,7 @@ RhythmicStaffContext=\translator{ \translator{\RhythmicStaffContext} VoiceContext = \translator { \type "Engraver_group_engraver"; - \consists "Dynamic_engraver"; + \consists "Dynamic_engraver"; % must come before text_engraver. \name Voice ; beamAuto = "1"; @@ -99,7 +102,7 @@ VoiceContext = \translator { \consists "Beam_engraver"; \consists "Auto_beam_engraver"; \include "auto-beam-settings.ly"; - \consists "Abbreviation_beam_engraver"; +% \consists "Abbreviation_beam_engraver"; % \consists "Multi_measure_rest_engraver"; % ugh. Order matters here. @@ -168,12 +171,13 @@ StaffGroupContext= \translator { \consists "Separating_line_group_engraver"; \consists "Lyric_engraver"; \consists "Extender_engraver"; - \consists "Beam_req_swallow_translator"; } \translator { \type "Engraver_group_engraver"; \name Lyrics; + \consists Vertical_align_engraver;%need this for getting folded repeats right. + \consistsend "Axis_group_engraver"; \accepts "LyricVoice"; diff --git a/ly/fragment.ly b/ly/fragment.ly index 6715f97705..c6d18c374c 100644 --- a/ly/fragment.ly +++ b/ly/fragment.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.16"; +\version "1.0.19"; \include "declarations.ly" diff --git a/ly/init.fly b/ly/init.fly index 5aacc264c1..0b32b36d0b 100644 --- a/ly/init.fly +++ b/ly/init.fly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.16"; +\version "1.0.19"; \include "declarations.ly" diff --git a/ly/init.ly b/ly/init.ly index d4b1857f6b..5951158137 100644 --- a/ly/init.ly +++ b/ly/init.ly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.16"; +\version "1.0.19"; \include "declarations.ly"; diff --git a/ly/init.sly b/ly/init.sly index 0395103e5f..9e43e3d773 100644 --- a/ly/init.sly +++ b/ly/init.sly @@ -1,6 +1,6 @@ % Toplevel initialisation file. -\version "1.0.16"; +\version "1.0.19"; \include "declarations.ly" diff --git a/ly/paper16.ly b/ly/paper16.ly index 2e1f00139d..e7b0b5c414 100644 --- a/ly/paper16.ly +++ b/ly/paper16.ly @@ -2,7 +2,7 @@ -\version "1.0.16"; +\version "1.0.19"; paper_sixteen = \paper { staffheight = 16.0\pt; diff --git a/ly/paper20.ly b/ly/paper20.ly index 92662e2ad4..39cba96769 100644 --- a/ly/paper20.ly +++ b/ly/paper20.ly @@ -1,7 +1,7 @@ % paper20.ly -\version "1.0.16"; +\version "1.0.19"; paper_twenty = \paper { staffheight = 20.0\pt; diff --git a/ly/performer.ly b/ly/performer.ly index 78f8b443a5..a4e4fca950 100644 --- a/ly/performer.ly +++ b/ly/performer.ly @@ -85,7 +85,7 @@ \name Score; - instrument = piano; + instrument = "bright acoustic"; \accepts Staff; \accepts GrandStaff; \accepts PianoStaff; diff --git a/ly/property.ly b/ly/property.ly index 9d98c77b4a..354d0f5664 100644 --- a/ly/property.ly +++ b/ly/property.ly @@ -35,6 +35,11 @@ textalignment -1 left alignment of text textalignment 0 center alignment of text textalignment 1 right alignment of text +beamAuto 0/1 auto-beam on/off +beamAutoEnd "num/den" end auto-beam +beamAutoEnd_8 "num/den" end auto-beam of 8ths +beamAutoEnd_16 "num/den" end auto-beam of 16ths + [Score?] beamslopedamping 0 no damping \beamslopeproportional beamslopedamping 1 damping1) \beamslopedamped @@ -59,11 +64,6 @@ barAuto 1 auto-generate bar every measure barAtLineStart 0/1 generate bar at beginning of line [Staff] -beamAuto 0/1 auto-beam on/off -beamAutoEnd "num/den" end auto-beam -beamAutoEnd_8 "num/den" end auto-beam of 8ths -beamAutoEnd_16 "num/den" end auto-beam of 16ths - timeSignatureStyle C Use C and stroked C for 4/4,2/2 timeSignatureStyle old Use old style mensuration marks timeSignatureStyle 1 Use single number diff --git a/make/generic-rules.make b/make/generic-rules.make index 1d885c7920..e81890bf2d 100644 --- a/make/generic-rules.make +++ b/make/generic-rules.make @@ -7,7 +7,7 @@ $(outdir)/%.ly: %.lym4 $(outdir)/%: %.in rm -f $@ - cat $< | $(sed-atfiles) | $(sed-atvariables) > $@ + cat $< | sed $(sed-atfiles) $(sed-atvariables) > $@ diff --git a/make/out/lelievijver.lsm b/make/out/lelievijver.lsm index d93780891c..8e5be96a5a 100644 --- a/make/out/lelievijver.lsm +++ b/make/out/lelievijver.lsm @@ -1,15 +1,15 @@ Begin3 Titel: LilyPond -Versie: 1.1.42 -Inschrijf datum: 10MAY99 +Versie: 1.1.43 +Inschrijf datum: 17MAY99 Beschrijving: @FLAPTEKST@ Trefwoorden: muziek typezetten midi notatie Auteur: hanwen@stack.nl (Han-Wen Nienhuys) janneke@gnu.org (Jan Nieuwenhuizen) Onderhouden door: hanwen@cs.ruu.nl (Han-Wen Nienhuys) Voornaamste plek: sunsite.unc.edu /pub/Linux/apps - 770k lilypond-1.1.42.tar.gz + 770k lilypond-1.1.43.tar.gz Oorspronkelijke plek: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.42.tar.gz + 770k lilypond-1.1.43.tar.gz Copi-eer voorwaarden: GPL End diff --git a/make/out/lilypond.lsm b/make/out/lilypond.lsm index a652441b1d..118e4d4898 100644 --- a/make/out/lilypond.lsm +++ b/make/out/lilypond.lsm @@ -1,7 +1,7 @@ Begin3 Title: LilyPond -Version: 1.1.42 -Entered-date: 10MAY99 +Version: 1.1.43 +Entered-date: 17MAY99 Description: LilyPond is the GNU Project music typesetter. This program can print beautiful sheet music from a music definition file. It can also play @@ -14,8 +14,8 @@ Author: hanwen@cs.ruu.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 - 770k lilypond-1.1.42.tar.gz + 770k lilypond-1.1.43.tar.gz Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/ - 770k lilypond-1.1.42.tar.gz + 770k lilypond-1.1.43.tar.gz Copying-policy: GPL End diff --git a/make/out/lilypond.spec b/make/out/lilypond.spec index af07e57446..139e2594fb 100644 --- a/make/out/lilypond.spec +++ b/make/out/lilypond.spec @@ -1,9 +1,9 @@ Name: lilypond -Version: 1.1.42 +Version: 1.1.43 Release: 1 Copyright: GPL Group: Applications/Publishing -Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.42.tar.gz +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.1.43.tar.gz Summary: A program for printing sheet music. URL: http://www.cs.uu.nl/~hanwen/lilypond Packager: Han-Wen Nienhuys diff --git a/make/stepmake.make b/make/stepmake.make index 07d293704e..47b5cd6a90 100644 --- a/make/stepmake.make +++ b/make/stepmake.make @@ -23,7 +23,10 @@ else outdir=out endif +# user package stepdir = $(stepmake)/stepmake +# for stepmake packageg +# stepdir = $(depth)/stepmake STEPMAKE_TEMPLATES := generic $(STEPMAKE_TEMPLATES) LOCALSTEPMAKE_TEMPLATES:= generic $(LOCALSTEPMAKE_TEMPLATES) diff --git a/mf/feta-accordion.mf b/mf/feta-accordion.mf index 190e7e576d..5c016724e9 100644 --- a/mf/feta-accordion.mf +++ b/mf/feta-accordion.mf @@ -1,6 +1,6 @@ % -*- Fundamental -*- -accreg_dot_size# := .6interline#; +accreg_dot_size# := .5interline#; accreg_linethickness# := 1.3stafflinethickness#; % This dimention is the same on all registersymbols. diff --git a/mudela-mode.el b/mudela-mode.el index e78e43ae17..25b9517188 100644 --- a/mudela-mode.el +++ b/mudela-mode.el @@ -34,13 +34,13 @@ (let* ((keywords '("alternative" "repeat" "accepts" "accidentals" "break" "bar" "cadenza" "clef" "cm" "consists" "consistsend" "contains" "duration" - "absdynamic" "scmfile" "lyrics" + "spanrequest" "scmfile" "lyrics" "in" "translator" "context" "key" "maininput" "notes" "musical_pitch" "time" "midi" "mm" "header" "notenames" "octave" "output" "partial" "paper" "plet" "name" "property" "pt" "shape" "relative" "include" "score" "scm" "scmfile" - "script" "skip" "table" "times" "spandynamic" "symboltables" "type" + "script" "skip" "table" "times" "textscript" "symboltables" "type" "tempo" "transpose" "version" "grouping" )) (kwregex (mapconcat (lambda (x) (concat "\\\\" x)) keywords "\\|"))) diff --git a/mutopia/Coriolan/bassi-part.ly b/mutopia/Coriolan/bassi-part.ly index f3e771414e..58ef2d7a1d 100644 --- a/mutopia/Coriolan/bassi-part.ly +++ b/mutopia/Coriolan/bassi-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "violoncello.ly" diff --git a/mutopia/Coriolan/clarinetti-part.ly b/mutopia/Coriolan/clarinetti-part.ly index a2c61557c7..4dac9d5a0a 100644 --- a/mutopia/Coriolan/clarinetti-part.ly +++ b/mutopia/Coriolan/clarinetti-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "clarinetti.ly" diff --git a/mutopia/Coriolan/clarinetti.ly b/mutopia/Coriolan/clarinetti.ly index 2ba9a145a8..f749b3337b 100644 --- a/mutopia/Coriolan/clarinetti.ly +++ b/mutopia/Coriolan/clarinetti.ly @@ -9,13 +9,13 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "clarinetto-1.ly" \include "clarinetto-2.ly" $clarinetti_staff = \context Staff = clarinetti < - \property Staff.midi_instrument = "clarinet" + \property Staff.midiInstrument = "clarinet" \property Staff.instrument = "2 Clarinetti (B\\textflat)" \property Staff.instr = "Cl. (B\\textflat)" % urg: can't; only My_midi_lexer: () parses pitch? diff --git a/mutopia/Coriolan/clarinetto-1.ly b/mutopia/Coriolan/clarinetto-1.ly index 29ecb9c21c..011fc4b946 100644 --- a/mutopia/Coriolan/clarinetto-1.ly +++ b/mutopia/Coriolan/clarinetto-1.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; clarinetto1 = \notes \relative c { R1 *2 | d''4-.\ff r r2 | R1 *3 | e4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/clarinetto-2.ly b/mutopia/Coriolan/clarinetto-2.ly index 2308751488..2d9b6c1d27 100644 --- a/mutopia/Coriolan/clarinetto-2.ly +++ b/mutopia/Coriolan/clarinetto-2.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; clarinetto2 = \notes \relative c { R1*2 bes''4-.\ff r r2 | R1*3 | cis4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/contrabasso-part.ly b/mutopia/Coriolan/contrabasso-part.ly index 224f28298f..ecf33ea66f 100644 --- a/mutopia/Coriolan/contrabasso-part.ly +++ b/mutopia/Coriolan/contrabasso-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "contrabasso.ly" diff --git a/mutopia/Coriolan/contrabasso.ly b/mutopia/Coriolan/contrabasso.ly index cb879ccfe2..5bc30649ff 100644 --- a/mutopia/Coriolan/contrabasso.ly +++ b/mutopia/Coriolan/contrabasso.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; contrabasso = \notes \relative c { % \translator Staff=violoncello @@ -140,7 +140,7 @@ contrabasso = \notes \relative c { } $contrabasso_staff = \context Staff = contrabasso < - \property Staff.midi_instrument = "contrabass" + \property Staff.midiInstrument = "contrabass" \property Staff.instrument = "Contrabasso" \property Staff.instr = "Cb." \clef "bass"; diff --git a/mutopia/Coriolan/coriolan-part-paper.ly b/mutopia/Coriolan/coriolan-part-paper.ly index 9d24ed2e61..2154b4118f 100644 --- a/mutopia/Coriolan/coriolan-part-paper.ly +++ b/mutopia/Coriolan/coriolan-part-paper.ly @@ -1,7 +1,7 @@ \paper { \translator { \OrchestralPartStaffContext } \translator { \ScoreContext - SkipBars = 1; + skipBars = 1; } castingalgorithm = \Wordwrap; diff --git a/mutopia/Coriolan/coriolan.ly b/mutopia/Coriolan/coriolan.ly index 5779e199c1..1d962bb2b4 100644 --- a/mutopia/Coriolan/coriolan.ly +++ b/mutopia/Coriolan/coriolan.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" diff --git a/mutopia/Coriolan/corni-part.ly b/mutopia/Coriolan/corni-part.ly index b2e537037c..d887b90432 100644 --- a/mutopia/Coriolan/corni-part.ly +++ b/mutopia/Coriolan/corni-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "corni.ly" diff --git a/mutopia/Coriolan/corni.ly b/mutopia/Coriolan/corni.ly index 3c418520e3..4a1fe5d350 100644 --- a/mutopia/Coriolan/corni.ly +++ b/mutopia/Coriolan/corni.ly @@ -9,13 +9,13 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "corno-1.ly" \include "corno-2.ly" $corni_staff = \context Staff = corni < - \property Staff.midi_instrument = "french horn" + \property Staff.midiInstrument = "french horn" \property Staff.instrument = "2 Corni (E\\textflat)" \property Staff.instr = "Cor. (E\\textflat)" % urg: can't; only My_midi_lexer: () parses pitch? diff --git a/mutopia/Coriolan/corno-1.ly b/mutopia/Coriolan/corno-1.ly index 573ba15ba6..9490995a65 100644 --- a/mutopia/Coriolan/corno-1.ly +++ b/mutopia/Coriolan/corno-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; corno1 = \notes \relative c { R1 *2 | f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/corno-2.ly b/mutopia/Coriolan/corno-2.ly index 41aed2d76a..4de3578839 100644 --- a/mutopia/Coriolan/corno-2.ly +++ b/mutopia/Coriolan/corno-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; corno2 = \notes \relative c { R1 *2 | d''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/fagotti-part.ly b/mutopia/Coriolan/fagotti-part.ly index 20e8d5ca23..d2cdd5b509 100644 --- a/mutopia/Coriolan/fagotti-part.ly +++ b/mutopia/Coriolan/fagotti-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "fagotti.ly" diff --git a/mutopia/Coriolan/fagotti.ly b/mutopia/Coriolan/fagotti.ly index c37d189ad8..963dc803cc 100644 --- a/mutopia/Coriolan/fagotti.ly +++ b/mutopia/Coriolan/fagotti.ly @@ -9,13 +9,13 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "fagotto-1.ly" \include "fagotto-2.ly" $fagotti_staff = \context Staff = fagotti < - \property Staff.midi_instrument = "bassoon" + \property Staff.midiInstrument = "bassoon" \property Staff.instrument = "2 Fagotti" \property Staff.instr = "Fg." \clef "bass"; diff --git a/mutopia/Coriolan/fagotto-1.ly b/mutopia/Coriolan/fagotto-1.ly index 5f49713a57..fa1c8fdd89 100644 --- a/mutopia/Coriolan/fagotto-1.ly +++ b/mutopia/Coriolan/fagotto-1.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; fagotto1 = \notes \relative c { R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/fagotto-2.ly b/mutopia/Coriolan/fagotto-2.ly index f822ed283d..6968a3d9db 100644 --- a/mutopia/Coriolan/fagotto-2.ly +++ b/mutopia/Coriolan/fagotto-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; fagotto2 = \notes \relative c { R1 *2 | f4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/flauti-part.ly b/mutopia/Coriolan/flauti-part.ly index 8cc6432018..41897d5b5d 100644 --- a/mutopia/Coriolan/flauti-part.ly +++ b/mutopia/Coriolan/flauti-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "flauti.ly" diff --git a/mutopia/Coriolan/flauti.ly b/mutopia/Coriolan/flauti.ly index a8ffaf7f09..146d4393d8 100644 --- a/mutopia/Coriolan/flauti.ly +++ b/mutopia/Coriolan/flauti.ly @@ -9,13 +9,13 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "flauto-1.ly" \include "flauto-2.ly" $flauti_staff = \context Staff = flauti < - \property Staff.midi_instrument = "flute" + \property Staff.midiInstrument = "flute" \property Staff.instrument = "2 Flauti" \property Staff.instr = "Fl." \notes \context Voice=flauti < diff --git a/mutopia/Coriolan/flauto-1.ly b/mutopia/Coriolan/flauto-1.ly index dfe2529d6b..dc8e42b044 100644 --- a/mutopia/Coriolan/flauto-1.ly +++ b/mutopia/Coriolan/flauto-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; flauto1 = \notes \relative c { R1 *2 | c'''4-.\ff r r2 | R1 *3 | d4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/flauto-2.ly b/mutopia/Coriolan/flauto-2.ly index 4dc61cc10a..fc7ea80f26 100644 --- a/mutopia/Coriolan/flauto-2.ly +++ b/mutopia/Coriolan/flauto-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; flauto2 = \notes \relative c { R1 *2 | as'''4-.\ff r r2 | R1 *3 | b4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/global.ly b/mutopia/Coriolan/global.ly index 946a86e8a9..29f30c4ac6 100644 --- a/mutopia/Coriolan/global.ly +++ b/mutopia/Coriolan/global.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; global = \notes { \time 4/4; diff --git a/mutopia/Coriolan/oboe-1.ly b/mutopia/Coriolan/oboe-1.ly index 7464da33a6..14762ae2ae 100644 --- a/mutopia/Coriolan/oboe-1.ly +++ b/mutopia/Coriolan/oboe-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; oboe1 = \notes \relative c'' { R1 *2 | as'4-.\ff r r2 | R1 *3 | as4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/oboe-2.ly b/mutopia/Coriolan/oboe-2.ly index 1fd042fb15..6192a67009 100644 --- a/mutopia/Coriolan/oboe-2.ly +++ b/mutopia/Coriolan/oboe-2.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; oboe2 = \notes \relative c{ R1 *2| f''4-.\ff r r2 | R1 *3 | f4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/oboi-part.ly b/mutopia/Coriolan/oboi-part.ly index 9d605f1b97..def281f8ab 100644 --- a/mutopia/Coriolan/oboi-part.ly +++ b/mutopia/Coriolan/oboi-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "oboi.ly" diff --git a/mutopia/Coriolan/oboi.ly b/mutopia/Coriolan/oboi.ly index cfff9dd963..d11b71327f 100644 --- a/mutopia/Coriolan/oboi.ly +++ b/mutopia/Coriolan/oboi.ly @@ -9,13 +9,13 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "oboe-1.ly" \include "oboe-2.ly" $oboi_staff = \context Staff = oboi < - \property Staff.midi_instrument = "oboe" + \property Staff.midiInstrument = "oboe" \property Staff.instrument = "2 Oboi" \property Staff.instr = "Ob." \notes \context Voice=oboi < diff --git a/mutopia/Coriolan/timpani.ly b/mutopia/Coriolan/timpani.ly index 60b4ca0a40..47eac136a9 100644 --- a/mutopia/Coriolan/timpani.ly +++ b/mutopia/Coriolan/timpani.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; timpani = \notes \relative c { R1 *2 | c4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | @@ -21,7 +21,7 @@ timpani = \notes \relative c { } $timpani_staff = \context Staff = timpani < - \property Staff.midi_instrument = "timpani" + \property Staff.midiInstrument = "timpani" \property Staff.instrument = "2 Timpani (C-G)" \property Staff.instr = "Timp." \clef "bass"; diff --git a/mutopia/Coriolan/trombe-part.ly b/mutopia/Coriolan/trombe-part.ly index d055518315..4db3dddbec 100644 --- a/mutopia/Coriolan/trombe-part.ly +++ b/mutopia/Coriolan/trombe-part.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "trombe.ly" diff --git a/mutopia/Coriolan/trombe.ly b/mutopia/Coriolan/trombe.ly index 07ac2bce1d..54fe26bdc6 100644 --- a/mutopia/Coriolan/trombe.ly +++ b/mutopia/Coriolan/trombe.ly @@ -9,13 +9,13 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "trombo-1.ly" \include "trombo-2.ly" $trombe_staff = \context Staff = trombe < - \property Staff.midi_instrument = "trumpet" + \property Staff.midiInstrument = "trumpet" \property Staff.instrument = "2 Trombe (C)" \property Staff.instr = "Tbe." \notes \context Voice=trombe < diff --git a/mutopia/Coriolan/trombo-1.ly b/mutopia/Coriolan/trombo-1.ly index 888ea5807c..f302239fe5 100644 --- a/mutopia/Coriolan/trombo-1.ly +++ b/mutopia/Coriolan/trombo-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; trombo1 = \notes \relative c { R1 *2 | c''4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/trombo-2.ly b/mutopia/Coriolan/trombo-2.ly index e4b3ec8ca4..49235bf749 100644 --- a/mutopia/Coriolan/trombo-2.ly +++ b/mutopia/Coriolan/trombo-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; trombo2 = \notes \relative c { R1 *2 | c'4-.\ff r r2 | R1 *3 | c4-. r r2 | R1 *3 | diff --git a/mutopia/Coriolan/viola-1.ly b/mutopia/Coriolan/viola-1.ly index b9d80bde3f..78ca458dfe 100644 --- a/mutopia/Coriolan/viola-1.ly +++ b/mutopia/Coriolan/viola-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; viola1 = \notes \relative c { \context Voice=one @@ -292,7 +292,7 @@ viola1 = \notes \relative c { % $viola1_staff = \context Staff = viola1 < $viola1_staff = \context Staff = violai < - \property Staff.midi_instrument = "viola" + \property Staff.midiInstrument = "viola" \property Staff.instrument = "Viola" \property Staff.instr = "Vla." \clef "alto"; diff --git a/mutopia/Coriolan/viola-2.ly b/mutopia/Coriolan/viola-2.ly index 78137f47fb..57488543b5 100644 --- a/mutopia/Coriolan/viola-2.ly +++ b/mutopia/Coriolan/viola-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; viola2 = \notes \relative c { % starts on (actualy, most part is on) same staff as viola1 @@ -32,7 +32,7 @@ viola2 = \notes \relative c { % $viola2_staff = \context Staff = viola_2 < $viola2_staff = \context Staff = violaii < - \property Staff.midi_instrument = "viola" + \property Staff.midiInstrument = "viola" \property Staff.instrument = "Viola II" \property Staff.instr = "Vla. II" \clef "alto"; diff --git a/mutopia/Coriolan/viola-part.ly b/mutopia/Coriolan/viola-part.ly index cb8cdbaf18..1d32273d91 100644 --- a/mutopia/Coriolan/viola-part.ly +++ b/mutopia/Coriolan/viola-part.ly @@ -7,14 +7,14 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "viola-1.ly" \include "viola-2.ly" $viola_staff = \context Staff = violai < - \property Staff.midi_instrument = "viola" + \property Staff.midiInstrument = "viola" \property Staff.instrument = "Viola" \property Staff.instr = "Vla." \clef "alto"; diff --git a/mutopia/Coriolan/violino-1-part.ly b/mutopia/Coriolan/violino-1-part.ly index 5bb957b4fd..525541b9d7 100644 --- a/mutopia/Coriolan/violino-1-part.ly +++ b/mutopia/Coriolan/violino-1-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "violino-1.ly" diff --git a/mutopia/Coriolan/violino-1.ly b/mutopia/Coriolan/violino-1.ly index e3eb7ce8d3..0ed1155615 100644 --- a/mutopia/Coriolan/violino-1.ly +++ b/mutopia/Coriolan/violino-1.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; violino1 = \notes \relative c { c'1\ff ~ | c | r r2 | R1 | @@ -273,7 +273,7 @@ violino1 = \notes \relative c { } $violino1_staff = \context Staff = violino1 < - \property Staff.midi_instrument = "violin" + \property Staff.midiInstrument = "violin" \property Staff.instrument = "Violino I" \property Staff.instr = "Vl. I" \notes< diff --git a/mutopia/Coriolan/violino-2-part.ly b/mutopia/Coriolan/violino-2-part.ly index 820bebbdbc..c9a83493bd 100644 --- a/mutopia/Coriolan/violino-2-part.ly +++ b/mutopia/Coriolan/violino-2-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "violino-2.ly" diff --git a/mutopia/Coriolan/violino-2.ly b/mutopia/Coriolan/violino-2.ly index 4c81193676..dc3afe6c09 100644 --- a/mutopia/Coriolan/violino-2.ly +++ b/mutopia/Coriolan/violino-2.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; violino2 = \notes \relative c { c'1\ff ~ | c | r r2 | R1 | @@ -293,7 +293,7 @@ violino2 = \notes \relative c { $violino2_staff = \context Staff = violino2 < % MIDI hoort geeneens verschil tussen een % eerste en tweede viool ;-) - \property Staff.midi_instrument = "violin" + \property Staff.midiInstrument = "violin" \property Staff.instrument = "Violino II" \property Staff.instr = "Vl. II" \notes< diff --git a/mutopia/Coriolan/violoncello-part.ly b/mutopia/Coriolan/violoncello-part.ly index d92816b4ec..e7ab264801 100644 --- a/mutopia/Coriolan/violoncello-part.ly +++ b/mutopia/Coriolan/violoncello-part.ly @@ -7,7 +7,7 @@ enteredby = "JCN"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "violoncello.ly" diff --git a/mutopia/Coriolan/violoncello.ly b/mutopia/Coriolan/violoncello.ly index f35c3d7769..d6c13a21a9 100644 --- a/mutopia/Coriolan/violoncello.ly +++ b/mutopia/Coriolan/violoncello.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; violoncello = \notes \relative c { c1\ff ~ | c | f,4-. r r2 | r1 | c'1\ff ~ | c | f,4-. r r2 | @@ -300,7 +300,7 @@ violoncello = \notes \relative c { } $violoncello_staff = \context Staff = violoncello < - \property Staff.midi_instrument = "cello" + \property Staff.midiInstrument = "cello" \property Staff.instrument = "Violoncello" \property Staff.instr = "Vc." \clef "bass"; diff --git a/mutopia/D.Scarlatti/progress.ly b/mutopia/D.Scarlatti/progress.ly index b61ec33a3e..767eb6d53f 100644 --- a/mutopia/D.Scarlatti/progress.ly +++ b/mutopia/D.Scarlatti/progress.ly @@ -807,4 +807,4 @@ Bar_number_engraver;}} ---------------------------------------------------- -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/D.Scarlatti/sonata-k1-l366.ly b/mutopia/D.Scarlatti/sonata-k1-l366.ly index 13ce839c8c..710fee7651 100644 --- a/mutopia/D.Scarlatti/sonata-k1-l366.ly +++ b/mutopia/D.Scarlatti/sonata-k1-l366.ly @@ -266,4 +266,4 @@ s1 \paper{barsize=50.0; \translator {\StaffContext \consists Bar_number_engraver;}} } -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/D.Scarlatti/sonata-k2-l388.ly b/mutopia/D.Scarlatti/sonata-k2-l388.ly index 03df3984fe..0c2555a10b 100644 --- a/mutopia/D.Scarlatti/sonata-k2-l388.ly +++ b/mutopia/D.Scarlatti/sonata-k2-l388.ly @@ -336,4 +336,4 @@ g,4. | Bar_number_engraver;}} } -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/D.Scarlatti/sonata-k3-l378.ly b/mutopia/D.Scarlatti/sonata-k3-l378.ly index bfda05aac7..a83ded214b 100644 --- a/mutopia/D.Scarlatti/sonata-k3-l378.ly +++ b/mutopia/D.Scarlatti/sonata-k3-l378.ly @@ -251,4 +251,4 @@ LHtoL = { \tolower \stemdown } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/D.Scarlatti/sonata-k4-l390.ly b/mutopia/D.Scarlatti/sonata-k4-l390.ly index 4d1dab4d53..bbff16daa9 100644 --- a/mutopia/D.Scarlatti/sonata-k4-l390.ly +++ b/mutopia/D.Scarlatti/sonata-k4-l390.ly @@ -311,4 +311,4 @@ s8 [c''16 g'8 fis'16] [bes'' g' f' ees'] | \paper{barsize=50.0; \translator {\StaffContext \consists Bar_number_engraver;}} } -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/D.Zipoli/verso_2.ly b/mutopia/D.Zipoli/verso_2.ly index 50f75d7dc0..d54e3abbb3 100644 --- a/mutopia/D.Zipoli/verso_2.ly +++ b/mutopia/D.Zipoli/verso_2.ly @@ -17,7 +17,7 @@ title = "Verso II"; under the Gnu Public Licence. %} -\version "1.0.16"; +\version "1.0.19"; $voice_one = \notes \relative c' { a'2 bes4. [c16 bes] | a4 d ~ d c ~ | c b ~ [b8 a] a4 ~| diff --git a/mutopia/E.Satie/gnossienne-4.ly b/mutopia/E.Satie/gnossienne-4.ly index 7cc91b517a..7a313540c5 100644 --- a/mutopia/E.Satie/gnossienne-4.ly +++ b/mutopia/E.Satie/gnossienne-4.ly @@ -12,7 +12,7 @@ Tested Features: cross staff beams and slurs, grace notes, no bars %} -\version "1.0.16"; +\version "1.0.19"; \include "nederlands.ly" diff --git a/mutopia/E.Satie/petite-ouverture-a-danser.ly b/mutopia/E.Satie/petite-ouverture-a-danser.ly index 010aedb0b1..3222aed515 100644 --- a/mutopia/E.Satie/petite-ouverture-a-danser.ly +++ b/mutopia/E.Satie/petite-ouverture-a-danser.ly @@ -12,7 +12,7 @@ Tested Features: %} -\version "1.0.16"; +\version "1.0.19"; \include "nederlands.ly" diff --git a/mutopia/F.Schubert/standchen-16.ly b/mutopia/F.Schubert/standchen-16.ly index abbf68a230..b79169a714 100644 --- a/mutopia/F.Schubert/standchen-16.ly +++ b/mutopia/F.Schubert/standchen-16.ly @@ -9,6 +9,6 @@ description = "A schubert song in 16 pt"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; \include "standchen.ly" diff --git a/mutopia/F.Schubert/standchen-20.ly b/mutopia/F.Schubert/standchen-20.ly index 8d0d5d468a..35480ad44a 100644 --- a/mutopia/F.Schubert/standchen-20.ly +++ b/mutopia/F.Schubert/standchen-20.ly @@ -9,7 +9,7 @@ copyright = "public domain"; description = "A schubert song in 20 pt"; } -\version "1.0.16"; +\version "1.0.19"; % fool make-website % \include "standchen.ly"; diff --git a/mutopia/F.Schubert/standchen.ly b/mutopia/F.Schubert/standchen.ly index 16ad602cd5..3e9096f8ec 100644 --- a/mutopia/F.Schubert/standchen.ly +++ b/mutopia/F.Schubert/standchen.ly @@ -16,7 +16,7 @@ multiple \paper{}s in one \score Note: Original key F. %} -\version "1.0.16"; +\version "1.0.19"; $vocal_verse1 = \notes\relative c''{ % ugh: treble/bass diff --git a/mutopia/Hymns/diademata.ly b/mutopia/Hymns/diademata.ly index 57735bf984..4f28bd2703 100644 --- a/mutopia/Hymns/diademata.ly +++ b/mutopia/Hymns/diademata.ly @@ -6,7 +6,7 @@ date = "1868"; title = "Diademata"; metre = "6 6. 8 6. D"; } -\version "1.0.16"; +\version "1.0.19"; sop=\notes \transpose c''{ ees2 | ees4 ees4 g2 g2 | c'1. \bar "||"; diff --git a/mutopia/Hymns/laudatedom.ly b/mutopia/Hymns/laudatedom.ly index 1541d103e1..5a5f21c891 100644 --- a/mutopia/Hymns/laudatedom.ly +++ b/mutopia/Hymns/laudatedom.ly @@ -4,7 +4,7 @@ composer = "Parry"; metre = "10 10 . 11 11"; } -\version "1.0.16"; +\version "1.0.19"; sop = \notes \transpose c''{ f4 | d' bes c' | f2 \bar "||"; diff --git a/mutopia/Hymns/maccabaeus.ly b/mutopia/Hymns/maccabaeus.ly index 52e100e958..61af28cb6b 100644 --- a/mutopia/Hymns/maccabaeus.ly +++ b/mutopia/Hymns/maccabaeus.ly @@ -7,7 +7,7 @@ title = "Maccabaeus"; metre = "10 11. 11 11. and refrain"; } -\version "1.0.16"; +\version "1.0.19"; sop=\notes \relative c'' { b2 gis4. a8 |b2 e,2 | diff --git a/mutopia/Hymns/ode.ly b/mutopia/Hymns/ode.ly index 38116d4b34..5f59a39a5d 100644 --- a/mutopia/Hymns/ode.ly +++ b/mutopia/Hymns/ode.ly @@ -7,7 +7,7 @@ title = "Ode to Joy"; metre = "8 7 8 7 D"; } -\version "1.0.16"; +\version "1.0.19"; sop=\notes \relative c'' { b4 b c d | d c b a | g g a b | b4. a8 a2 \bar "||"; diff --git a/mutopia/Hymns/stille.ly b/mutopia/Hymns/stille.ly index 825dfc202a..20b145ca57 100644 --- a/mutopia/Hymns/stille.ly +++ b/mutopia/Hymns/stille.ly @@ -8,7 +8,7 @@ poet = "Joseph Mohr"; } -\version "1.0.16"; +\version "1.0.19"; global=\notes { \time 6/4; diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly index 99c3c005c4..1de961a843 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly @@ -4,7 +4,7 @@ piece = "Allemande"; } -\version "1.0.16"; +\version "1.0.19"; global = \notes{ \time 4/4; diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly index 87bc4fdc06..d28fca30b1 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly @@ -10,7 +10,7 @@ %% %% Noe liknende skjer også i mellom andre og tredje stemme i takt 28 -\version "1.0.16"; +\version "1.0.19"; global = \notes{ \time 2/4; diff --git a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly index 7bd1dd7b5f..30d3c93c3c 100644 --- a/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly +++ b/mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly @@ -10,7 +10,7 @@ copyright = "Public Domain"; } -\version "1.0.16"; +\version "1.0.19"; global = \notes { \time 4/4; diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly index 9659b5d23b..1aea92781d 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly @@ -12,7 +12,7 @@ enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; % upper = \context Staff \notes\relative c { upper = \context Staff=upper \notes\relative c { diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly index 1b6a870fd1..62fc254829 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly @@ -10,7 +10,7 @@ enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; upper = \context Staff \notes\relative c{ \context Voice=i \property Voice . textstyle = "italic" diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly index 9e8c5b9bb2..c5ad7649c2 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-4.ly @@ -8,7 +8,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; one = \context Staff \notes\relative c { \context Voice=i diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly index 30d30a0bde..0727edd6bd 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly @@ -8,7 +8,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; upper = \context Staff \notes\relative c{ diff --git a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly index 040a27c6a2..1cf5f26662 100644 --- a/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly +++ b/mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly @@ -8,7 +8,7 @@ composer = "Johann Sebastian Bach (1685-1750)"; enteredby = "jcn"; copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; one = \context Staff \notes\relative c{ diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly index f6e37ada8c..1026897316 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly @@ -104,4 +104,4 @@ allemande = \context Staff \notes< > -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly index 25d8b797f2..f643af8021 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly @@ -91,4 +91,4 @@ courante = \context Staff \notes< \$courante_b > -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly index ebffb4bbbf..638f519953 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly @@ -106,4 +106,4 @@ gigue = \notes< \$gigue_b > -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly index e351e611f4..4a750a49bb 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly @@ -156,4 +156,4 @@ menuetto_ii = \context Staff\notes \relative c { d2. } -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly index 858a55d4ae..c3dc87ebaf 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.16"; +\version "1.0.19"; \include "prelude-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly index e03d4d7030..f328ff2e3a 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly @@ -280,4 +280,4 @@ prelude = \context Staff \notes< \$prelude_b > -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly index 47816c7ac6..1bab6e0727 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly @@ -15,7 +15,7 @@ copyright = "public domain"; dotted slurs %} -\version "1.0.16"; +\version "1.0.19"; \include "prelude-urtext.ly"; diff --git a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly index 2cf94f0089..6e5124bbc5 100644 --- a/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly +++ b/mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly @@ -92,4 +92,4 @@ sarabande = \context Staff \notes< \$sarabande_b > -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/J.S.Bach/viola-i.ly b/mutopia/J.S.Bach/viola-i.ly index 9d6ea2e36f..4dadc02232 100644 --- a/mutopia/J.S.Bach/viola-i.ly +++ b/mutopia/J.S.Bach/viola-i.ly @@ -16,4 +16,4 @@ $viola_i_staff = \context Staff = viola < \clef alto; \$global_i > -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/J.S.Bach/violino-i.ly b/mutopia/J.S.Bach/violino-i.ly index c6791b7e2e..0d3fff5b46 100644 --- a/mutopia/J.S.Bach/violino-i.ly +++ b/mutopia/J.S.Bach/violino-i.ly @@ -37,4 +37,4 @@ $violino_i_staff = \context Staff = violino < > \$global_i > -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/J.S.Bach/violino-viola.ly b/mutopia/J.S.Bach/violino-viola.ly index 81f1c35556..d347fda265 100644 --- a/mutopia/J.S.Bach/violino-viola.ly +++ b/mutopia/J.S.Bach/violino-viola.ly @@ -30,4 +30,4 @@ copyright = "Public Domain"; } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/J.S.Bach/violino-violoncello.ly b/mutopia/J.S.Bach/violino-violoncello.ly index 5d0fb5931b..58392fc2ea 100644 --- a/mutopia/J.S.Bach/violino-violoncello.ly +++ b/mutopia/J.S.Bach/violino-violoncello.ly @@ -30,4 +30,4 @@ copyright = "Public Domain"; } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/J.S.Bach/violoncello-i.ly b/mutopia/J.S.Bach/violoncello-i.ly index c886a77fa3..db96ad0e50 100644 --- a/mutopia/J.S.Bach/violoncello-i.ly +++ b/mutopia/J.S.Bach/violoncello-i.ly @@ -28,4 +28,4 @@ $violoncello_i_staff = \context Staff = violoncello < \clef bass; \$global_i > -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/J.S.Bach/wtk1-fugue1.ly b/mutopia/J.S.Bach/wtk1-fugue1.ly index 811c309f50..4a811eb1db 100644 --- a/mutopia/J.S.Bach/wtk1-fugue1.ly +++ b/mutopia/J.S.Bach/wtk1-fugue1.ly @@ -11,7 +11,7 @@ copyright = "Public Domain"; %{ %} -\version "1.0.16"; +\version "1.0.19"; global = diff --git a/mutopia/J.S.Bach/wtk1-fugue2.ly b/mutopia/J.S.Bach/wtk1-fugue2.ly index c8a4f036bf..22948fd8e4 100644 --- a/mutopia/J.S.Bach/wtk1-fugue2.ly +++ b/mutopia/J.S.Bach/wtk1-fugue2.ly @@ -19,7 +19,7 @@ * auto beaming %} -\version "1.0.16"; +\version "1.0.19"; \include "nederlands.ly" % for correct parsing of note names diff --git a/mutopia/J.S.Bach/wtk1-prelude1.ly b/mutopia/J.S.Bach/wtk1-prelude1.ly index de30f92b85..f7c4d9886e 100644 --- a/mutopia/J.S.Bach/wtk1-prelude1.ly +++ b/mutopia/J.S.Bach/wtk1-prelude1.ly @@ -8,7 +8,7 @@ enteredby = "Shay Rojansky"; copyright = "Public Domain"; } -\version "1.0.16"; +\version "1.0.19"; global = \notes { diff --git a/mutopia/L.Mozart/sinfonia.ly b/mutopia/L.Mozart/sinfonia.ly index a95eefa960..18e11c3871 100644 --- a/mutopia/L.Mozart/sinfonia.ly +++ b/mutopia/L.Mozart/sinfonia.ly @@ -383,4 +383,4 @@ bassocontinuo = \notes \relative c'{ \midi{ \tempo 4 = 100; } } -\version "1.0.16"; +\version "1.0.19"; diff --git a/mutopia/N.W.Gade/brass.ly b/mutopia/N.W.Gade/brass.ly index 39c552a780..70378ad16e 100644 --- a/mutopia/N.W.Gade/brass.ly +++ b/mutopia/N.W.Gade/brass.ly @@ -1,9 +1,9 @@ -\version "1.0.16"; +\version "1.0.19"; corI=\notes\relative c'' { \key c; -\property Staff."midi_instrument" = "french horn" +\property Staff."midiInstrument" = "french horn" [g8. \f ( a16 ] ) g2 | [g8. ( a16 ] ) g2_"dim." | @@ -247,7 +247,7 @@ a-. [ gis-. gis-. \< g-.] | corII=\notes\relative c'' { \key c; -\property Staff."midi_instrument" = "french horn" +\property Staff."midiInstrument" = "french horn" R2.*19 | r4 r [g8^"solo" \p (\< \! ) e'] | @@ -412,7 +412,7 @@ c'4-. \fz r^\fermata trpI=\notes\relative c'' { \key c; -\property Staff."midi_instrument" = "trumpet" +\property Staff."midiInstrument" = "trumpet" [d8. ( \f e16 ] ) d2 | R2.*30 | @@ -575,7 +575,7 @@ r4 r8 [c'16^"Flauto" ( d] | trpII=\notes\relative c' { \key c; -\property Staff."midi_instrument" = "trumpet" +\property Staff."midiInstrument" = "trumpet" R2.*31 | r4 r^\fermata r8 ^\fermata r | @@ -677,7 +677,7 @@ g4 \fz r^\fermata timpani=\notes\relative c, { \clef "bass"; -\property Staff."midi_instrument" = "timpani" +\property Staff."midiInstrument" = "timpani" r2. | % Ensure that the staff is printed on page 1 of the score. R2.*5 | diff --git a/mutopia/N.W.Gade/parts.ly b/mutopia/N.W.Gade/parts.ly index 4040324fe7..6a06446bc8 100644 --- a/mutopia/N.W.Gade/parts.ly +++ b/mutopia/N.W.Gade/parts.ly @@ -8,7 +8,7 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + "Statens Musikbibliotek, Stockholm, Sweden"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "wood.ly" @@ -23,7 +23,7 @@ my_paper = \paper { } \translator { \ScoreContext - SkipBars = 1; + skipBars = 1; markScriptPadding = "6.0"; textstyle = "italic"; textEmptyDimension = 1; diff --git a/mutopia/N.W.Gade/score.ly b/mutopia/N.W.Gade/score.ly index 18e4e45e72..af45976b13 100644 --- a/mutopia/N.W.Gade/score.ly +++ b/mutopia/N.W.Gade/score.ly @@ -8,7 +8,7 @@ copyright = "Mats Bengtsson, 1999. Free circulation permitted and " + "Statens Musikbibliotek, Stockholm, Sweden"; } -\version "1.0.16"; +\version "1.0.19"; \include "global.ly" \include "wood.ly" diff --git a/mutopia/N.W.Gade/strings.ly b/mutopia/N.W.Gade/strings.ly index 94d79324b9..64594ba0c7 100644 --- a/mutopia/N.W.Gade/strings.ly +++ b/mutopia/N.W.Gade/strings.ly @@ -1,8 +1,8 @@ -\version "1.0.16"; +\version "1.0.19"; viI=\notes\relative c'' { -\property Staff."midi_instrument" = "violin" +\property Staff."midiInstrument" = "violin" r4 r [g8.-> \mf ( a16 ] | ) g4 r c, \p | @@ -261,7 +261,7 @@ f ( | viII=\notes\relative c' { -\property Staff."midi_instrument" = "violin" +\property Staff."midiInstrument" = "violin" r4 r e-> \mf ~ | e r e ( \p | @@ -564,7 +564,7 @@ es \< es4 \! d8 \f | vla=\notes\relative c' { \clef "alto"; -\property Staff."midi_instrument" = "viola" +\property Staff."midiInstrument" = "viola" [c8. \f ( d16 ] ) c2_"dim." | \context Staff <{\voiceone s4 c2 | @@ -838,7 +838,7 @@ a r c-. r | vlc=\notes\relative c' { \clef "bass"; -\property Staff."midi_instrument" = "cello" +\property Staff."midiInstrument" = "cello" r4 r [bes8. \mf ( c16] | ) bes4 r bes \p ( | @@ -1108,7 +1108,7 @@ f ( | cb=\notes\relative c { \clef "bass"; -\property Staff."midi_instrument" = "contrabass" +\property Staff."midiInstrument" = "contrabass" r4 r c-> \mf ~ | c r c \p ( | diff --git a/mutopia/N.W.Gade/wood.ly b/mutopia/N.W.Gade/wood.ly index 6907277f2b..0167cbc8e1 100644 --- a/mutopia/N.W.Gade/wood.ly +++ b/mutopia/N.W.Gade/wood.ly @@ -1,8 +1,8 @@ -\version "1.0.16"; +\version "1.0.19"; oboe=\notes\relative c'' { \clef "treble"; -\property Staff."midi_instrument" = "oboe" +\property Staff."midiInstrument" = "oboe" [c8. \f ( d16] ) c2_"dim." | [c8. ( d16] ) c2 | @@ -197,7 +197,7 @@ f4-. \fz r^\fermata flauto=\notes\relative c''' { \clef "treble"; -\property Staff."midi_instrument" = "flute" +\property Staff."midiInstrument" = "flute" [c8. \f ( d16] c2 | )c,8 r r4 r | @@ -377,7 +377,7 @@ f4 \fz r^\fermata clarI=\notes\relative c'' { \key G; \clef "treble"; -\property Staff."midi_instrument" = "clarinet" +\property Staff."midiInstrument" = "clarinet" [d8. \fp ( e16 ] ) d2 | [d8._"dim." ( e16 ] ) d2 | @@ -613,7 +613,7 @@ g'4-. \fz r^\fermata clarII=\notes\relative c'' { \key G; \clef "treble"; -\property Staff."midi_instrument" = "clarinet" +\property Staff."midiInstrument" = "clarinet" [d8. \fp ( e16 ] ) d2 | [d8._"dim." ( e16 ] ) d2 | @@ -820,7 +820,7 @@ b4-. \fz r^\fermata fagotto=\notes\relative c' { \clef "bass"; -\property Staff."midi_instrument" = "bassoon" +\property Staff."midiInstrument" = "bassoon" [c8. \f ( d16 ] ) c2_"dim." | [c8. ( d16 ] ) c4 r | diff --git a/mutopia/W.A.Mozart/cadenza.ly b/mutopia/W.A.Mozart/cadenza.ly index 12f88e3f50..bb1324dea6 100644 --- a/mutopia/W.A.Mozart/cadenza.ly +++ b/mutopia/W.A.Mozart/cadenza.ly @@ -13,7 +13,7 @@ Tested Features: cadenza mode Ugh.. Wish we had grace notes.... It adds another dimension to this piece of music. %} -\version "1.0.16"; +\version "1.0.19"; cad = \notes \relative c' { diff --git a/mutopia/W.A.Mozart/horn-concerto-3.ly b/mutopia/W.A.Mozart/horn-concerto-3.ly index 9df0fa7a3e..9d97c5244a 100644 --- a/mutopia/W.A.Mozart/horn-concerto-3.ly +++ b/mutopia/W.A.Mozart/horn-concerto-3.ly @@ -9,7 +9,7 @@ copyright = "public domain"; } -\version "1.0.16"; +\version "1.0.19"; allegro = \notes @@ -370,7 +370,7 @@ rondo = \notes \relative c' \score { - { \property Score.SkipBars = 1 + { \property Score.skipBars = 1 \romanze } \paper{ \tempo 4 = 70; } diff --git a/mutopia/gallina.ly b/mutopia/gallina.ly index e1821b98a4..8dcbb5fb15 100644 --- a/mutopia/gallina.ly +++ b/mutopia/gallina.ly @@ -97,7 +97,7 @@ vi1=\context Staff = vi1 < r8 [d16 a ][ b8 b16 c] a2 | b1 | - \repeat 2 { + \repeat "semi" 2 { r4 d d d d d | e1. | r4 c c c c c | @@ -115,7 +115,7 @@ vi1=\context Staff = vi1 < a [d,8 c] b4 [c8 d] a2 | } - \repeat 2 { + \repeat "semi" 2 { b1 | [d8 d d d] d4 [a16 b c a] | [b8 g ][ g g16 a] [b8 g ][ g g16 a] | @@ -167,7 +167,7 @@ vi2=\context Staff = vi2 < a4 g2 fis4 | g1 | - \repeat 2 { + \repeat "semi" 2 { r1. | r4 [g'8 f] e4 [f8 g] c,4 [d8 e] | a,1. | @@ -185,7 +185,7 @@ vi2=\context Staff = vi2 < fis2 g fis! | } - \repeat 2 { + \repeat "semi" 2 { g1 | r1 | r1 | [g'8 g g g] g4 [d16 e f d] | @@ -225,7 +225,7 @@ bc=\context Staff = bc < c B c G | d1^"3 4 3" | G1 | - \repeat 2 { + \repeat "semi" 2 { g1. | c | f | d^"\\textsharp" | g | c | @@ -236,7 +236,7 @@ bc=\context Staff = bc < d1.^"3 4 3" | } - \repeat 2 { + \repeat "semi" 2 { G1 | g2 fis | g G | g1^"3 4 3" | c | diff --git a/mutopia/los-toros-oboe.ly b/mutopia/los-toros-oboe.ly index 504de633a3..f889f73d66 100644 --- a/mutopia/los-toros-oboe.ly +++ b/mutopia/los-toros-oboe.ly @@ -8,22 +8,9 @@ enteredby = "jcn"; copyright = "public domain"; latexheaders= "headers"; } -\version "1.0.16"; +\version "1.0.19"; -%{ -Silly latex file dropped; use ly2dvi -Converted to relative octave from los-toros-oboe.ly: - :s/[^\}'/'x/g - :s/'x//g - (511 substitutions on 155 lines) - - lilypond -f los-toros-oboe 2> bla - wc -l bla - 138 - 138 / 3 = 46 octave quotes of 511 remain! - -%} \include "paper16.ly" @@ -299,7 +286,7 @@ $staff_hoboone = \context Staff = hoboonestaff < \global \property Staff.instrument = "oboe" % don't expand multi-bar rest - \property Score.SkipBars = 1 + \property Score.skipBars = 1 \hoboone > diff --git a/scm/accordion-script.scm b/scm/accordion-script.scm index c1a5d0605d..63877537ec 100644 --- a/scm/accordion-script.scm +++ b/scm/accordion-script.scm @@ -40,23 +40,8 @@ ("accBayanbaseE" . ((accordion "Bayanbase" "E") #f 0 -1 0)) ("accBayanbaseTE" . ((accordion "Bayanbase" "TE") #f 0 -1 0)) ("accBayanbaseEE" . ((accordion "Bayanbase" "EE") #f 0 -1 0)) - ("accBayanbaseTEE" . ((accordion "Bayanbase" "TFEE") #f 0 -1 0)) -;; I don't know what naming of standard base registers is best? -;; The 'tenor-piano' style of names has been used in some old accordion -;; scores I have seen. But you never name the registers. These four are -;; the symbols that are most used then typesetting music, but in the real -;; world it differs a lot from instrument to instrument what registers -;; are available. + ("accBayanbaseTEE" . ((accordion "Bayanbase" "TEE") #f 0 -1 0)) ("accStdbase" . ((accordion "Stdbase" "") #f 0 -1 0)) -;; tenor-piano - ("accStdbaseTp" . ((accordion "Stdbase" "FE") #f 0 -1 0)) -;; tenor - ("accStdbaseT" . ((accordion "Stdbase" "TFE") #f 0 -1 0)) -;; bass-piano - ("accStdbaseBp" . ((accordion "Stdbase" "MES") #f 0 -1 0)) -;; master (changed from accStdbaseM) - ("accStdbaseMa" . ((accordion "Stdbase" "TFMES") #f 0 -1 0)) - ("accStdbaseFE" . ((accordion "Stdbase" "FE") #f 0 -1 0)) ("accStdbaseTFE" . ((accordion "Stdbase" "TFE") #f 0 -1 0)) ("accStdbaseMES" . ((accordion "Stdbase" "MES") #f 0 -1 0)) diff --git a/scripts/convert-mudela.py b/scripts/convert-mudela.py index 48a2ad709b..ec6eaa1069 100644 --- a/scripts/convert-mudela.py +++ b/scripts/convert-mudela.py @@ -287,10 +287,41 @@ if 1: newlines =[] for x in lines: x = re.sub ('\\\\type','\\\\context', x) + x = re.sub ('textstyle','textStyle', x) newlines.append (x) return newlines - conversions.append ((1,0,16), conv, '\\type -> \\context') + conversions.append ((1,0,16), conv, '\\type -> \\context, textstyle -> textStyle') + + +if 1: + def conv(lines): + newlines =[] + found = None + for x in lines: + found = re.search ('\\\\repeat',x) + newlines.append (x) + if found: break + if found: + sys.stderr.write ('\nNot smart enough to convert \\repeat') + raise FatalConversionError() + return newlines + + conversions.append ((1,0,18), conv, + '\\repeat NUM Music Alternative -> \repeat FOLDSTR Music Alternative') + +if 1: + def conv(lines): + newlines =[] + for x in lines: + x = re.sub ('SkipBars','skipBars', x) + x = re.sub ('fontsize','fontSize', x) + x = re.sub ('midi_instrument','midiInstrument', x) + newlines.append (x) + return newlines + + conversions.append ((1,0,19), conv, + 'fontsize -> fontSize, midi_instrument -> midiInstrument, SkipBars -> skipBars') diff --git a/scripts/mudela-book.py b/scripts/mudela-book.py index 2ad7a86eb2..fd535434c8 100644 --- a/scripts/mudela-book.py +++ b/scripts/mudela-book.py @@ -6,9 +6,11 @@ # bug-gnu-music@gnu.org # help-gnu-music@gnu.org # -# All non-english comments are NOT in swedish, they are norwegian! # TODO: -# * output various stuff either via sys.stderr or sys.stdout, not using print. +# * Spacing before and after mudela blocks should be fixed. No empy lines +# before and after the mudela block should make just little space between +# music and text, one or more empy lines should make bigger space, like +# between paragraphs. # * center option (??) # * make mudela-book understand usepackage{geometry} # * check that linewidth set in \paper is not wider than actual linewidth? @@ -64,7 +66,12 @@ # 0.5.5: (Mats B) # - bf: Default fragments have linewidth=-1.0 # - Added 'singleline' and 'multiline' options. - +# 0.5.6: +# - \mudelafile{} set linewith correct, -1 for .sly and texlinewidth for .fly +# - changes to Mudela_output +# - changed RE to search for pre/postMudelaExample to make it possible to +# comment out a definition. +# - use sys.stderr and sys.stdout instead of print import os import string import re @@ -73,7 +80,7 @@ import sys outdir = 'out' initfile = '' -program_version = '0.5.3' +program_version = '0.5.6' include_path = ['.'] out_files = [] @@ -99,8 +106,8 @@ twocolumn_re = re.compile('\\\\twocolumn') onecolumn_re = re.compile('\\\\onecolumn') mudela_file_re = re.compile('\\\\mudelafile{([^}]+)}') file_ext_re = re.compile('.+\\.([^.}]+$)') -preMudelaExample_re = re.compile('\\\\def\\\\preMudelaExample') -postMudelaExample_re = re.compile('\\\\def\\\\postMudelaExample') +preMudelaExample_re = re.compile('^\s*\\\\def\\\\preMudelaExample') +postMudelaExample_re = re.compile('^\s*\\\\def\\\\postMudelaExample') boundingBox_re = re.compile('%%BoundingBox: ([0-9]+) ([0-9]+) ([0-9]+) ([0-9]+)') intertext_re = re.compile("intertext=\"([^\"]*)\"") @@ -238,6 +245,15 @@ class Properties: class Mudela_output: + """ Using only self.code_type to deside both value of linewith and + if we have to put code into \score{...} was silly. Now we use: + self.code_type: show us what need to be added. + None : init value + 'NOTES' : add \context Voice{ ... } + 'CONTEXT' : add \score{ ... } + 'COMPLETE' : jupp + self.single_line_b: 0 : linewidth=-1 1: linewith=textwidth + """ def __init__ (self, basename): self.basename = basename self.temp_filename = "%s/%s" %(outdir, 'mudela-temp.ly') @@ -245,48 +261,59 @@ class Mudela_output: self.__lines = [] # 'tex' or 'eps' self.graphic_type = 'tex' - self.code_type = 'unknown' - self.code_type_override = None + self.code_type = None + self.single_line_b = 1 + self.optlist = [] def write (self, line): - # match only if there is nothing but whitespace before \begin HACK + # match only if there is nothing but whitespace before \begin. + # we should not have to do this RE for every line if re.search('^\s*\\\\begin{mudela}', line): - self.scan_begin_statement(line) - else: - if self.code_type == 'unknown': - if re.search('^\s*\\\\score', line) or \ - re.search('^\s*\\\\paper', line) or \ - re.search('^\s*\\\\header', line) or \ - re.search('^\s*[A-Za-z]*\s*=', line): - self.code_type = 'ly' + r = begin_mudela_opts_re.search(line) + if r: + o = r.group()[1:-1] + self.optlist = re.compile('[\s,]*').split(o) + else: + self.optlist = [] + else: # ugh this is NOT bulletproof... + if not self.code_type: + if re.search('^\s*%', line) or re.search('^\s*$', line): + pass + elif re.search('^\s*\\\\context', line): + self.code_type = 'CONTEXT' + self.single_line_b = 0 + elif re.search('^\s*\\\\score', line) or \ + re.search('^\s*\\\\paper', line) or \ + re.search('^\s*\\\\header', line) or \ + re.search('^\s*\\\\version', line) or \ + re.search('^\s*\\\\include', line) or \ + re.search('^\s*[A-Za-z]*\s*=', line): + self.code_type = 'COMPLETE' + self.single_line_b = 0 + else: + self.code_type = 'NOTES' + self.single_line_b = 1 self.__lines.append(line) - def scan_begin_statement(self, line): - r = begin_mudela_opts_re.search(line) - if r: - o = r.group()[1:-1] - optlist = re.compile('[\s,]*').split(o) - else: - optlist = [] - if 'fragment' in optlist: - self.code_type_override = 'sly' - if 'nonfragment' in optlist: - self.code_type_override = 'ly' - if 'singleline' in optlist: - self.code_type_override = 'sly' - if 'multiline' in optlist: - self.code_type_override = 'fly' - if 'eps' in optlist: + def write_red_tape(self): + if 'eps' in self.optlist: self.graphic_type = 'eps' + #self.single_line_b = 1 + if 'fragment' in self.optlist: + self.code_type = 'NOTES' + if 'nonfragment' in self.optlist: + self.code_type = 'COMPLETE' + if 'multiline' in self.optlist: + self.single_line_b = 0 for pt in fontsize_pt2i.keys(): - if pt in optlist: + if pt in self.optlist: Props.setMudelaFontsize(fontsize_pt2i[pt], 'block') - def write_red_tape(self): self.file.write ('\\include \"paper%d.ly\"\n' \ % Props.getMudelaFontsize()) s = fontsize_i2a[Props.getMudelaFontsize()] - if self.code_type == 'sly': + if 'singleline' in self.optlist: + self.single_line_b = 1 + if self.single_line_b: linewidth_str = 'linewidth = -1.\cm;' - self.code_type = 'fly' else: linewidth_str = 'linewidth = %i.\\pt;' % Props.getLineWidth() self.file.write("\\paper {" @@ -294,19 +321,18 @@ class Mudela_output: + linewidth_str + "castingalgorithm = \Gourlay; \n}") #+ "castingalgorithm = \Wordwrap; indent = 2.\cm; \n}") - if self.code_type == 'fly': + if self.code_type == 'CONTEXT': self.file.write('\\score{\n\\notes\\relative c{') + if self.code_type == 'NOTES' : + self.file.write('\\score{\n\\notes\\relative c{\\context Voice{') def close (self): - if self.code_type == 'unknown': - self.code_type = 'sly' - if self.code_type_override: - self.code_type = self.code_type_override self.write_red_tape() for l in self.__lines: self.file.write(l) - if self.code_type == 'fly': + if self.code_type == 'CONTEXT': self.file.write('}}') - + elif self.code_type == 'NOTES': + self.file.write('}}}') self.file.close() inf = outdir + self.basename + '.ly' @@ -324,7 +350,7 @@ class Mudela_output: return recompile_b def insert_me_string(self): - "Returns a string that can be used directly in latex." + "ugh the name of this function is wrong" if self.graphic_type == 'tex': return ['tex', self.basename] elif self.graphic_type == 'eps': @@ -360,7 +386,7 @@ class Tex_output: if s != '': e = os.system('cd %s; lilypond %s' %(outdir, s)) if e: - print "error: lilypond exited with value", e + sys.stderr.write("error: lilypond exited with value %i\n" % e) sys.exit(e) for g in g_vec: if g[0] == 'eps': @@ -373,13 +399,14 @@ class Tex_output: for line in self.__lines: if type(line)==type([]): if line[0] == 'tex': - file.write('\\preMudelaExample\\input %s\n\postMudelaExample '\ + #\\def\\interscoreline{} + file.write('\\preMudelaExample \\input %s \\postMudelaExample\n'\ # TeX applies the prefix of the main source automatically. % (line[1]+'.tex')) # % (outdir+line[1]+'.tex')) if line[0] == 'eps': ps_dim = ps_dimention(outdir+line[1]+'.eps') - file.write('\\parbox{%ipt}{\includegraphics{%s}}\n' \ + file.write('\\noindent\\parbox{%ipt}{\includegraphics{%s}}\n' \ % (ps_dim[0], line[1]+'.eps')) # % (ps_dim[0], outdir+line[1]+'.eps')) else: @@ -441,8 +468,7 @@ class Tex_input: retlines = retlines + ls[0] retdeps = retdeps + ls[1] except: - print "warning: can't find %s, let's hope latex will" \ - % r_inp.groups()[0] + sys.stderr.write("warning: can't find %s, let's hope latex will\n" % r_inp.groups()[0]) retlines.append (line) elif r_inc: try: @@ -453,8 +479,7 @@ class Tex_input: retlines = retlines + ls[0] retdeps = retdeps + ls[1] except: - print "warning: can't find %s, let's hope latex will" \ - % r_inc.groups()[0] + sys.stderr.write("warning: can't find %s, let's hope latex will" % r_inc.groups()[0]) retlines.append (line) else: # This code should be rewritten, it looks terrible @@ -571,21 +596,20 @@ class Main_tex_input(Tex_input): fn = r.group (1) full_path = find_file (fn) if not full_path: - print 'error: can\'t find file `%s\'.' % fn + sys.stderr.write("error: can't find file '%s'\n" % fn) sys.exit (1) - - r = file_ext_re.search(fn) - if r: - self.code_type = r.group(1) - f = open (full_path, 'r') lines =f.readlines () for x in lines: self.mudela.write (x) + r = file_ext_re.search(fn) + if r: + if r.group(1) == 'fly': + self.mudela.optlist.append('multiline') stat =self.mudela.close () if stat: - print "(File %s needs recompiling)\n" % full_path + sys.stdout.write("(File %s needs recompiling)\n" % full_path) self.mudtex.write (self.mudela.insert_me_string()) self.deps.append (full_path) del self.mudela @@ -673,7 +697,7 @@ Options:\n def write_deps (fn, out, deps): out_fn = os.path.join (outdir, fn) - print 'writing `%s\'\n' % out_fn + sys.stdout.write('writing `%s\'\n' % out_fn) f = open (out_fn, 'w') target = re.sub (os.sep + os.sep, os.sep, os.path.join (outdir, out + '.latex')) @@ -695,7 +719,7 @@ def main(): 'help', 'dependencies', 'include=', 'force-verbatim', 'init=']) except getopt.error, msg: - print "error:", msg + sys.stderr.write("error: %s" % msg) sys.exit(1) do_deps = 0 @@ -707,7 +731,7 @@ def main(): elif o == '--outname' or o == '-o': if len(files) > 1: #HACK - print "Mudela-book is confused by --outname on multiple files" + sys.stderr.write("Mudela-book is confused by --outname on multiple files") sys.exit(1) outname = a elif o == '--outdir' or o == '-d': @@ -718,14 +742,14 @@ def main(): do_deps = 1 elif o == '--default-mudela-fontsize': if not fontsize_pt2i.has_key(a): - print "Error: illegal fontsize:", a - print " accepted fontsizes are: 11pt, 13pt, 16pt, 20pt, 26pt" + sys.stderr.write("Error: illegal fontsize: %s" % a) + sys.stderr.write(" accepted fontsizes are: 11pt, 13pt, 16pt, 20pt, 26pt") sys.exit() Props.setMudelaFontsize(fontsize_pt2i[a], 'init') elif o == '--force-mudela-fontsize': if not fontsize_pt2i.has_key(a): - print "Error: illegal fontsize:", a - print " accepted fontsizes are: 11pt, 13pt, 16pt, 20pt, 26pt" + sys.stderr.write("Error: illegal fontsize: %s" % a) + sys.stderr.write(" accepted fontsizes are: 11pt, 13pt, 16pt, 20pt, 26pt") sys.exit() Props.force_mudela_fontsize = fontsize_pt2i[a] elif o == '--force-verbatim': @@ -737,7 +761,7 @@ def main(): # r""" ... """ means: leave escape seqs alone. defined_mudela_cmd = {'mudela': r""" -\begin{mudela}[eps \fontoptions] +\begin{mudela}[eps, singleline \fontoptions] \context Staff < \context Voice{ \maininput diff --git a/stepmake/NEWS b/stepmake/NEWS index 480f8a8cd2..d25b32274e 100644 --- a/stepmake/NEWS +++ b/stepmake/NEWS @@ -1,3 +1,11 @@ +pl 74 + - avoid buggy /bin/sh on hp-ux + - bf: make/stepmake.make + - simple prolog support + +pl 73 + - bf: invoke sed only once + pl 72 - bf: mfplain dependency - inimf, inimf checking (sigh) diff --git a/stepmake/VERSION b/stepmake/VERSION index df407f27e3..a9f9a07036 100644 --- a/stepmake/VERSION +++ b/stepmake/VERSION @@ -1,7 +1,7 @@ PACKAGE_NAME=StepMake MAJOR_VERSION=0 MINOR_VERSION=1 -PATCH_LEVEL=72 +PATCH_LEVEL=74 MY_PATCH_LEVEL= # use the above to send patches, always empty for released version: diff --git a/stepmake/aclocal.m4 b/stepmake/aclocal.m4 index c9e042c0e5..e1ea2a59d8 100644 --- a/stepmake/aclocal.m4 +++ b/stepmake/aclocal.m4 @@ -273,6 +273,15 @@ dnl export INSTALL="\$\(depth\)/bin/install-sh" dnl fi AC_CHECK_PROGS(TAR, tar, error) + + if test "x`uname`" = "xHP-UX"; then + AC_STEPMAKE_WARN(avoiding buggy /bin/sh) + AC_CHECK_PROGS(SHELL, bash, /bin/ksh) + else + SHELL=/bin/sh + AC_SUBST(SHELL) + fi + AC_CHECK_PROGS(BASH, bash, /bin/sh) AC_PATH_PROG(PYTHON, ${PYTHON:-python}, -echo no python) diff --git a/stepmake/config.make.in b/stepmake/config.make.in index f3fcccab6e..5eb062aaf0 100644 --- a/stepmake/config.make.in +++ b/stepmake/config.make.in @@ -55,6 +55,7 @@ MSGFMT = @MSGFMT@ PATHSEP = @PATHSEP@ PERL = @PERL@ PYTHON = @PYTHON@ +SHELL = @SHELL@ STRIPROFF = @STRIPROFF@ TAR= @TAR@ TBL = @TBL@ diff --git a/stepmake/configure b/stepmake/configure index 94dcac8c34..736e0ee2d4 100755 --- a/stepmake/configure +++ b/stepmake/configure @@ -54,6 +54,9 @@ fi + + + # Guess values for system-dependent variables and create Makefiles. # Generated automatically using autoconf version 2.13 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. @@ -753,7 +756,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:757: checking host system type" >&5 +echo "configure:760: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -778,7 +781,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:782: checking for $ac_word" >&5 +echo "configure:785: 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 @@ -813,7 +816,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:817: checking for $ac_word" >&5 +echo "configure:820: 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 @@ -850,7 +853,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:854: checking for $ac_word" >&5 +echo "configure:857: 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 @@ -880,12 +883,58 @@ test -n "$TAR" && break done test -n "$TAR" || TAR="error" + + if test "x`uname`" = "xHP-UX"; then + + echo "configure: warning: avoiding buggy /bin/sh" 1>&2 + warn_b=yes + + for ac_prog in bash +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:898: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_prog_SHELL'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + if test -n "$SHELL"; then + ac_cv_prog_SHELL="$SHELL" # Let the user override the test. +else + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_prog_SHELL="$ac_prog" + break + fi + done + IFS="$ac_save_ifs" +fi +fi +SHELL="$ac_cv_prog_SHELL" +if test -n "$SHELL"; then + echo "$ac_t""$SHELL" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + +test -n "$SHELL" && break +done +test -n "$SHELL" || SHELL="/bin/ksh" + + else + SHELL=/bin/sh + + fi + for ac_prog in bash 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:889: checking for $ac_word" >&5 +echo "configure:938: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_BASH'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -919,7 +968,7 @@ test -n "$BASH" || BASH="/bin/sh" # 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:923: checking for $ac_word" >&5 +echo "configure:972: 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 @@ -1086,7 +1135,7 @@ fi echo $ac_n "checking language""... $ac_c" 1>&6 -echo "configure:1090: checking language" >&5 +echo "configure:1139: checking language" >&5 case "$language" in En* | en* | Am* | am* | US* | us*) lang=English;; @@ -1119,7 +1168,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:1123: checking for $ac_word" >&5 +echo "configure:1172: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIPROFF'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1154,7 +1203,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:1158: checking for $ac_word" >&5 +echo "configure:1207: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1189,7 +1238,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:1193: checking for $ac_word" >&5 +echo "configure:1242: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2HTML'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1224,7 +1273,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:1228: checking for $ac_word" >&5 +echo "configure:1277: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2LATEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1258,7 +1307,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:1262: checking for $ac_word" >&5 +echo "configure:1311: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MAN'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1293,7 +1342,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:1297: checking for $ac_word" >&5 +echo "configure:1346: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2MSLESS'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1328,7 +1377,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:1332: checking for $ac_word" >&5 +echo "configure:1381: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TEXINFO'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1363,7 +1412,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:1367: checking for $ac_word" >&5 +echo "configure:1416: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YODL2TXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1422,7 +1471,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:1426: checking for $ac_word" >&5 +echo "configure:1475: 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 diff --git a/stepmake/make/generic-rules.make b/stepmake/make/generic-rules.make index 0213970378..224a5bf1eb 100644 --- a/stepmake/make/generic-rules.make +++ b/stepmake/make/generic-rules.make @@ -6,6 +6,6 @@ include $(depth)/make/substitute.make $(outdir)/%: %.in rm -f $@ - cat $< | $(sed-atfiles) | $(sed-atvariables) > $@ + cat $< | sed $(sed-atfiles) $(sed-atvariables) > $@ diff --git a/stepmake/make/out/stepmake.lsm b/stepmake/make/out/stepmake.lsm index 555662c73c..72bfd29001 100644 --- a/stepmake/make/out/stepmake.lsm +++ b/stepmake/make/out/stepmake.lsm @@ -1,15 +1,15 @@ Begin3 Title: StepMake -Version: 0.1.72 -Entered-date: 17MAR99 +Version: 0.1.74 +Entered-date: 17MAY99 Description: Keywords: music notation typesetting midi fonts engraving Author: janneke@gnu.org (Jan Nieuwenhuizen) hanwen@cs.ruu.nl (Han-Wen Nienhuys) Maintained-by: janneke@gnu.org (Jan Nieuwenhuizen) Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert - 40k stepmake-0.1.72.tar.gz + 40k stepmake-0.1.74.tar.gz Original-site: pcnov095.win.tue.nl /pub/lilypond/development/ - 40k stepmake-0.1.72.tar.gz + 40k stepmake-0.1.74.tar.gz Copying-policy: GPL End diff --git a/stepmake/make/out/stepmake.spec b/stepmake/make/out/stepmake.spec index 9516c29312..532b1c462e 100644 --- a/stepmake/make/out/stepmake.spec +++ b/stepmake/make/out/stepmake.spec @@ -1,9 +1,9 @@ Name: stepmake -Version: 0.1.72 +Version: 0.1.74 Release: 1 Copyright: GPL Group: Development -Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.72.tar.gz +Source0: pcnov095.win.tue.nl:/pub/lilypond/development/stepmake-0.1.74.tar.gz Summary: generic make package Packager: janneke@gnu.org (Jan Nieuwenhuizen) Buildroot: /tmp/stepmake-install diff --git a/stepmake/make/stepmake.make b/stepmake/make/stepmake.make index 9b114e1b20..3c7dade6d7 100644 --- a/stepmake/make/stepmake.make +++ b/stepmake/make/stepmake.make @@ -6,6 +6,8 @@ include $(depth)/make/toplevel-version.make ifeq (0,${MAKELEVEL}) MAKE:=$(MAKE) --no-builtin-rules endif +.SUFFIXES: + ifndef config configuration=config @@ -21,19 +23,31 @@ else outdir=out endif +# user package +# stepdir = $(stepmake)/stepmake +# for stepmake packageg stepdir = $(depth)/stepmake -LOCALSTEPMAKE_TEMPLATES:=generic $(LOCALSTEPMAKE_TEMPLATES) STEPMAKE_TEMPLATES := generic $(STEPMAKE_TEMPLATES) +LOCALSTEPMAKE_TEMPLATES:= generic $(LOCALSTEPMAKE_TEMPLATES) + + +all: + +-include $(addprefix $(depth)/make/,$(addsuffix -inclusions.make, $(LOCALSTEPMAKE_TEMPLATES))) + +-include $(addprefix $(stepdir)/,$(addsuffix -inclusions.make, $(STEPMAKE_TEMPLATES))) -default: +include $(addprefix $(stepdir)/,$(addsuffix -vars.make, $(STEPMAKE_TEMPLATES))) + +# ugh. need to do this because of PATH :=$(topdir)/..:$(PATH) include $(addprefix $(depth)/make/,$(addsuffix -vars.make, $(LOCALSTEPMAKE_TEMPLATES))) -include $(addprefix $(stepdir)/,$(addsuffix -vars.make, $(STEPMAKE_TEMPLATES))) + + include $(addprefix $(depth)/make/,$(addsuffix -rules.make, $(LOCALSTEPMAKE_TEMPLATES))) include $(addprefix $(stepdir)/,$(addsuffix -rules.make, $(STEPMAKE_TEMPLATES))) include $(addprefix $(depth)/make/,$(addsuffix -targets.make, $(LOCALSTEPMAKE_TEMPLATES))) include $(addprefix $(stepdir)/,$(addsuffix -targets.make, $(STEPMAKE_TEMPLATES))) - diff --git a/stepmake/stepmake/podir-targets.make b/stepmake/stepmake/podir-targets.make index f225effd8f..bb2785d4d4 100644 --- a/stepmake/stepmake/podir-targets.make +++ b/stepmake/stepmake/podir-targets.make @@ -6,9 +6,9 @@ $(outdir)/%.mo: %.po $(MSGFMT) -o $@ $< # sed-pofile = sed 's/^. \#: .*//' -sed-pofile = sed 's/^\#: .*//' -sed-makestuff = sed 's/[a-zA-Z_/]*make\[[0-9]*\].*//' -sed-edstuff = sed 's/[ \.,adic0-9]*//' | sed 's/---//' | sort -u +sed-pofile = -e 's/^\#: .*//' +sed-makestuff = -e 's/[a-zA-Z_/]*make\[[0-9]*\].*//' +sed-edstuff = -e 's/[ \.,adic0-9]*//' -e 's/---//' | sort -u po-update: $(foreach i,$(CATALOGS), \ @@ -16,7 +16,7 @@ po-update: tupdate $(po-dir)/$(outdir)/$(package).po $(po-dir)/$(i).po \ > $(po-dir)/$(outdir)/$(i).po && ) true $(foreach i,$(CATALOGS), \ - changes=`$(MAKE) --silent -C $(po-dir) LANGUAGE=$$i po-changes $(ERROR_LOG) | $(sed-makestuff)`; \ + changes=`$(MAKE) --silent -C $(po-dir) LANGUAGE=$$i po-changes $(ERROR_LOG) | sed $(sed-makestuff)`; \ if test "$$changes" != "" ; then \ echo "*** Changes for language $$i; check po/$(outdir)/$$i.po ***"; \ echo -e "changes: \`$$changes'";\ @@ -25,4 +25,4 @@ po-update: po-changes: diff -e $(po-dir)/$(outdir)/$(LANGUAGE).po $(po-dir)/$(LANGUAGE).po \ - | $(sed-pofile) | $(sed-edstuff) + | sed $(sed-pofile) $(sed-edstuff) diff --git a/stepmake/stepmake/prolog-rules.make b/stepmake/stepmake/prolog-rules.make new file mode 100644 index 0000000000..4ac1b8c193 --- /dev/null +++ b/stepmake/stepmake/prolog-rules.make @@ -0,0 +1,4 @@ +# stepmake/prolog-rules.make + +.SUFFIXES: .pl .s + diff --git a/stepmake/stepmake/prolog-targets.make b/stepmake/stepmake/prolog-targets.make new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/stepmake/stepmake/prolog-targets.make @@ -0,0 +1 @@ + diff --git a/stepmake/stepmake/prolog-vars.make b/stepmake/stepmake/prolog-vars.make new file mode 100644 index 0000000000..ad4793061c --- /dev/null +++ b/stepmake/stepmake/prolog-vars.make @@ -0,0 +1,8 @@ + +# prolog files: +PL_FILES := $(wildcard *.pl) + +SOURCE_FILES += $(PL_FILES) + +TAGS_FILES += $(PL_FILES) + diff --git a/stepmake/stepmake/script-rules.make b/stepmake/stepmake/script-rules.make index 1dca17b995..813ffde61b 100644 --- a/stepmake/stepmake/script-rules.make +++ b/stepmake/stepmake/script-rules.make @@ -1,19 +1,14 @@ -# Scripts.make - - - $(outdir)/%: %.pl - cat $< | $(sed-atvariables) > $@ + cat $< | sed $(sed-atvariables) > $@ chmod 755 $@ #FIXME. Check for bash? $(outdir)/%: %.sh - cat $< | $(sed-atvariables) > $@ + cat $< | sed $(sed-atvariables) > $@ chmod 755 $@ - $(outdir)/%: %.py - cat $< | $(sed-atvariables) > $@ + cat $< | sed $(sed-atvariables) > $@ chmod 755 $@ diff --git a/stepmake/stepmake/substitute-rules.make b/stepmake/stepmake/substitute-rules.make index 6faf105a38..fa93fed6f6 100644 --- a/stepmake/stepmake/substitute-rules.make +++ b/stepmake/stepmake/substitute-rules.make @@ -1,5 +1,5 @@ $(outdir)/%: %.in rm -f $@ - cat $< | $(sed-atfiles) | $(sed-atvariables) > $@ + cat $< | sed $(sed-atfiles) $(sed-atvariables) > $@ diff --git a/stepmake/stepmake/substitute-vars.make b/stepmake/stepmake/substitute-vars.make index 823ada2995..d310ae63a2 100644 --- a/stepmake/stepmake/substitute-vars.make +++ b/stepmake/stepmake/substitute-vars.make @@ -10,12 +10,12 @@ DATE = $(date) # for all FILE in AT_FILES: # substitute occurrences of @FILE@ with contents $(at-dir)BLA$(at-ext) -sed-atfiles = cat $(foreach i, $(AT_FILES), \ - | sed '/@$i@/r $(at-dir)$i$(at-ext)' | sed 's%@$i@%%g') +sed-atfiles = -e '' $(foreach i, $(AT_FILES), \ + -e '/@$i@/r $(at-dir)$i$(at-ext)' -e 's%@$i@%%g') # for all VAR in ATVARIABLES # substitute occurrences of @VAR@ with $(VAR) -sed-atvariables = cat $(foreach i, $(ATVARIABLES), | sed 's!@$i@!$($i)!g') +sed-atvariables = -e '' $(foreach i, $(ATVARIABLES), -e 's!@$i@!$($i)!g') # these are obsolete # use ATVARIABLES