From 3fcb1f38d96cd2b5d49deebcde8b476ff96430e4 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Thu, 13 Aug 2009 00:32:36 +0200 Subject: Doc: automated-engraving: build fixes and images. --- Documentation/GNUmakefile | 2 +- Documentation/automated-engraving.texi | 83 ++++++++++++++ Documentation/automated-engraving/GNUmakefile | 5 + .../automated-engraving/benchmarking.itexi | 15 +-- Documentation/automated-engraving/conclusion.itexi | 16 ++- .../automated-engraving/divide-and-conquer.itexi | 16 +-- Documentation/automated-engraving/engraving.itexi | 15 +-- .../formatting-architecture.itexi | 8 +- .../implementing-notation.itexi | 21 ++-- .../implementing-typography.itexi | 2 +- Documentation/automated-engraving/index.itexi | 121 --------------------- .../automated-engraving/input-format.itexi | 65 +++++------ .../automated-engraving/introduction.itexi | 20 ++-- .../automated-engraving/introduction.texi | 50 --------- .../automated-engraving/problem-statement.itexi | 28 ++--- Documentation/automated-engraving/schubert.itexi | 17 +-- .../automated-engraving/scoring-esthetics.itexi | 18 +-- Documentation/automated-engraving/software.itexi | 10 +- .../automated-engraving/typography-features.itexi | 40 ++++--- Documentation/pictures/baer-flat-gray.png | Bin 45277 -> 29101 bytes Documentation/pictures/baer-ledger.png | Bin 0 -> 39019 bytes Documentation/pictures/baer-sarabande.png | Bin 0 -> 34131 bytes Documentation/pictures/baer-suite1-fullpage.png | Bin 0 -> 67061 bytes Documentation/pictures/baer-suite1-line.png | Bin 0 -> 38055 bytes Documentation/pictures/beam-scoring-example.png | Bin 0 -> 2249 bytes Documentation/pictures/bench-morgenlied.png | Bin 0 -> 63616 bytes Documentation/pictures/directions-updown.png | Bin 0 -> 5840 bytes Documentation/pictures/engraver-acc.png | Bin 0 -> 7826 bytes Documentation/pictures/engraver-clef.png | Bin 0 -> 3889 bytes Documentation/pictures/engraver-final.png | Bin 0 -> 14266 bytes Documentation/pictures/engraver-noteheads.png | Bin 0 -> 2087 bytes Documentation/pictures/engraver-score.png | Bin 0 -> 19624 bytes Documentation/pictures/engraver-slur.png | Bin 0 -> 7168 bytes Documentation/pictures/engraver-staff.png | Bin 0 -> 1290 bytes Documentation/pictures/engraver-stem.png | Bin 0 -> 6224 bytes Documentation/pictures/finale-beam-detail.png | Bin 0 -> 5455 bytes Documentation/pictures/finale-flat-correct.png | Bin 0 -> 4258 bytes Documentation/pictures/finale-flat-detail.png | Bin 0 -> 3007 bytes Documentation/pictures/finale-sarabande-full.png | Bin 0 -> 21408 bytes Documentation/pictures/hader-collage.jpeg | Bin 0 -> 28954 bytes Documentation/pictures/hader-slaan.jpeg | Bin 0 -> 26170 bytes Documentation/pictures/henle-flat-gray.png | Bin 25619 -> 16068 bytes Documentation/pictures/henle-ledger.png | Bin 0 -> 16286 bytes Documentation/pictures/henle-suite1-fullpage.png | Bin 0 -> 54102 bytes Documentation/pictures/henle-suite1-line.png | Bin 0 -> 29694 bytes Documentation/pictures/lily-flat-bw.png | Bin 2973 -> 4168 bytes Documentation/pictures/lily-ledger.png | Bin 0 -> 3379 bytes .../pictures/lily14-sarabande-correct.png | Bin 0 -> 33698 bytes Documentation/pictures/lily14-sarabande.png | Bin 0 -> 19890 bytes Documentation/pictures/lily17-sarabande.png | Bin 0 -> 21695 bytes Documentation/pictures/mc-squared.png | Bin 0 -> 5317 bytes Documentation/pictures/morgenlied-crop-2.jpeg | Bin 0 -> 40543 bytes Documentation/pictures/morgenlied-ly-crop2.png | Bin 0 -> 31804 bytes Documentation/pictures/naive-notation-uml.png | Bin 0 -> 2489 bytes Documentation/pictures/naive-notation.png | Bin 0 -> 9700 bytes Documentation/pictures/nonnaive-notation.png | Bin 0 -> 8934 bytes Documentation/pictures/ross-beam-scan.jpeg | Bin 0 -> 18607 bytes Documentation/pictures/simple-notation.png | Bin 0 -> 2221 bytes Documentation/pictures/simultaneous-0.png | Bin 0 -> 4715 bytes Documentation/pictures/simultaneous-1.png | Bin 0 -> 4365 bytes Documentation/pictures/simultaneous-2.png | Bin 0 -> 4850 bytes Documentation/pictures/simultaneous-3.png | Bin 0 -> 5450 bytes .../pictures/slur-esthetics-annotate-1.png | Bin 0 -> 4839 bytes .../pictures/slur-esthetics-annotate-2.png | Bin 0 -> 5795 bytes .../pictures/slur-esthetics-annotate-3.png | Bin 0 -> 5434 bytes Documentation/pictures/slur-esthetics.png | Bin 0 -> 4681 bytes Documentation/pictures/spacing-no-corr.png | Bin 0 -> 5627 bytes Documentation/pictures/spacing-with-corr.png | Bin 0 -> 5618 bytes Documentation/pictures/stone-distance.png | Bin 0 -> 8419 bytes Documentation/pictures/thickness-tweaks.png | Bin 0 -> 6556 bytes Documentation/pictures/ties-scoring-example.png | Bin 0 -> 2793 bytes python/auxiliar/buildlib.py | 2 +- python/auxiliar/postprocess_html.py | 2 +- 73 files changed, 226 insertions(+), 330 deletions(-) create mode 100644 Documentation/automated-engraving.texi create mode 100644 Documentation/automated-engraving/GNUmakefile delete mode 100644 Documentation/automated-engraving/index.itexi delete mode 100644 Documentation/automated-engraving/introduction.texi create mode 100644 Documentation/pictures/baer-ledger.png create mode 100644 Documentation/pictures/baer-sarabande.png create mode 100644 Documentation/pictures/baer-suite1-fullpage.png create mode 100644 Documentation/pictures/baer-suite1-line.png create mode 100644 Documentation/pictures/beam-scoring-example.png create mode 100644 Documentation/pictures/bench-morgenlied.png create mode 100644 Documentation/pictures/directions-updown.png create mode 100644 Documentation/pictures/engraver-acc.png create mode 100644 Documentation/pictures/engraver-clef.png create mode 100644 Documentation/pictures/engraver-final.png create mode 100644 Documentation/pictures/engraver-noteheads.png create mode 100644 Documentation/pictures/engraver-score.png create mode 100644 Documentation/pictures/engraver-slur.png create mode 100644 Documentation/pictures/engraver-staff.png create mode 100644 Documentation/pictures/engraver-stem.png create mode 100644 Documentation/pictures/finale-beam-detail.png create mode 100644 Documentation/pictures/finale-flat-correct.png create mode 100644 Documentation/pictures/finale-flat-detail.png create mode 100644 Documentation/pictures/finale-sarabande-full.png create mode 100644 Documentation/pictures/hader-collage.jpeg create mode 100644 Documentation/pictures/hader-slaan.jpeg create mode 100644 Documentation/pictures/henle-ledger.png create mode 100644 Documentation/pictures/henle-suite1-fullpage.png create mode 100644 Documentation/pictures/henle-suite1-line.png create mode 100644 Documentation/pictures/lily-ledger.png create mode 100644 Documentation/pictures/lily14-sarabande-correct.png create mode 100644 Documentation/pictures/lily14-sarabande.png create mode 100644 Documentation/pictures/lily17-sarabande.png create mode 100644 Documentation/pictures/mc-squared.png create mode 100644 Documentation/pictures/morgenlied-crop-2.jpeg create mode 100644 Documentation/pictures/morgenlied-ly-crop2.png create mode 100644 Documentation/pictures/naive-notation-uml.png create mode 100644 Documentation/pictures/naive-notation.png create mode 100644 Documentation/pictures/nonnaive-notation.png create mode 100644 Documentation/pictures/ross-beam-scan.jpeg create mode 100644 Documentation/pictures/simple-notation.png create mode 100644 Documentation/pictures/simultaneous-0.png create mode 100644 Documentation/pictures/simultaneous-1.png create mode 100644 Documentation/pictures/simultaneous-2.png create mode 100644 Documentation/pictures/simultaneous-3.png create mode 100644 Documentation/pictures/slur-esthetics-annotate-1.png create mode 100644 Documentation/pictures/slur-esthetics-annotate-2.png create mode 100644 Documentation/pictures/slur-esthetics-annotate-3.png create mode 100644 Documentation/pictures/slur-esthetics.png create mode 100644 Documentation/pictures/spacing-no-corr.png create mode 100644 Documentation/pictures/spacing-with-corr.png create mode 100644 Documentation/pictures/stone-distance.png create mode 100644 Documentation/pictures/thickness-tweaks.png create mode 100644 Documentation/pictures/ties-scoring-example.png diff --git a/Documentation/GNUmakefile b/Documentation/GNUmakefile index 640a49ca98..2f0fb20a11 100644 --- a/Documentation/GNUmakefile +++ b/Documentation/GNUmakefile @@ -9,7 +9,7 @@ depth = .. NAME = documentation LANGS = $(shell $(PYTHON) $(top-src-dir)/python/langdefs.py) -MANUALS_SUBDIRS = application contributor essay general learning notation +MANUALS_SUBDIRS = application automated-engraving contributor essay general learning notation SUBDIRS = $(MANUALS_SUBDIRS) snippets logo pictures misc po css $(LANGS) STEPMAKE_TEMPLATES = documentation texinfo tex omf LOCALSTEPMAKE_TEMPLATES = lilypond ly diff --git a/Documentation/automated-engraving.texi b/Documentation/automated-engraving.texi new file mode 100644 index 0000000000..eba5459d8f --- /dev/null +++ b/Documentation/automated-engraving.texi @@ -0,0 +1,83 @@ +\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- +@ignore + Translation of GIT committish: FILL-IN-HEAD-COMMITTISH + + When revising a translation, copy the HEAD committish of the + version that you are working on. See TRANSLATION for details. +@end ignore + +@ignore +hmm, the one big page is too big, but it was really inviting to + read. this is not. maybe just scrap this menu and introduction + to index? +@end ignore + +@setfilename automated-engraving.info +@settitle Obsessed with putting ink on paper +@documentencoding UTF-8 +@documentlanguage en + +@set web +@include macros.itexi + +@afourpaper + +@ifnottex +@node Top +@top +@chapheading +@end ifnottex + +@unnumberedsec What is behind LilyPond? + +@sourceimage{hader-collage,,,.jpeg} + +LilyPond is not unique in making music notation: there are a lot of +programs that print music, and nowadays most of the newly printed +music is made with computers. Unfortunately, that also shows: just +ask any musician that plays classical music: new scores do not look as +nice as old ones. + +What is the difference between hand-work and machine work, and what + has caused it? How can we improve the situation? This essay explains + problems in music notation (software), and our approach to solving + 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. +* 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. +* engraving:: Music engraving -- the art of printing music. +* implementing-typography:: Implementing typography -- hackers attack the engraving problem. +* formatting-architecture:: A flexible program architecture -- lets us write engraving software +* scoring-esthetics:: Beautiful numbers -- how LilyPond participates in the Miss World contests. +* benchmarking:: Notation benchmarking -- is a flexible architecture enough? +* schubert:: Notation benchmarking -- project too? +* typography-features:: Typographical features -- unique to LilyPond. +* input-format:: Input format -- how to enter music. +* conclusion:: Conclusion. +@end menu + +@contents + +@c This essay is also available in @ref{big-page.html,one big page}. + +@include automated-engraving/introduction.itexi +@include automated-engraving/software.itexi +@include automated-engraving/problem-statement.itexi +@include automated-engraving/divide-and-conquer.itexi +@include automated-engraving/implementing-notation.itexi +@include automated-engraving/engraving.itexi +@include automated-engraving/implementing-typography.itexi +@include automated-engraving/formatting-architecture.itexi +@include automated-engraving/scoring-esthetics.itexi +@include automated-engraving/benchmarking.itexi +@include automated-engraving/schubert.itexi +@include automated-engraving/typography-features.itexi +@include automated-engraving/input-format.itexi +@include automated-engraving/conclusion.itexi + +@bye + diff --git a/Documentation/automated-engraving/GNUmakefile b/Documentation/automated-engraving/GNUmakefile new file mode 100644 index 0000000000..c93c9e0624 --- /dev/null +++ b/Documentation/automated-engraving/GNUmakefile @@ -0,0 +1,5 @@ +depth = ../.. + +LOCALSTEPMAKE_TEMPLATES = ly + +include $(depth)/make/stepmake.make diff --git a/Documentation/automated-engraving/benchmarking.itexi b/Documentation/automated-engraving/benchmarking.itexi index 31aec4319c..e4a239579e 100644 --- a/Documentation/automated-engraving/benchmarking.itexi +++ b/Documentation/automated-engraving/benchmarking.itexi @@ -27,8 +27,9 @@ LilyPond 1.4: @divClass{float-center} @divEnd -@ref{pictures/baer-sarabande-hires.jpeg, -@image{pictures/baer-sarabande,,,.png}} +@c @ref{baer-sarabande-hires.jpeg, +@sourceimage{baer-sarabande,,,.png} +@c } @divClass{float-center} @divEnd @@ -36,7 +37,7 @@ B@"arenreiter (click to enlarge) @divClass{float-center} @divEnd -@image{pictures/lily14-sarabande,,,.png} +@sourceimage{lily14-sarabande,,,.png} @divClass{float-center} @divEnd @@ -48,7 +49,7 @@ score showed a lot of errors in the formatting details: @divClass{float-center} @divEnd -@image{pictures/lily14-sarabande-correct,,,.png} +@sourceimage{lily14-sarabande-correct,,,.png} @divClass{float-center} @divEnd @@ -79,7 +80,7 @@ output is very close to publication quality. @divClass{float-center} @divEnd -@image{pictures/lily17-sarabande,,,.png} +@sourceimage{lily17-sarabande,,,.png} @divClass{float-center} @divEnd @@ -87,7 +88,7 @@ LilyPond 1.8 @divClass{float-center} @divEnd -@image{pictures/baer-sarabande,,,.png} +@sourceimage{baer-sarabande,,,.png} @divClass{float-center} @divEnd @@ -98,7 +99,7 @@ Another example of benchmarking is our project for the 2.1 series, a @divClass{float-right} @divEnd -Next: @ref{typography-features.html,Cool features}, +Next: @ref{typography-features,Cool features}, typographical hoops that we made LilyPond jump through. @bye diff --git a/Documentation/automated-engraving/conclusion.itexi b/Documentation/automated-engraving/conclusion.itexi index 880e8be60f..3cba5549af 100644 --- a/Documentation/automated-engraving/conclusion.itexi +++ b/Documentation/automated-engraving/conclusion.itexi @@ -14,18 +14,24 @@ We have shown you what engraved music should look like, and how we built our software to emulate that look. We have put a lot of effort into -building it. Thanks to all that hard work, you can @ref{@DEPTH@switch/tour.html,use the program to print nice music -too}. +building it. Thanks to all that hard work, you can + +FIXME + +@c @ref{@DEPTH@switch/tour.html,use the program to print nice music too}. To complete the reading of this essay, you may want to have a look at -@ref{@DEPTH@about/pubs.html,publications and articles}, -especially @ref{http://www.musicbyandrew.ca/finale-lilypond-1.html,Andrew + +FIXME + +@c @ref{@DEPTH@about/pubs.html,publications and articles}, +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 -Go @ref{index,back} to the index. +@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 6f28836bf6..566af1a4ce 100644 --- a/Documentation/automated-engraving/divide-and-conquer.itexi +++ b/Documentation/automated-engraving/divide-and-conquer.itexi @@ -7,19 +7,17 @@ @end ignore - +@node divide-and-conquer @unnumberedsec Plan de campagne Since content and form of a score are separate, we have to match that in the design of software. Hence, the basic blueprint of our program should follow this scheme -@table asis +@multitable @columnfractions .3 .3 .3 @item -@tab - -@image{pictures/simple-notation,,,.png} +@sourceimage{simple-notation,,,.png} @tab @@ -29,15 +27,13 @@ should follow this scheme @tab -@code{{ c'4 d'8 }} +@code{@{ c'4 d'8 @}} @item -@tab - 1. form @@ -53,7 +49,7 @@ should follow this scheme -@end table +@end multitable In effect, we are conquering the problem by dividing it into subproblems @@ -79,7 +75,7 @@ Finally, whenever you subdivide a problem, a new problem is created, @divClass{float-right} @divEnd -Next: @ref{implementing-notation.html,Impressive, but does it also +Next: @ref{implementing-notation,Impressive, but does it also work in theory}? A practical approach to capturing notation. @bye diff --git a/Documentation/automated-engraving/engraving.itexi b/Documentation/automated-engraving/engraving.itexi index edc422615a..444a060757 100644 --- a/Documentation/automated-engraving/engraving.itexi +++ b/Documentation/automated-engraving/engraving.itexi @@ -6,16 +6,11 @@ version that you are working on. See TRANSLATION for details. @end ignore - - - @node engraving - - -@image{pictures/hader-slaan,,,.jpeg} - @unnumberedsec Music engraving +@sourceimage{hader-slaan,,,.jpeg} + When we know what symbols to print, we have to decide where to put them so the the result looks pleasing. This art is called @emph{music @@ -44,16 +39,16 @@ about the rules of elegant engraving. @item Finally, engraving is about selecting proper distance and -blackness for scores. @image{pictures/stone-distance,,,.png} The +blackness for scores. @sourceimage{stone-distance,,,.png} The quality of the end result must be judged visually. This is virtually impossible to capture in formal rules. -@end itemize@* +@end itemize @divClass{float-right} @divEnd -Next: @ref{implementing-typography.html,Stamping computer +Next: @ref{implementing-typography,Stamping computer screens?}. Computer hackers take over the engraving business. diff --git a/Documentation/automated-engraving/formatting-architecture.itexi b/Documentation/automated-engraving/formatting-architecture.itexi index 4e551e9d15..11c94e7c2d 100644 --- a/Documentation/automated-engraving/formatting-architecture.itexi +++ b/Documentation/automated-engraving/formatting-architecture.itexi @@ -26,7 +26,7 @@ and arpeggio. In the first chord, the objects have all directions down @divClass{float-center} @divEnd -@image{pictures/directions-updown,,,.png} +@sourceimage{directions-updown,,,.png} The process of formatting a score consists of reading and writing object variables. @@ -40,7 +40,7 @@ Some variables have a preset value. For example, the thickness of @divClass{float-center} @divEnd -@image{pictures/thickness-tweaks,,,.png} +@sourceimage{thickness-tweaks,,,.png} @item Formatting rules are also preset variables: each object has @@ -51,14 +51,14 @@ use to draw their symbol is changed during the music fragment: @divClass{float-center} @divEnd -@image{pictures/mc-squared,,,.png} +@sourceimage{mc-squared,,,.png} @end itemize @divClass{float-right} @divEnd Next: - @ref{scoring-esthetics.html,Beautiful numbers}: how + @ref{scoring-esthetics,Beautiful numbers}: how LilyPond participates in the Miss World contests. @bye diff --git a/Documentation/automated-engraving/implementing-notation.itexi b/Documentation/automated-engraving/implementing-notation.itexi index ee9711c963..4b16dbb8d7 100644 --- a/Documentation/automated-engraving/implementing-notation.itexi +++ b/Documentation/automated-engraving/implementing-notation.itexi @@ -29,7 +29,7 @@ The most basic plug-in creates Note-heads: @divClass{float-center} @divEnd -@image{pictures/engraver-noteheads,,,.png} +@sourceimage{engraver-noteheads,,,.png} This plug-in creates graphical objects from musical events. People that put graphics to musical ideas are called copyists or engravers, @@ -42,7 +42,7 @@ representing the staff lines. @divClass{float-center} @divEnd -@image{pictures/engraver-staff,,,.png} +@sourceimage{engraver-staff,,,.png} @item @@ -51,7 +51,7 @@ each head should be placed. @divClass{float-center} @divEnd -@image{pictures/engraver-clef,,,.png} +@sourceimage{engraver-clef,,,.png} @@ -61,7 +61,7 @@ For the flags and stems we add a @code{Stem_engraver}: @divClass{float-center} @divEnd -@image{pictures/engraver-stem,,,.png} +@sourceimage{engraver-stem,,,.png} 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 @@ -75,7 +75,7 @@ note heads, etc.: @divClass{float-center} @divEnd -@image{pictures/engraver-slur,,,.png} +@sourceimage{engraver-slur,,,.png} @@ -87,7 +87,7 @@ engraver. @divClass{float-center} @divEnd -@image{pictures/engraver-acc,,,.png} +@sourceimage{engraver-acc,,,.png} 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 @@ -97,7 +97,8 @@ decide when to print accidentals. @end itemize -@unnumberedsec Polyphonic notation +@c @unnumberedsec Polyphonic notation +@heading Polyphonic notation The system shown in the last section works well for monophonic music, but what about polyphony? In polyphonic notation, many voices can @@ -105,7 +106,7 @@ share a staff: @divClass{float-center} @divEnd -@image{pictures/engraver-final,,,.png} +@sourceimage{engraver-final,,,.png} In this situation, the accidentals and staff are shared, but the stems, slurs, beams, etc. are private to each voice. Hence, engravers @@ -118,11 +119,11 @@ Score context: @divClass{float-center} @divEnd -@image{pictures/engraver-score,,,.png} +@sourceimage{engraver-score,,,.png} @divClass{float-right} @divEnd -Next: @ref{engraving.html,The art of stamping}: +Next: @ref{engraving,The art of stamping}: how @emph{did} they make hand-made music? @bye diff --git a/Documentation/automated-engraving/implementing-typography.itexi b/Documentation/automated-engraving/implementing-typography.itexi index 074695f620..2bf029e4a3 100644 --- a/Documentation/automated-engraving/implementing-typography.itexi +++ b/Documentation/automated-engraving/implementing-typography.itexi @@ -63,7 +63,7 @@ formatting decisions. @divClass{float-right} @divEnd -Next: @ref{formatting-architecture.html,Program architecture, +Next: @ref{formatting-architecture,Program architecture, your flexible friend}: tuning, tweaking and developing typography rules. diff --git a/Documentation/automated-engraving/index.itexi b/Documentation/automated-engraving/index.itexi deleted file mode 100644 index 4377f0b60d..0000000000 --- a/Documentation/automated-engraving/index.itexi +++ /dev/null @@ -1,121 +0,0 @@ -\input texinfo @c -*- coding: utf-8; mode: texinfo; -*- -@ignore - Translation of GIT committish: FILL-IN-HEAD-COMMITTISH - - When revising a translation, copy the HEAD committish of the - version that you are working on. See TRANSLATION for details. -@end ignore - -@ignore -hmm, the one big page is too big, but it was really inviting to - read. this is not. maybe just scrap this menu and introduction - to index? -@end ignore - -@chapheading @qq{Obsessed with putting ink on paper} -@node index - -@unnumberedsec What is behind LilyPond? - - -@image{pictures/hader-collage,,,.jpeg} - - - -LilyPond is not unique in making music notation: there are a lot of -programs that print music, and nowadays most of the newly printed -music is made with computers. Unfortunately, that also shows: just -ask any musician that plays classical music: new scores do not look as -nice as old ones. - -What is the difference between hand-work and machine work, and what - has caused it? How can we improve the situation? This essay explains - problems in music notation (software), and our approach to solving - them. - -@menu - -@itemize - @item - - @ref{introduction.html,Introduction}: what's wrong with - computer music notation. - - - @item - - @ref{software.html,What's wrong with software}, or how - Finale is not the end-all of music software. - - - @item - - @ref{problem-statement.html,How not to design software}, - or: modeling music notation. - - - @item - - @ref{divide-and-conquer.html,Divide and conqueror}, - A blue print for automated notation. - - - @item - - @ref{implementing-notation.html,Impressive, but does it also - work in theory}? A practical approach to capturing notation. - - @item - - @ref{engraving.html,Music engraving}, the art of printing - music. - - - - @item - - @ref{implementing-typography.html,Implementing typography}: - hackers attack the engraving problem. - - - @item - - @ref{formatting-architecture.html,A flexible program - architecture} lets us write engraving software - - - @item - - @ref{scoring-esthetics.html,Beautiful numbers}: how - LilyPond participates in the Miss World contests. - - - @item - - @ref{benchmarking.html,Notation benchmarking}: is a flexible - architecture enough? - - - @item - - @ref{typography-features.html,Typographical features} unique - to LilyPond. - - - @item - - @ref{input-format.html,Input format}: how to enter music. - - - @item - - @ref{conclusion.html,Conclusion} - - -@end itemize - -This essay is also available in @ref{big-page.html,one big - page}. - -@bye - diff --git a/Documentation/automated-engraving/input-format.itexi b/Documentation/automated-engraving/input-format.itexi index 8c39eeaafa..5cf8d4c3db 100644 --- a/Documentation/automated-engraving/input-format.itexi +++ b/Documentation/automated-engraving/input-format.itexi @@ -33,7 +33,7 @@ Are a quarter note C1 and eighth note D1, as in this example: @divClass{float-center} @divEnd -@image{pictures/simple-notation,,,.png} +@sourceimage{simple-notation,,,.png} 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 @@ -41,85 +41,79 @@ like symphonies and operas? The structure is formed by the concept of music expressions: by combining small fragments of music into larger ones, more complex music can be expressed. For example, -@table asis +@multitable @columnfractions .5 .5 @item -@tab - c4 @tab -@image{pictures/simultaneous-0,,,.png} +@sourceimage{simultaneous-0,,,.png} -@end table +@end multitable -Combine this simultaneously with two other notes by enclosing in << -and >>. +Combine this simultaneously with two other notes by enclosing in << +and >>. -@table asis -@item +@multitable @columnfractions .5 .5 -@tab +@item @verbatim - <<c4 d4 e4>> + <> @end verbatim @tab -@image{pictures/simultaneous-1,,,.png} +@sourceimage{simultaneous-1,,,.png} -@end table +@end multitable This expression is put in sequence by enclosing it in braces, i.e., -@table asis +@multitable @columnfractions .5 .5 @item -@tab @verbatim - { <<c4 d4 e4>> f4 } + { <> f4 } @end verbatim @tab -@image{pictures/simultaneous-2,,,.png} +@sourceimage{simultaneous-2,,,.png} -@end table +@end multitable The above is another expression, and therefore, it may be combined again with a simultaneous expression (in this case, a half note). -@table asis +@multitable @columnfractions .5 .5 @item -@tab - @verbatim -<< { <<c4 d4 e4>> f4 } g2 >> +<< { <> f4 } g2 >> @end verbatim @tab -@image{pictures/simultaneous-3,,,.png} +@sourceimage{simultaneous-3,,,.png} -@end table +@end multitable Such recursive structures can be specified neatly and formally in a @emph{context-free grammar}. The parsing code is also generated @@ -135,35 +129,30 @@ writing decent formatting code is much harder. This is also illustrated by the line-counts for the respective components: parsing and representation take up less than 10% of the code. -@table asis -@item +@multitable @columnfractions .5 .5 @item Parsing + representation +@tab @item total - - -@item - @tab +@item 6000 lines C++ - @tab 61500 lines C++ +@end multitable - -@end table - - +@end ignore @divClass{float-right} @divEnd -Next: @ref{conclusion.html,wrapping it up}, the conclusion. +Next: @ref{conclusion,wrapping it up}, the conclusion. @bye diff --git a/Documentation/automated-engraving/introduction.itexi b/Documentation/automated-engraving/introduction.itexi index 97bd6c59c9..29d824649b 100644 --- a/Documentation/automated-engraving/introduction.itexi +++ b/Documentation/automated-engraving/introduction.itexi @@ -30,28 +30,26 @@ is a typical contemporary computer product. Take a few seconds to let the looks of both pages sink in. Which one do you like better, and why? -@table asis +@ifnottex +@multitable @columnfractions .5 .5 @item -@tab -@image{pictures/baer-suite1-fullpage,,,.png} +@sourceimage{baer-suite1-fullpage,,,.png} @tab -@image{pictures/henle-suite1-fullpage,,,.png} +@sourceimage{henle-suite1-fullpage,,,.png} @item -@tab B@"arenreiter (BA 320, (c) 1950) @tab Henle (nr. 666 (c) 2000) - - -@end table +@end multitable +@end ifnottex The left picture looks nice: it has flowing lines and movement. It's music, and it's alive. Now, the picture on the right shows the same @@ -62,7 +60,7 @@ a fragment of both pieces: @divClass{float-center} @divEnd -@image{pictures/baer-suite1-line,,,.png} +@sourceimage{baer-suite1-line,,,.png} @divClass{float-center} @divEnd @@ -72,7 +70,7 @@ Hand-made @divClass{float-center} @divEnd -@image{pictures/henle-suite1-line,,,.png} +@sourceimage{henle-suite1-line,,,.png} @divClass{float-center} @divEnd @@ -107,7 +105,7 @@ to better performances. @divClass{float-right} @divEnd -Next: @ref{software.html,What's wrong with software}, or how +Next: @ref{software,What's wrong with software}, or how Finale is not the end-all of music software. diff --git a/Documentation/automated-engraving/introduction.texi b/Documentation/automated-engraving/introduction.texi deleted file mode 100644 index 42f2e6ecb8..0000000000 --- a/Documentation/automated-engraving/introduction.texi +++ /dev/null @@ -1,50 +0,0 @@ -\input texinfo @c -*-texinfo-*- -@c %**start of header -@setfilename introduction -@settitle What's wrong with computer music notation? -@c %**end of header - -@node Top - - We like to call LilyPond an "automated engraving system." It will format music notation beautifully without requiring typographical expertise of its users. - - LilyPond is not unique in making music notation: there are a lot of programs that print music, and nowadays most of the newly printed music is made with computers. Unfortunately, that also shows: just ask any musician that plays classical music: new scores do not look as nice as old (from before, say, 1970) scores: the new ones have a bland, mechanical look. They are not at all pleasurable to play from. - - To illustrate this, take a look at the following examples. Both are editions of the 1st Cello Suite by J.S.Bach. The one on the left is a very beautifully hand-engraved edition from 1950, the one on the right is a typical contemporary computer product. Take a few seconds to let the looks of both pages sink in. Which one do you like better, and why? - - -@table @asis - -@item - - -@item Bärenreiter (BA 320, (c) 1950) -Henle (nr. 666 (c) 2000) - -@end table - - - The left picture looks nice: it has flowing lines and movement. It's music, and it's alive. Now, the picture on the right shows the same music, and it was written by Bach. His music surely has liveliness and flowing lines.... Except, the score doesn't show it: it looks rigid and mechanical. To understand better why that is, let's blow up a fragment of both pieces: - - - - Hand-made - -@ - - - - -Computer-made - - The location of the bar lines is a giveaway. In the new edition, both barlines are on exactly the same horizontal location. Also, the note heads are on the exact same horizontal location. When you look back at the whole page, you can easily verify that almost all barlines are in the same location, as are most of the note heads. The entire thing is spaced as if it were put to a big grid, which is what causes the mechanical impression. - - This is not the only error on this example, and more importantly, this piece is not the only one with typographical errors. Sadly, almost all music printed nowadays is full of basic typographical mistakes. - - Musicians are usually more absorbed with performing the music than with studying its looks, so this nitpicking about typographical details may seem academical. That is not justified. This piece here has a monotonous rhythm. If all lines look the same, they become like a labyrinth. If the musician looks away once or has a lapse in his concentration, he will be lost on the page. - - In general, this is a common characteristic of typography. Layout should be pretty, not only for its own sake, but especially because it helps the reader in his task. For performance material like sheet music, this is doubly important: musicians have a limited amount of attention. The less attention they need for reading, the more they can focus on playing itself. In other words, better typography translates to better performances. - - Next: What's wrong with software, or how Finale is not the end-all of music software. -@contents -@bye diff --git a/Documentation/automated-engraving/problem-statement.itexi b/Documentation/automated-engraving/problem-statement.itexi index d4219dbe77..8d00b54cdd 100644 --- a/Documentation/automated-engraving/problem-statement.itexi +++ b/Documentation/automated-engraving/problem-statement.itexi @@ -22,14 +22,14 @@ At first sight, music notation follows a straightforward hierarchical pattern. Consider the example below, with two staves containing two measures. -@image{pictures/naive-notation,,,.png} +@sourceimage{naive-notation,,,.png} Isn't writing software all about finding hierarchies and modeling the real world in terms of trees? In the view of a naive programmer, the above fragment of notation is easily abstracted to a nested set of boxes -@image{pictures/naive-notation-uml,,,.png} +@sourceimage{naive-notation-uml,,,.png} It's easy to follow this model when writing software. It's obvious how to store this data in memory, and writing on disk can be easily @@ -37,18 +37,18 @@ mirrored. In an XML-file you could write something like @verbatim - <score> - <staff> - <measure id="1"> - <chord length="1/2"> - <pitch name="c"> - </chord> - <chord> + + + + + + + .... - </measure> - </staff> - </score> + + + @end verbatim @@ -57,7 +57,7 @@ used by a lot software. Unfortunately, it's also wrong. The hierarchical representation works for a lot of simpler music, but it falls apart for advanced use. Consider the following example: -@image{pictures/nonnaive-notation,,,.png} +@sourceimage{nonnaive-notation,,,.png} In this example, several assumptions of the previous model are violated: staves start and stop at will, voices jump around between @@ -69,7 +69,7 @@ simpler musical concept. Hence, software should reflect that separation. @divClass{float-right} @divEnd -Next: @ref{divide-and-conquer.html,Divide and conqueror}, +Next: @ref{divide-and-conquer,Divide and conqueror}, a blue print for automated notation @bye diff --git a/Documentation/automated-engraving/schubert.itexi b/Documentation/automated-engraving/schubert.itexi index 5f4c4a2d07..66f3f13de8 100644 --- a/Documentation/automated-engraving/schubert.itexi +++ b/Documentation/automated-engraving/schubert.itexi @@ -7,7 +7,7 @@ @end ignore - +@node schubert @unnumberedsec S@"angers Morgenlied, by Franz Schubert The benchmarking project for the LilyPond 2.1.x series, was the @@ -15,15 +15,15 @@ Ed. Peters version of a Schubert song. The result of 2.1.5 was nice, but certainly not perfect, -@image{pictures/bench-morgenlied,,,.png} +@sourceimage{bench-morgenlied,,,.png} Here is the original, -@image{pictures/morgenlied-crop-2,,,.jpeg} +@sourceimage{morgenlied-crop-2,,,.jpeg} and the result of LilyPond 2.1.35. -@image{pictures/morgenlied-ly-crop2,,,.png} +@sourceimage{morgenlied-ly-crop2,,,.png} This is a page from a song-book, which is printed in a smaller format. Normal print uses 20 pt staff height, this uses 17 pt. In smaller @@ -33,16 +33,11 @@ been implemented in LilyPond 2.1. The difference is hard to see here, due to the limited resolution of computer screens. For a more detailed view, see the LilyPond PDF, available -@ref{@@DOC@@v2.2/input/mutopia/F.Schubert/out-www/morgenlied.pdf,here}. +@uref{http://lilypond.org/documentation/v2.2/input/mutopia/F.Schubert/out-www/morgenlied.pdf,here}. @divClass{float-right} @divEnd -@ref{benchmarking.html,Back to the essay} - - - - - +@ref{benchmarking,Back to the essay} @bye diff --git a/Documentation/automated-engraving/scoring-esthetics.itexi b/Documentation/automated-engraving/scoring-esthetics.itexi index de7cc8abf8..90a324092e 100644 --- a/Documentation/automated-engraving/scoring-esthetics.itexi +++ b/Documentation/automated-engraving/scoring-esthetics.itexi @@ -7,13 +7,13 @@ @end ignore - +@node scoring-esthetics @unnumberedsec Beautiful numbers How do we actually make formatting decisions? In other words, which of the three configurations should we choose for the following slur? -@image{pictures/slur-esthetics,,,.png} +@sourceimage{slur-esthetics,,,.png} There are a few books on the art of music engraving available. Unfortunately, they contain rules of simple thumbs and some @@ -25,7 +25,7 @@ and often not all cases are covered completely. @divClass{float-center} @divEnd -@image{pictures/ross-beam-scan,,,.jpeg} +@sourceimage{ross-beam-scan,,,.jpeg} @divClass{float-center} @divEnd @@ -37,7 +37,7 @@ best formatting solution: score based formatting. The principle is the same as a beauty contest: for each possible configuration, we compute an ugliness score. Then we choose the least ugly configuration. -@image{pictures/slur-esthetics-annotate-1,,,.png} +@sourceimage{slur-esthetics-annotate-1,,,.png} For example, in the above configuration, the slur nicely connects the starting and ending note of the figure, a desirable trait. However, it @@ -45,7 +45,7 @@ also grazes one note head closely, while staying away from the others. Therefore, for this configuration, we deduct a `variance' score of 15.39. -@image{pictures/slur-esthetics-annotate-2,,,.png} +@sourceimage{slur-esthetics-annotate-2,,,.png} In this configuration, the slur keeps a uniform distance from the heads, but we have to deduct some points because the slur doesn't @@ -56,7 +56,7 @@ points. Furthermore, the slur goes up, while the melody goes down. This incurs a penalty of 2.00 points -@image{pictures/slur-esthetics-annotate-3,,,.png} +@sourceimage{slur-esthetics-annotate-3,,,.png} Finally, in this configuration, only the ending the slur is far away from the ending note head, at a score of 10.04 ugliness points. @@ -71,12 +71,12 @@ situations, for example @item determining beam slopes -@image{pictures/beam-scoring-example,,,.png} +@sourceimage{beam-scoring-example,,,.png} @item formatting tied chords -@image{pictures/ties-scoring-example,,,.png} +@sourceimage{ties-scoring-example,,,.png} @item formatting dotted chords @@ -95,7 +95,7 @@ result is much better, and because it makes our lives easy. @divClass{float-right} @divEnd -Next: @ref{benchmarking.html,Man is the measure of things}: is a +Next: @ref{benchmarking,Man is the measure of things}: is a flexible architecture enough? @bye diff --git a/Documentation/automated-engraving/software.itexi b/Documentation/automated-engraving/software.itexi index 250299eec3..3cb64e8847 100644 --- a/Documentation/automated-engraving/software.itexi +++ b/Documentation/automated-engraving/software.itexi @@ -25,7 +25,7 @@ the Sarabande of the 2nd Cello Suite by J. S. Bach. @divClass{float-center} @divEnd -@image{pictures/finale-sarabande-full,,,.png} +@sourceimage{finale-sarabande-full,,,.png} This example far surpasses the previous one when it comes to formatting errors: there are serious errors in literally @@ -36,7 +36,7 @@ magnification of that measure: @divClass{float-center} @divEnd -@image{pictures/finale-flat-detail,,,.png} +@sourceimage{finale-flat-detail,,,.png} 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 @@ -46,7 +46,7 @@ lack thereof) with the underlying PostScript technology. @divClass{float-center} @divEnd -@image{pictures/finale-beam-detail,,,.png} +@sourceimage{finale-beam-detail,,,.png} 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 @@ -65,7 +65,7 @@ Did it occur to you that the stem of the last eighth note is too long? @divClass{float-center} @divEnd -@image{pictures/finale-flat-correct,,,.png} +@sourceimage{finale-flat-correct,,,.png} 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 @@ -105,7 +105,7 @@ doubt, measure the difference with a magnifying glass. @divClass{float-right} @divEnd -Next: @ref{problem-statement.html,How not to design software}, +Next: @ref{problem-statement,How not to design software}, or: modeling music notation. diff --git a/Documentation/automated-engraving/typography-features.itexi b/Documentation/automated-engraving/typography-features.itexi index 3e57bae77f..dd748576e8 100644 --- a/Documentation/automated-engraving/typography-features.itexi +++ b/Documentation/automated-engraving/typography-features.itexi @@ -17,23 +17,21 @@ blackness of the page. By using heavy stafflines, and a font design to match that, the overall impression is much stronger. This is also very clear from the following blowups: -@table asis@item -@tab +@multitable @columnfractions .3 .3 .3 +@item -@image{pictures/henle-flat-gray,,,.png} +@sourceimage{henle-flat-gray,,,.png} @tab -@image{pictures/baer-flat-gray,,,.png} +@sourceimage{baer-flat-gray,,,.png} @tab -@image{pictures/lily-flat-bw,,,.png} +@sourceimage{lily-flat-bw,,,.png} @item - -@tab Henle (2000) @tab @@ -44,7 +42,7 @@ LilyPond (2003) -@end table +@end multitable Another typical aspect of hand-engraved scores is the general look of the symbols. They almost never have sharp corners. This is because @@ -55,7 +53,8 @@ also present in all glyphs of our "Feta" font. -@unnumberedsec Spacing +@c @unnumberedsec Spacing +@heading Spacing One of the problems that the Bach piece above inspired us to attack is the spacing engine. One of its features is optical spacing. @@ -63,11 +62,11 @@ It is demonstrated in the fragment below. @divClass{float-center} @divEnd -@image{pictures/spacing-with-corr,,,.png} +@sourceimage{spacing-with-corr,,,.png} @divClass{float-center} @divEnd -@image{pictures/spacing-no-corr,,,.png} +@sourceimage{spacing-no-corr,,,.png} This fragment only uses quarter notes: notes that are played in a constant rhythm. The spacing should reflect that. Unfortunately, the @@ -81,7 +80,8 @@ with this correction, the bottom one without. In the last case, the down-stem/up-stems combinations form clumps of notes. -@unnumberedsec Ledger lines +@c @unnumberedsec Ledger lines +@heading Ledger lines Ledger lines are typographically difficult. They can easily blot together with other signs, such as ledger lines or @@ -89,27 +89,25 @@ accidentals. Other software prevents these collisions by spacing the lines wider (thus taking up more space), or shortening ledger lines (which hampers readability.) -@table asis@item -@tab +@multitable @columnfractions .3 .3 .3 +@item -@image{pictures/henle-ledger,,,.png} +@sourceimage{henle-ledger,,,.png}   @tab -@image{pictures/baer-ledger,,,.png}  +@sourceimage{baer-ledger,,,.png}  @tab -@image{pictures/lily-ledger,,,.png} +@sourceimage{lily-ledger,,,.png} @item - -@tab Henle (2000) @tab @@ -120,7 +118,7 @@ LilyPond (2004) -@end table +@end multitable Traditional engravers would adjust the size of a ledger line, depending on what symbols were in the neighborhood. LilyPond does the @@ -129,7 +127,7 @@ lines, and they are shortened when there is an accidental. @divClass{float-right} @divEnd -Next: @ref{input-format.html,Use the Source, Luke}, or: what +Next: @ref{input-format,Use the Source, Luke}, or: what goes into LilyPond. @bye diff --git a/Documentation/pictures/baer-flat-gray.png b/Documentation/pictures/baer-flat-gray.png index 08cd338380..47e97d42e9 100644 Binary files a/Documentation/pictures/baer-flat-gray.png and b/Documentation/pictures/baer-flat-gray.png differ diff --git a/Documentation/pictures/baer-ledger.png b/Documentation/pictures/baer-ledger.png new file mode 100644 index 0000000000..ccf8196717 Binary files /dev/null and b/Documentation/pictures/baer-ledger.png differ diff --git a/Documentation/pictures/baer-sarabande.png b/Documentation/pictures/baer-sarabande.png new file mode 100644 index 0000000000..ae65e6e9f7 Binary files /dev/null and b/Documentation/pictures/baer-sarabande.png differ diff --git a/Documentation/pictures/baer-suite1-fullpage.png b/Documentation/pictures/baer-suite1-fullpage.png new file mode 100644 index 0000000000..72504df82a Binary files /dev/null and b/Documentation/pictures/baer-suite1-fullpage.png differ diff --git a/Documentation/pictures/baer-suite1-line.png b/Documentation/pictures/baer-suite1-line.png new file mode 100644 index 0000000000..d94ac32de6 Binary files /dev/null and b/Documentation/pictures/baer-suite1-line.png differ diff --git a/Documentation/pictures/beam-scoring-example.png b/Documentation/pictures/beam-scoring-example.png new file mode 100644 index 0000000000..2f450f4f50 Binary files /dev/null and b/Documentation/pictures/beam-scoring-example.png differ diff --git a/Documentation/pictures/bench-morgenlied.png b/Documentation/pictures/bench-morgenlied.png new file mode 100644 index 0000000000..cfe0bcfaf2 Binary files /dev/null and b/Documentation/pictures/bench-morgenlied.png differ diff --git a/Documentation/pictures/directions-updown.png b/Documentation/pictures/directions-updown.png new file mode 100644 index 0000000000..a08280d6e7 Binary files /dev/null and b/Documentation/pictures/directions-updown.png differ diff --git a/Documentation/pictures/engraver-acc.png b/Documentation/pictures/engraver-acc.png new file mode 100644 index 0000000000..2b96c628d7 Binary files /dev/null and b/Documentation/pictures/engraver-acc.png differ diff --git a/Documentation/pictures/engraver-clef.png b/Documentation/pictures/engraver-clef.png new file mode 100644 index 0000000000..b8869b4666 Binary files /dev/null and b/Documentation/pictures/engraver-clef.png differ diff --git a/Documentation/pictures/engraver-final.png b/Documentation/pictures/engraver-final.png new file mode 100644 index 0000000000..92884a7dd5 Binary files /dev/null and b/Documentation/pictures/engraver-final.png differ diff --git a/Documentation/pictures/engraver-noteheads.png b/Documentation/pictures/engraver-noteheads.png new file mode 100644 index 0000000000..449d7edaa8 Binary files /dev/null and b/Documentation/pictures/engraver-noteheads.png differ diff --git a/Documentation/pictures/engraver-score.png b/Documentation/pictures/engraver-score.png new file mode 100644 index 0000000000..dc2b2e6512 Binary files /dev/null and b/Documentation/pictures/engraver-score.png differ diff --git a/Documentation/pictures/engraver-slur.png b/Documentation/pictures/engraver-slur.png new file mode 100644 index 0000000000..9247ab2248 Binary files /dev/null and b/Documentation/pictures/engraver-slur.png differ diff --git a/Documentation/pictures/engraver-staff.png b/Documentation/pictures/engraver-staff.png new file mode 100644 index 0000000000..f59d3620b4 Binary files /dev/null and b/Documentation/pictures/engraver-staff.png differ diff --git a/Documentation/pictures/engraver-stem.png b/Documentation/pictures/engraver-stem.png new file mode 100644 index 0000000000..2934268b22 Binary files /dev/null and b/Documentation/pictures/engraver-stem.png differ diff --git a/Documentation/pictures/finale-beam-detail.png b/Documentation/pictures/finale-beam-detail.png new file mode 100644 index 0000000000..32fae42697 Binary files /dev/null and b/Documentation/pictures/finale-beam-detail.png differ diff --git a/Documentation/pictures/finale-flat-correct.png b/Documentation/pictures/finale-flat-correct.png new file mode 100644 index 0000000000..de40a267c9 Binary files /dev/null and b/Documentation/pictures/finale-flat-correct.png differ diff --git a/Documentation/pictures/finale-flat-detail.png b/Documentation/pictures/finale-flat-detail.png new file mode 100644 index 0000000000..2ee5b2d8d9 Binary files /dev/null and b/Documentation/pictures/finale-flat-detail.png differ diff --git a/Documentation/pictures/finale-sarabande-full.png b/Documentation/pictures/finale-sarabande-full.png new file mode 100644 index 0000000000..36707ddf93 Binary files /dev/null and b/Documentation/pictures/finale-sarabande-full.png differ diff --git a/Documentation/pictures/hader-collage.jpeg b/Documentation/pictures/hader-collage.jpeg new file mode 100644 index 0000000000..44702d2f94 Binary files /dev/null and b/Documentation/pictures/hader-collage.jpeg differ diff --git a/Documentation/pictures/hader-slaan.jpeg b/Documentation/pictures/hader-slaan.jpeg new file mode 100644 index 0000000000..893d6eb370 Binary files /dev/null and b/Documentation/pictures/hader-slaan.jpeg differ diff --git a/Documentation/pictures/henle-flat-gray.png b/Documentation/pictures/henle-flat-gray.png index 20326b958a..f257c86a18 100644 Binary files a/Documentation/pictures/henle-flat-gray.png and b/Documentation/pictures/henle-flat-gray.png differ diff --git a/Documentation/pictures/henle-ledger.png b/Documentation/pictures/henle-ledger.png new file mode 100644 index 0000000000..184b2f0397 Binary files /dev/null and b/Documentation/pictures/henle-ledger.png differ diff --git a/Documentation/pictures/henle-suite1-fullpage.png b/Documentation/pictures/henle-suite1-fullpage.png new file mode 100644 index 0000000000..aa57b99eed Binary files /dev/null and b/Documentation/pictures/henle-suite1-fullpage.png differ diff --git a/Documentation/pictures/henle-suite1-line.png b/Documentation/pictures/henle-suite1-line.png new file mode 100644 index 0000000000..fc6a264785 Binary files /dev/null and b/Documentation/pictures/henle-suite1-line.png differ diff --git a/Documentation/pictures/lily-flat-bw.png b/Documentation/pictures/lily-flat-bw.png index 09ce34e7c5..45cf450c89 100644 Binary files a/Documentation/pictures/lily-flat-bw.png and b/Documentation/pictures/lily-flat-bw.png differ diff --git a/Documentation/pictures/lily-ledger.png b/Documentation/pictures/lily-ledger.png new file mode 100644 index 0000000000..ce4dcc4150 Binary files /dev/null and b/Documentation/pictures/lily-ledger.png differ diff --git a/Documentation/pictures/lily14-sarabande-correct.png b/Documentation/pictures/lily14-sarabande-correct.png new file mode 100644 index 0000000000..f114f12d07 Binary files /dev/null and b/Documentation/pictures/lily14-sarabande-correct.png differ diff --git a/Documentation/pictures/lily14-sarabande.png b/Documentation/pictures/lily14-sarabande.png new file mode 100644 index 0000000000..36aaf56143 Binary files /dev/null and b/Documentation/pictures/lily14-sarabande.png differ diff --git a/Documentation/pictures/lily17-sarabande.png b/Documentation/pictures/lily17-sarabande.png new file mode 100644 index 0000000000..64813732da Binary files /dev/null and b/Documentation/pictures/lily17-sarabande.png differ diff --git a/Documentation/pictures/mc-squared.png b/Documentation/pictures/mc-squared.png new file mode 100644 index 0000000000..84324bddab Binary files /dev/null and b/Documentation/pictures/mc-squared.png differ diff --git a/Documentation/pictures/morgenlied-crop-2.jpeg b/Documentation/pictures/morgenlied-crop-2.jpeg new file mode 100644 index 0000000000..dad03944cc Binary files /dev/null and b/Documentation/pictures/morgenlied-crop-2.jpeg differ diff --git a/Documentation/pictures/morgenlied-ly-crop2.png b/Documentation/pictures/morgenlied-ly-crop2.png new file mode 100644 index 0000000000..7c51ebf21b Binary files /dev/null and b/Documentation/pictures/morgenlied-ly-crop2.png differ diff --git a/Documentation/pictures/naive-notation-uml.png b/Documentation/pictures/naive-notation-uml.png new file mode 100644 index 0000000000..a030d8ef89 Binary files /dev/null and b/Documentation/pictures/naive-notation-uml.png differ diff --git a/Documentation/pictures/naive-notation.png b/Documentation/pictures/naive-notation.png new file mode 100644 index 0000000000..112c406a7a Binary files /dev/null and b/Documentation/pictures/naive-notation.png differ diff --git a/Documentation/pictures/nonnaive-notation.png b/Documentation/pictures/nonnaive-notation.png new file mode 100644 index 0000000000..1026928ccb Binary files /dev/null and b/Documentation/pictures/nonnaive-notation.png differ diff --git a/Documentation/pictures/ross-beam-scan.jpeg b/Documentation/pictures/ross-beam-scan.jpeg new file mode 100644 index 0000000000..e7277806b7 Binary files /dev/null and b/Documentation/pictures/ross-beam-scan.jpeg differ diff --git a/Documentation/pictures/simple-notation.png b/Documentation/pictures/simple-notation.png new file mode 100644 index 0000000000..f7110941ca Binary files /dev/null and b/Documentation/pictures/simple-notation.png differ diff --git a/Documentation/pictures/simultaneous-0.png b/Documentation/pictures/simultaneous-0.png new file mode 100644 index 0000000000..731b22a315 Binary files /dev/null and b/Documentation/pictures/simultaneous-0.png differ diff --git a/Documentation/pictures/simultaneous-1.png b/Documentation/pictures/simultaneous-1.png new file mode 100644 index 0000000000..edecbe7980 Binary files /dev/null and b/Documentation/pictures/simultaneous-1.png differ diff --git a/Documentation/pictures/simultaneous-2.png b/Documentation/pictures/simultaneous-2.png new file mode 100644 index 0000000000..70990460cc Binary files /dev/null and b/Documentation/pictures/simultaneous-2.png differ diff --git a/Documentation/pictures/simultaneous-3.png b/Documentation/pictures/simultaneous-3.png new file mode 100644 index 0000000000..df0811c983 Binary files /dev/null and b/Documentation/pictures/simultaneous-3.png differ diff --git a/Documentation/pictures/slur-esthetics-annotate-1.png b/Documentation/pictures/slur-esthetics-annotate-1.png new file mode 100644 index 0000000000..91f27d5a3f Binary files /dev/null and b/Documentation/pictures/slur-esthetics-annotate-1.png differ diff --git a/Documentation/pictures/slur-esthetics-annotate-2.png b/Documentation/pictures/slur-esthetics-annotate-2.png new file mode 100644 index 0000000000..e8901ccf16 Binary files /dev/null and b/Documentation/pictures/slur-esthetics-annotate-2.png differ diff --git a/Documentation/pictures/slur-esthetics-annotate-3.png b/Documentation/pictures/slur-esthetics-annotate-3.png new file mode 100644 index 0000000000..7f06186255 Binary files /dev/null and b/Documentation/pictures/slur-esthetics-annotate-3.png differ diff --git a/Documentation/pictures/slur-esthetics.png b/Documentation/pictures/slur-esthetics.png new file mode 100644 index 0000000000..41467980d8 Binary files /dev/null and b/Documentation/pictures/slur-esthetics.png differ diff --git a/Documentation/pictures/spacing-no-corr.png b/Documentation/pictures/spacing-no-corr.png new file mode 100644 index 0000000000..39fd5c0699 Binary files /dev/null and b/Documentation/pictures/spacing-no-corr.png differ diff --git a/Documentation/pictures/spacing-with-corr.png b/Documentation/pictures/spacing-with-corr.png new file mode 100644 index 0000000000..b62ed8af03 Binary files /dev/null and b/Documentation/pictures/spacing-with-corr.png differ diff --git a/Documentation/pictures/stone-distance.png b/Documentation/pictures/stone-distance.png new file mode 100644 index 0000000000..9c7fa54243 Binary files /dev/null and b/Documentation/pictures/stone-distance.png differ diff --git a/Documentation/pictures/thickness-tweaks.png b/Documentation/pictures/thickness-tweaks.png new file mode 100644 index 0000000000..4495a6cb5b Binary files /dev/null and b/Documentation/pictures/thickness-tweaks.png differ diff --git a/Documentation/pictures/ties-scoring-example.png b/Documentation/pictures/ties-scoring-example.png new file mode 100644 index 0000000000..6cd43de781 Binary files /dev/null and b/Documentation/pictures/ties-scoring-example.png differ diff --git a/python/auxiliar/buildlib.py b/python/auxiliar/buildlib.py index b0bf9cfcc5..783c808642 100644 --- a/python/auxiliar/buildlib.py +++ b/python/auxiliar/buildlib.py @@ -30,7 +30,7 @@ renames_map = { # FIXME: Hardcoded file names!? manuals_subdirectories_re = \ - re.compile ('(application|essay|general|learning|notation)/') + re.compile ('(application|automated-engraving|essay|general|learning|notation)/') def add_old_name (file_path): for new_path in renames_map: diff --git a/python/auxiliar/postprocess_html.py b/python/auxiliar/postprocess_html.py index 68b0536a77..a8f6c78ae1 100644 --- a/python/auxiliar/postprocess_html.py +++ b/python/auxiliar/postprocess_html.py @@ -100,7 +100,7 @@ def source_links_replace (m, source_val): return 'href="' + os.path.join (source_val, m.group (1)) + '"' # More hardcoding, yay! -splitted_docs_re = re.compile ('(Documentation/out-www/(essay|notation|music-glossary|application|general|learning|snippets))/') +splitted_docs_re = re.compile ('(Documentation/out-www/(automated-engraving|essay|notation|music-glossary|application|general|learning|snippets))/') lily_snippets_re = re.compile ('(href|src)="(../lily-.*?|.*?[.]png)"') pictures_re = re.compile ('src="(pictures/.*?)"') -- cgit v1.2.3