]> git.donarmstrong.com Git - lilypond.git/blobdiff - Documentation/user/introduction.itely
Merge branch 'master' of git+ssh://repo.or.cz/srv/git/lilypond
[lilypond.git] / Documentation / user / introduction.itely
index 39fad96e9068a8000e971fc5af999d888e301819..97d32ec4c66ccbc20567a9e624c9b8b5dbfb5d98 100644 (file)
@@ -1,4 +1,4 @@
-@c -*- coding: latin-1; mode: texinfo; -*-
+@c -*- coding: utf-8; mode: texinfo; -*-
 @c This file is part of lilypond.tely
 
 @node Introduction
@@ -6,12 +6,12 @@
 
 
 @menu
-* Engraving::
-* Automated engraving::
-* What symbols to engrave?::
-* Music representation::
-* Example applications::
-* About this manual::
+* Engraving::                   
+* Automated engraving::         
+* What symbols to engrave?::    
+* Music representation::        
+* Example applications::        
+* About this manual::           
 @end menu
 
 
@@ -82,7 +82,8 @@ computer edition.
 @end ifnotinfo
 @ifinfo
 @c workaround for makeinfo-4.6: line breaks and multi-column cookies
-@image{henle-flat-bw,,,png} @image{baer-flat-bw,,,png} @image{lily-flat-bw,,,png}
+@image{henle-flat-bw,,,png} @image{baer-flat-bw,,,png}
+@image{lily-flat-bw,,,png}
 @end ifinfo
 
 @item @tab
@@ -109,21 +110,75 @@ exact mathematical spacing, and once with corrections.  Can you
 spot which fragment is which?
 
 @cindex optical spacing
-@lilypondfile[quote,noindent]{spacing-optical.ly}
+@c file spacing-optical.
+@c need to include it here,  because we want two images.
+@lilypond
+\paper {
+  ragged-right = ##t
+  indent = #0.0
+}
+
+music = {
+   c'4 e''4 e'4 b'4 |
+   \stemDown
+   b'8[ e'' a' e'']
+   \stemNeutral
+   e'8[ e'8 e'8 e'8]
+}
+
+\score
+{
+  \music
+  \layout {
+    \context {
+      \Staff
+      \override NoteSpacing #'stem-spacing-correction = #0.6
+    }
+  }
+}
+@end lilypond
+
+@lilypond
+\paper {
+  ragged-right = ##t
+  indent = #0.0
+}
+
+music = {
+   c'4 e''4 e'4 b'4 |
+   \stemDown
+   b'8[ e'' a' e'']
+   \stemNeutral
+   e'8[ e'8 e'8 e'8]
+}
+\score
+{
+  \music
+  \layout {
+    \context {
+      \Staff
+      \override NoteSpacing #'stem-spacing-correction = #0.0
+      \override NoteSpacing #'same-direction-correction = #0.0
+      \override StaffSpacing #'stem-spacing-correction = #0.0
+    }
+  }
+}
+@end lilypond
 
 @cindex regular rhythms
 @cindex regular spacing
 
-The fragment only uses quarter notes: notes that are played in a
+Each bar in the fragment only uses notes that are played in a
 constant rhythm.  The spacing should reflect that.  Unfortunately, the
 eye deceives us a little; not only does it notice the distance between
 note heads, it also takes into account the distance between
 consecutive stems.  As a result, the notes of an up-stem/@/down-stem
-combination should be put farther apart, and the notes of a down-stem/@/up-stem
+combination should be put farther apart, and the notes of a
+down-stem/@/up-stem
 combination should be put closer together, all depending on the
-combined vertical positions of the notes.  The first two measures are
-printed with this correction, the last two measures without.  The notes
-in the last two measures form down-stem/@/up-stem clumps of notes.
+combined vertical positions of the notes.  The upper two measures are
+printed with this correction, the lower two measures without, forming
+down-stem/@/up-stem clumps of notes.
 
 @cindex typography
 
