From 7c13cab3cad84382af6390ec6b97978ee5ee8798 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 13 Aug 2009 01:07:22 +0200 Subject: [PATCH] Doc: automated-engraving: tweaks. Fixes menu structure and appearance. --- Documentation/automated-engraving.texi | 8 ++++-- .../automated-engraving/benchmarking.itexi | 28 +++++++++---------- .../automated-engraving/conclusion.itexi | 9 ++---- .../divide-and-conquer.itexi | 9 ++---- .../automated-engraving/engraving.itexi | 8 ++---- .../formatting-architecture.itexi | 13 ++++----- .../implementing-notation.itexi | 25 ++++++++--------- .../implementing-typography.itexi | 6 +--- .../automated-engraving/input-format.itexi | 13 ++++----- .../automated-engraving/introduction.itexi | 20 ++++++------- .../problem-statement.itexi | 7 ++--- .../automated-engraving/schubert.itexi | 7 ++--- .../scoring-esthetics.itexi | 11 +++----- .../automated-engraving/software.itexi | 23 ++++++--------- .../typography-features.itexi | 17 ++++------- 15 files changed, 79 insertions(+), 125 deletions(-) diff --git a/Documentation/automated-engraving.texi b/Documentation/automated-engraving.texi index eba5459d8f..28e98e0559 100644 --- a/Documentation/automated-engraving.texi +++ b/Documentation/automated-engraving.texi @@ -28,7 +28,9 @@ hmm, the one big page is too big, but it was really inviting to @chapheading @end ifnottex -@unnumberedsec What is behind LilyPond? +@finalout + +@heading What is behind LilyPond? @sourceimage{hader-collage,,,.jpeg} @@ -44,8 +46,8 @@ What is the difference between hand-work and machine work, and what them. @menu -* introduction:: Introduction -- what's wrong with computer music notation. -* software:: What's wrong with software -- or how Finale is not the end-all of music software. +* introduction:: Introduction -- what is wrong with computer music notation. +* software:: What is wrong with software -- or how Finale is not the end-all of music software. * problem-statement:: How not to design software -- or modeling music notation. * divide-and-conquer:: Divide and conqueror -- a blue print for automated notation. * implementing-notation:: Impressive, but does it also work in theory -- a practical approach to capturing notation. diff --git a/Documentation/automated-engraving/benchmarking.itexi b/Documentation/automated-engraving/benchmarking.itexi index e4a239579e..d9892e0abe 100644 --- a/Documentation/automated-engraving/benchmarking.itexi +++ b/Documentation/automated-engraving/benchmarking.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -26,33 +26,32 @@ edition (B@"arenreiter BA 320) at the bottom the output from LilyPond 1.4: @divClass{float-center} -@divEnd @c @ref{baer-sarabande-hires.jpeg, @sourceimage{baer-sarabande,,,.png} @c } +@divEnd @divClass{float-center} -@divEnd B@"arenreiter (click to enlarge) +@divEnd @divClass{float-center} -@divEnd @sourceimage{lily14-sarabande,,,.png} +@divEnd @divClass{float-center} -@divEnd LilyPond 1.4 +@divEnd The LilyPond output is certainly readable, and for many people it would be acceptable. However, close comparison with a hand-engraved score showed a lot of errors in the formatting details: @divClass{float-center} -@divEnd @sourceimage{lily14-sarabande-correct,,,.png} +@divEnd @divClass{float-center} -@divEnd @itemize @item Lots of symbols were unbalanced. In particular the trill sign was @@ -71,6 +70,8 @@ too wide. @end itemize +@divEnd + (And there were missing notes in the original version for LilyPond) By addressing the relevant algorithms, settings, and font designs, we @@ -79,28 +80,25 @@ below. Although it is not a clone of the reference edition, this output is very close to publication quality. @divClass{float-center} -@divEnd @sourceimage{lily17-sarabande,,,.png} +@divEnd @divClass{float-center} -@divEnd LilyPond 1.8 +@divEnd @divClass{float-center} -@divEnd @sourceimage{baer-sarabande,,,.png} +@divEnd @divClass{float-center} -@divEnd B@"arenreiter +@divEnd Another example of benchmarking is our project for the 2.1 series, a @ref{schubert,Schubert song}. @divClass{float-right} -@divEnd Next: @ref{typography-features,Cool features}, typographical hoops that we made LilyPond jump through. - -@bye - +@divEnd diff --git a/Documentation/automated-engraving/conclusion.itexi b/Documentation/automated-engraving/conclusion.itexi index 3cba5549af..309358201b 100644 --- a/Documentation/automated-engraving/conclusion.itexi +++ b/Documentation/automated-engraving/conclusion.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -29,9 +29,6 @@ especially @uref{http://www.musicbyandrew.ca/finale-lilypond-1.html,Andrew Hawryluk's writings}, which include Finale and LilyPond notation benchmarking. -@divClass{float-right} -@divEnd +@c @divClass{float-right} +@c @divEnd @c Go @ref{Top,back} to the top. - -@bye - diff --git a/Documentation/automated-engraving/divide-and-conquer.itexi b/Documentation/automated-engraving/divide-and-conquer.itexi index 566af1a4ce..382866866e 100644 --- a/Documentation/automated-engraving/divide-and-conquer.itexi +++ b/Documentation/automated-engraving/divide-and-conquer.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -22,7 +22,7 @@ should follow this scheme @tab -@strong{←} +@result{} @tab @@ -74,9 +74,6 @@ Finally, whenever you subdivide a problem, a new problem is created, @end enumerate @divClass{float-right} -@divEnd Next: @ref{implementing-notation,Impressive, but does it also work in theory}? A practical approach to capturing notation. - -@bye - +@divEnd diff --git a/Documentation/automated-engraving/engraving.itexi b/Documentation/automated-engraving/engraving.itexi index 444a060757..79e0717803 100644 --- a/Documentation/automated-engraving/engraving.itexi +++ b/Documentation/automated-engraving/engraving.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -47,10 +47,6 @@ impossible to capture in formal rules. @end itemize @divClass{float-right} -@divEnd Next: @ref{implementing-typography,Stamping computer screens?}. Computer hackers take over the engraving business. - - -@bye - +@divEnd diff --git a/Documentation/automated-engraving/formatting-architecture.itexi b/Documentation/automated-engraving/formatting-architecture.itexi index 11c94e7c2d..33599f9ea5 100644 --- a/Documentation/automated-engraving/formatting-architecture.itexi +++ b/Documentation/automated-engraving/formatting-architecture.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -25,8 +25,8 @@ and arpeggio. In the first chord, the objects have all directions down (or left). The second chord has all directions up (right). @divClass{float-center} -@divEnd @sourceimage{directions-updown,,,.png} +@divEnd The process of formatting a score consists of reading and writing object variables. @@ -39,8 +39,8 @@ Some variables have a preset value. For example, the thickness of variables. Changing them gives a different typographical impression: @divClass{float-center} -@divEnd @sourceimage{thickness-tweaks,,,.png} +@divEnd @item Formatting rules are also preset variables: each object has @@ -50,16 +50,13 @@ behavior. In the following example, the rule that note head objects use to draw their symbol is changed during the music fragment: @divClass{float-center} -@divEnd @sourceimage{mc-squared,,,.png} +@divEnd @end itemize @divClass{float-right} -@divEnd Next: @ref{scoring-esthetics,Beautiful numbers}: how LilyPond participates in the Miss World contests. - -@bye - +@divEnd diff --git a/Documentation/automated-engraving/implementing-notation.itexi b/Documentation/automated-engraving/implementing-notation.itexi index 4b16dbb8d7..70478416e8 100644 --- a/Documentation/automated-engraving/implementing-notation.itexi +++ b/Documentation/automated-engraving/implementing-notation.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -28,8 +28,8 @@ can be developed and improved separately. The most basic plug-in creates Note-heads: @divClass{float-center} -@divEnd @sourceimage{engraver-noteheads,,,.png} +@divEnd This plug-in creates graphical objects from musical events. People that put graphics to musical ideas are called copyists or engravers, @@ -41,8 +41,8 @@ so by analogy, this plug-in is called @code{Note_head_engraver}. representing the staff lines. @divClass{float-center} -@divEnd @sourceimage{engraver-staff,,,.png} +@divEnd @item @@ -50,8 +50,8 @@ representing the staff lines. each head should be placed. @divClass{float-center} -@divEnd @sourceimage{engraver-clef,,,.png} +@divEnd @@ -60,8 +60,8 @@ each head should be placed. For the flags and stems we add a @code{Stem_engraver}: @divClass{float-center} -@divEnd @sourceimage{engraver-stem,,,.png} +@divEnd This engraver is notified of any note head coming along. Every time one (or more, for a chord) note head is seen, a stem object is @@ -74,8 +74,8 @@ Beams, slurs, accents are handled by separate engravers. Like the note heads, etc.: @divClass{float-center} -@divEnd @sourceimage{engraver-slur,,,.png} +@divEnd @@ -86,8 +86,8 @@ separate engraver. @divClass{float-center} -@divEnd @sourceimage{engraver-acc,,,.png} +@divEnd The @code{Accidental_engraver} is the most complex plug-in: it has to look at the key signature, note pitches, ties, and bar lines to @@ -105,8 +105,8 @@ but what about polyphony? In polyphonic notation, many voices can share a staff: @divClass{float-center} -@divEnd @sourceimage{engraver-final,,,.png} +@divEnd In this situation, the accidentals and staff are shared, but the stems, slurs, beams, etc. are private to each voice. Hence, engravers @@ -118,13 +118,10 @@ context. Similarly, more Staff contexts can be put into a single Score context: @divClass{float-center} -@divEnd @sourceimage{engraver-score,,,.png} +@divEnd @divClass{float-right} -@divEnd Next: @ref{engraving,The art of stamping}: -how @emph{did} they make hand-made music? - -@bye - +how @emph{did} they make hand-made music? +@divEnd diff --git a/Documentation/automated-engraving/implementing-typography.itexi b/Documentation/automated-engraving/implementing-typography.itexi index 2bf029e4a3..ab1f581ca6 100644 --- a/Documentation/automated-engraving/implementing-typography.itexi +++ b/Documentation/automated-engraving/implementing-typography.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -62,10 +62,6 @@ should encompass formatting rules, typographical style and individual formatting decisions. @divClass{float-right} -@divEnd Next: @ref{formatting-architecture,Program architecture, your flexible friend}: tuning, tweaking and developing typography rules. - -@bye - diff --git a/Documentation/automated-engraving/input-format.itexi b/Documentation/automated-engraving/input-format.itexi index 5cf8d4c3db..49cc252f01 100644 --- a/Documentation/automated-engraving/input-format.itexi +++ b/Documentation/automated-engraving/input-format.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -32,8 +32,8 @@ typable, e.g., Are a quarter note C1 and eighth note D1, as in this example: @divClass{float-center} -@divEnd @sourceimage{simple-notation,,,.png} +@divEnd On a microscopic scale, such syntax is easy to use. On a larger scale, syntax also needs structure. How else can you enter complex pieces @@ -62,7 +62,7 @@ and >>. @verbatim - <> + <> @end verbatim @@ -81,7 +81,7 @@ This expression is put in sequence by enclosing it in braces, i.e., @verbatim - { <> f4 } + { <> f4 } @end verbatim @@ -151,8 +151,5 @@ total @end ignore @divClass{float-right} -@divEnd Next: @ref{conclusion,wrapping it up}, the conclusion. - -@bye - +@divEnd diff --git a/Documentation/automated-engraving/introduction.itexi b/Documentation/automated-engraving/introduction.itexi index 29d824649b..dfce6aa1b0 100644 --- a/Documentation/automated-engraving/introduction.itexi +++ b/Documentation/automated-engraving/introduction.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -10,7 +10,7 @@ @node introduction -@unnumberedsec What's wrong with computer music notation? +@unnumberedsec What is wrong with computer music notation? We like to call LilyPond an "automated engraving system." It will format music notation beautifully without requiring typographical @@ -59,22 +59,22 @@ rigid and mechanical. To understand better why that is, let's blow up a fragment of both pieces: @divClass{float-center} -@divEnd @sourceimage{baer-suite1-line,,,.png} +@divEnd @divClass{float-center} -@divEnd Hand-made +@divEnd @* @divClass{float-center} -@divEnd @sourceimage{henle-suite1-line,,,.png} +@divEnd @divClass{float-center} -@divEnd Computer-made +@divEnd The location of the bar lines is a giveaway. In the new edition, both barlines are on exactly the same horizontal location. Also, the @@ -104,10 +104,6 @@ focus on playing itself. In other words, better typography translates to better performances. @divClass{float-right} -@divEnd -Next: @ref{software,What's wrong with software}, or how +Next: @ref{software,What is wrong with software}, or how Finale is not the end-all of music software. - - -@bye - +@divEnd diff --git a/Documentation/automated-engraving/problem-statement.itexi b/Documentation/automated-engraving/problem-statement.itexi index 8d00b54cdd..080c62bfaf 100644 --- a/Documentation/automated-engraving/problem-statement.itexi +++ b/Documentation/automated-engraving/problem-statement.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -68,9 +68,6 @@ intricate symbolic diagramming language for visualizing an often much simpler musical concept. Hence, software should reflect that separation. @divClass{float-right} -@divEnd Next: @ref{divide-and-conquer,Divide and conqueror}, a blue print for automated notation - -@bye - +@divEnd diff --git a/Documentation/automated-engraving/schubert.itexi b/Documentation/automated-engraving/schubert.itexi index 66f3f13de8..463dda200e 100644 --- a/Documentation/automated-engraving/schubert.itexi +++ b/Documentation/automated-engraving/schubert.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -36,8 +36,5 @@ view, see the LilyPond PDF, available @uref{http://lilypond.org/documentation/v2.2/input/mutopia/F.Schubert/out-www/morgenlied.pdf,here}. @divClass{float-right} -@divEnd @ref{benchmarking,Back to the essay} - -@bye - +@divEnd diff --git a/Documentation/automated-engraving/scoring-esthetics.itexi b/Documentation/automated-engraving/scoring-esthetics.itexi index 90a324092e..682f808a0e 100644 --- a/Documentation/automated-engraving/scoring-esthetics.itexi +++ b/Documentation/automated-engraving/scoring-esthetics.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -24,13 +24,13 @@ handcoded exceptions. Doing all this case analysis is a lot of work, and often not all cases are covered completely. @divClass{float-center} -@divEnd @sourceimage{ross-beam-scan,,,.jpeg} +@divEnd @divClass{float-center} -@divEnd @emph{Formatting rules defined by example. Image from Ted Ross' The Art of Music Engraving} +@divEnd We have developed a much easier and robust method of determining the best formatting solution: score based formatting. The principle is the @@ -94,9 +94,6 @@ to compute. However, that is a worthwhile expense, because the end result is much better, and because it makes our lives easy. @divClass{float-right} -@divEnd Next: @ref{benchmarking,Man is the measure of things}: is a flexible architecture enough? - -@bye - +@divEnd diff --git a/Documentation/automated-engraving/software.itexi b/Documentation/automated-engraving/software.itexi index 3cb64e8847..8dcd6047ae 100644 --- a/Documentation/automated-engraving/software.itexi +++ b/Documentation/automated-engraving/software.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -9,13 +9,13 @@ @node software -@unnumberedsec What's wrong with music notation software +@unnumberedsec What is wrong with music notation software Computers have made music printing accessible to the masses, but they tend to deliver mediocre typography. Apparently, programmers have been doing a shoddy job on notation programs. To illustrate that, we had an amateur user set a piece of music in one of the most popular -‘professional’ notation programs sold today, Finale +@quotedblleft{}professional@quotedblright{} notation programs sold today, Finale 2003. It was made with all of the default settings. The music is from the Sarabande of the 2nd Cello Suite by J. S. Bach. @@ -24,19 +24,19 @@ the Sarabande of the 2nd Cello Suite by J. S. Bach. } @divClass{float-center} -@divEnd @sourceimage{finale-sarabande-full,,,.png} +@divEnd This example far surpasses the previous one when it comes to formatting errors: there are serious errors in literally @emph{every} measure. The errors come in all sizes: a big one is the -oddly s p a c e d   o u t last line. A smaller one is the flat in +oddly s p a c e d @ o u t last line. A smaller one is the flat in measure 13, which is covered by the note preceding it. Here is a magnification of that measure: @divClass{float-center} -@divEnd @sourceimage{finale-flat-detail,,,.png} +@divEnd The errors go down to the teensy details: below is a blowup of the beam in that measure. Of course, in proper typography the beam should @@ -45,8 +45,8 @@ telling glimpse into Coda Music Technology programmers' aptness (or lack thereof) with the underlying PostScript technology. @divClass{float-center} -@divEnd @sourceimage{finale-beam-detail,,,.png} +@divEnd Now, one could refute that Finale has a graphical interface, and it lets you easily move about elements to correct errors, or use plug-ins @@ -64,8 +64,8 @@ too far apart. Did you notice that the eighth rest is too far down? Did it occur to you that the stem of the last eighth note is too long? @divClass{float-center} -@divEnd @sourceimage{finale-flat-correct,,,.png} +@divEnd Unless you are an expert, typographical errors will irk you without being obvious. Many of them will go uncorrected and will still be in the @@ -104,11 +104,6 @@ doubt, measure the difference with a magnifying glass. @end itemize @divClass{float-right} -@divEnd Next: @ref{problem-statement,How not to design software}, or: modeling music notation. - - - -@bye - +@divEnd diff --git a/Documentation/automated-engraving/typography-features.itexi b/Documentation/automated-engraving/typography-features.itexi index dd748576e8..56923afe8b 100644 --- a/Documentation/automated-engraving/typography-features.itexi +++ b/Documentation/automated-engraving/typography-features.itexi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@c -*- coding: utf-8; mode: texinfo; -*- @ignore Translation of GIT committish: FILL-IN-HEAD-COMMITTISH @@ -61,12 +61,12 @@ is the spacing engine. One of its features is optical spacing. It is demonstrated in the fragment below. @divClass{float-center} -@divEnd @sourceimage{spacing-with-corr,,,.png} +@divEnd @divClass{float-center} -@divEnd @sourceimage{spacing-no-corr,,,.png} +@divEnd This fragment only uses quarter notes: notes that are played in a constant rhythm. The spacing should reflect that. Unfortunately, the @@ -93,12 +93,10 @@ lines wider (thus taking up more space), or shortening ledger lines @item @sourceimage{henle-ledger,,,.png} -  - @tab -@sourceimage{baer-ledger,,,.png}  +@sourceimage{baer-ledger,,,.png} @@ -126,9 +124,6 @@ same. Ledgers are shortened so they never collide with neighboring lines, and they are shortened when there is an accidental. @divClass{float-right} -@divEnd -Next: @ref{input-format,Use the Source, Luke}, or: what +Next: @ref{input-format,Use the Source Luke}, or: what goes into LilyPond. - -@bye - +@divEnd -- 2.39.5