@@ -215,7 +270,7 @@ with accents and arpeggios.  In the first chord, the graphical objects
 have all directions down (or left).  The second chord has all
 directions up (right).
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \new Score \with {
    \override SpacingSpanner #'spacing-increment = #3
    \override TimeSignature #'transparent = ##t
@@ -233,7 +288,7 @@ example, the thickness of many lines -- a characteristic of typographical
 style -- is a variable with a preset value.  You are free to alter this
 value, giving your score a different typographical impression.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 fragment = {
    \clef bass f8 as8
    c'4-~ c'16 as g f e16 g bes c' des'4
@@ -259,39 +314,41 @@ appearance of objects.  In the following example, the rule which note
 head objects are used to produce their symbol is changed during the music
 fragment.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
+#(set-global-staff-size 30)
+
 #(define (mc-squared grob orig current)
-  (let ((interfaces (ly:grob-property grob 'interfaces))
-        (pos (ly:grob-property grob 'staff-position)))
-    (if (and (memq 'note-head-interface interfaces)
-             (memq pos '(-2 -3 -5)))
+  (let* ((interfaces (ly:grob-interfaces grob))
+         (pos (ly:grob-property grob 'staff-position)))
+    (if (memq 'note-head-interface interfaces)
         (begin
-          (ly:grob-set-property! grob 'print-function Text_interface::print)
+          (ly:grob-set-property! grob 'stencil ly:text-interface::print)
           (ly:grob-set-property! grob 'font-family 'roman)
-          (ly:grob-set-property!
-           grob 'text
-           (make-raise-markup
-            -0.5
-            (case pos
-              ((-5) (make-simple-markup "m"))
-              ((-3) (make-simple-markup "c "))
-              ((-2) (make-smaller-markup (make-bold-markup "2")))
-              (else (make-simple-markup "bla")))))))))
+          (ly:grob-set-property! grob 'text
+            (make-raise-markup -0.5
+              (case pos
+                ((-5) (make-simple-markup "m"))
+                ((-3) (make-simple-markup "c "))
+                ((-2) (make-smaller-markup (make-bold-markup "2")))
+                (else (make-simple-markup "bla")))))))))
 
 \new Voice \relative c' {
    \stemUp
    \set autoBeaming = ##f
    \time 2/4
    <d f g>4
-   \once \override NoteHead #'print-function = #Note_head::brew_ez_stencil
+   \once \override NoteHead #'stencil = #ly:note-head::brew-ez-stencil
+   \once \override NoteHead #'font-size = #-7
+   \once \override NoteHead #'font-family = #'sans
+   \once \override NoteHead #'font-series = #'bold
    <d f g>
    \once \override NoteHead #'style = #'cross
    <d f g>
-   \applyoutput #mc-squared
+   \applyOutput #'Voice #mc-squared
    <d f g>
    <<
       { d8[ es-( fis^^ g] fis2-) }
-      \repeat unfold 5 { \applyoutput #mc-squared s8 }
+      \repeat unfold 5 { \applyOutput #'Voice #mc-squared s8 }
    >>
 }
 @end lilypond
@@ -328,7 +385,7 @@ craftsmen who translate musical ideas to graphic symbols.
 In the following example, we see how we start out with a plug-in for
 note heads, the @code{Note_heads_engraver}.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 
 \score {
@@ -360,7 +417,7 @@ note heads, the @code{Note_heads_engraver}.
 @noindent
 Then a @code{Staff_symbol_engraver} adds the staff
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 
 \score {
@@ -391,7 +448,7 @@ Then a @code{Staff_symbol_engraver} adds the staff
 @noindent
 the @code{Clef_engraver} defines a reference point for the staff
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 
 \score {
@@ -420,7 +477,7 @@ the @code{Clef_engraver} defines a reference point for the staff
 @noindent
 and the @code{Stem_engraver} adds stems.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 
 \score {
@@ -452,7 +509,7 @@ engravers for beams, slurs, accents, accidentals, bar lines,
 time signature, and key signature, we get a complete piece of
 notation.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 \score { \topVoice }
 @end lilypond
@@ -460,9 +517,9 @@ notation.
 This system works well for monophonic music, but what about
 polyphony?  In polyphonic notation, many voices can share a staff.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
-\new Staff << \topVoice \\ \botVoice >> 
+\new Staff << \topVoice \\ \botVoice >>
 @end lilypond
 
 In this situation, the accidentals and staff are shared, but the stems,
@@ -478,7 +535,7 @@ context.  The Score context is the top level notation context.
 
 Program reference: @internalsref{Contexts}.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 \include "engraver-example.ily"
 \score {
    <<
@@ -528,7 +585,7 @@ c4
 @noindent
 Chords can be constructed with @code{<<} and @code{>>} enclosing the notes
 
-@c < > is not a music expression, 
+@c < > is not a music expression,
 @c so we use <<>> iso. <> to drive home the point of
 @c expressions.  Don't change this back --hwn.
 @example
@@ -594,7 +651,7 @@ simplest application is printing notes.
 @noindent
 By adding chord names and lyrics we obtain a lead sheet.
 
-@lilypond[quote,raggedright]
+@lilypond[quote,ragged-right]
 <<
    \chords { c2 c f2 c }
    \new Staff \relative c' { \time 2/4 c4 c g'4 g a4 a g2 }
@@ -605,7 +662,7 @@ By adding chord names and lyrics we obtain a lead sheet.
 Polyphonic notation and piano music can also be printed.  The following
 example combines some more exotic constructs.
 
-@lilypondfile[quote,raggedright]{screech-boink.ly}
+@lilypondfile[quote,ragged-right]{screech-boink.ly}
 
 The fragments shown above have all been written by hand, but that is
 not a requirement.  Since the formatting engine is mostly automatic, it
@@ -638,12 +695,7 @@ gives a gentle introduction to typesetting music.  First time
 users should start here.
 
 @item
-@emph{@ref{Example templates}}
-provides templates of LilyPond pieces.  Just cut and paste a
-template into a file, add notes, and you're done!
-
-@item
-@emph{@ref{Putting it all together}}
+@emph{@ref{Working on LilyPond projects}}
 demonstrates practical uses of LilyPond.
 
 @item
@@ -674,9 +726,14 @@ details about complicated or unusual notation.
 explains how to fine tune layout.
 
 @item
-@emph{@ref{Output formats}}
+@emph{@ref{Non-musical notation}}
+discusses non-musical output such as titles, multiple movements,
+and how to select which MIDI instruments to use.
+
+@item
+@emph{@ref{Spacing issues}}
 discusses issues which affect the global output, such as selecting
-paper size or which MIDI instruments to use.
+paper size or specifying page breaks.
 
 @item
 @emph{@ref{LilyPond-book}} explains the details behind creating
@@ -695,8 +752,15 @@ The
 @emph{@ref{Literature list}}
 contains a set of useful reference books for those who wish to know
 more on notation and engraving.
+
+@item
+@emph{@ref{Example templates}}
+provides templates of LilyPond pieces.  Just cut and paste a
+template into a file, add notes, and you're done!
+
 @end itemize
 
+
 Once you are an experienced user, you can use the manual as reference:
 there is an extensive index@footnote{If you are looking for something,
 and you cannot find it in the manual, that is considered a bug.  In
@@ -706,7 +770,7 @@ available in
 a big HTML page,
 @end iftex
 @ifhtml
-@uref{source/Documentation/user/out-www/lilypond.html, one big page},
+@uref{source/Documentation/user/lilypond.html, one big page},
 @end ifhtml
 which can be searched easily using the search facility of a web
 browser.
@@ -770,7 +834,7 @@ Various input examples.
 @ifhtml
 @c Works, but link name is not so nice; so write-out macro
 @c @inputfileref{input/test,Various input examples}.
-@uref{source/input/test/out-www/collated-files.html,Various input examples}.
+@uref{source/input/test/collated-files.html,Various input examples}.
 @end ifhtml
 
 This collection of files shows various tips and tricks, and is
@@ -784,7 +848,7 @@ The regression tests.
 @ifhtml
 @c Works, but link name is not so nice; so write-out macro
 @c @inputfileref{input/regression,The regression tests}.
-@uref{source/input/regression/out-www/collated-files.html,The regression tests}.
+@uref{source/input/regression/collated-files.html,The regression tests}.
 @end ifhtml
 
 This collection of files tests each notation and engraving feature of
@@ -803,7 +867,7 @@ vary from system to system.  On occasion, this manual refers to
 initialization and example files.  Throughout this manual, we refer to
 input files relative to the top-directory of the source archive.  For
 example, @file{input/@/test/@/bla@/.ly} may refer to the file
-@file{lilypond@/-2.6.0/@/input/@/test/@/bla@/.ly}.  On binary packages
+@file{lilypond@/-2.8.0/@/input/@/test/@/bla@/.ly}.  On binary packages
 for the Unix platform, the documentation and examples can typically be
 found somewhere below @file{/usr/@/share/@/doc/@/lilypond/}.
 Initialization files, for example @file{scm/@/lily@/.scm}, or