]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of ssh+git://hanwen@git.sv.gnu.org/srv/git/lilypond
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 26 Jan 2007 01:25:22 +0000 (02:25 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Fri, 26 Jan 2007 01:25:22 +0000 (02:25 +0100)
12 files changed:
Documentation/index.html.in
Documentation/user/instrument-notation.itely
Documentation/user/running.itely
Documentation/user/tutorial.itely
Documentation/user/working.itely
input/lsr/GNUmakefile
input/lsr/LSR.ly [new file with mode: 0644]
input/lsr/SConscript [new file with mode: 0644]
input/lsr/advanced/AAA-intro-advanced.ly
input/lsr/trick/AAA-intro-trick.ly
input/lsr/trick/Adding-ambiti-per-voice.ly [deleted file]
input/test/AAA-intro-test.ly

index 11c99de0565a20f421b80a593cb943b1351ac990..e457d98a6d1a8dfa940c2f9aa0831d30604a64dd 100644 (file)
@@ -82,6 +82,10 @@ in <a class="title" href="user/lilypond.pdf">PDF</a>)
 (~ 2 Mb, in  <a class="title" href="../input/test/collated-files.pdf">PDF</a>)
 
      <br>(for advanced users)
+
+<li><a class="title" href="../input/lsr/collated-files.html">Snippets</a>
+     <br>(current in development)
+
  <li><a class="title" href="user/music-glossary/index.html">Glossary</a>
 (in <a class="title" href="user/music-glossary.html">one big page</a> ~ 1 Mb,
 in <a class="title" href="user/music-glossary.pdf">PDF</a>)
index 66854705270de633bd168b0fbba6a09cbb066ccb..abff76eef1014176f56582b988a3ec7f7db529a9 100644 (file)
@@ -1119,7 +1119,9 @@ There is one tricky aspect: the setting for @code{ignoreMelismata}
 must be set one syllable @emph{before} the non-melismatic syllable
 in the text, as shown here,
 
+@c  FIXME: breaks compile
 @lilypond[verbatim,ragged-right,quote]
+%{
 <<
   \relative \new Voice = "lahlah" {
     \set Staff.autoBeaming = ##f
@@ -1138,6 +1140,7 @@ in the text, as shown here,
     still
   }
 >>
+%}
 @end lilypond
 
 
index 738bf68759f9742004f017ae7bf35e5cf9b2dcf7..5670f9e28b15e641a053f98fbbb5188ef6077ba9 100644 (file)
@@ -577,6 +577,9 @@ bug by following the directions on
 
 @uref{http://lilypond.org/web/devel/participating/bugs}
 
+Please construct submit @ref{Minimal examples} of bug reports.  We do not
+have the resources to investigate reports which are not as small as possible.
+
 
 @node Error messages
 @section Error messages
index c0f622f7897c50bce49b446a8009d6a06b470c21..2dc618bb52de7c7d3509c93786e5a69aca7c364d 100644 (file)
@@ -131,11 +131,12 @@ file. Save it, for example, to @file{test.ly} on your Desktop, and
 then process it with the menu command @samp{Compile > Typeset File}.
 The resulting PDF file will be displayed on your screen.
 
-Be warned that the first time you ever run lilypond will take a minute
+Be warned that the first time you ever run LilyPond, it will take a minute
 or two because all of the system fonts have to be analyzed first.
 
 For future use of LilyPond, you should begin by selecting "New"
-or "Open".
+or "Open".  You must save your file before typesetting it.  If any errors
+occur in processing, please see the log window.
 
 @subsubheading Windows
 
@@ -152,7 +153,20 @@ codes that will confuse LilyPond.} and enter
 
 Save it on the desktop as @file{test.ly} and make sure that it is not
 called @file{test.ly.TXT}.  Double clicking @file{test.ly} will process
-the file and show the resulting PDF file.
+the file and show the resulting PDF file.  To edit an existing
+@file{.ly} file, right-click on it and select @qq{Edit source}.
+
+If you double-click in the LilyPond icon on the Desktop, it will open
+a simple text editor with an example file. Save it, for example, to
+@file{test.ly} on your Desktop, and then double-click on the file to
+process it.  After some seconds, you will get a file @file{test.pdf}
+on your desktop.  Double-click on this PDF file to view the typeset
+score.  An alternative method to process the @file{test.ly} file
+is to drag and drop it onto the LilyPond icon using your mouse pointer.
+
+Double-clicking the file does not only result in a PDF file, but also
+produces a @file{.log} file that contains some information on what LilyPond
+has done to the file.  If any errors occur, please examine this file.
 
 
 @subsubheading Unix
@@ -161,7 +175,7 @@ Begin by opening a terminal window and starting a text editor.  For
 example, you could open an xterm and execute
 @code{joe}@footnote{There are macro files for VIM addicts, and there
 is a @code{LilyPond-mode} for Emacs addicts.  If they have not been
-installed already, refer to the file @file{INSTALL.txt}.  These
+installed already, refer to the file @file{INSTALL.txt}.  The
 easiest editing environment is @file{LilyPondTool}.  See
 @ref{Editor support} for more information.}.  In your
 text editor, enter the following input and save the file as
@@ -879,7 +893,7 @@ Enclosing a group of notes in braces creates a new music expression:
 @end lilypond
 
 Putting a group of music expressions (e.g. notes) in braces means that
-are in sequence (i.e. each one follows the previous one).  The result
+they are in sequence (i.e. each one follows the previous one).  The result
 is another music expression:
 
 @lilypond[quote,ragged-right,verbatim,fragment,relative=2]
@@ -890,8 +904,8 @@ is another music expression:
 
 This technique is useful for polyphonic music.  To enter music
 with more voices or more staves, we combine expressions in
-parallel.  To indicate that two voices should play at the same time
-simple enter a simultaneous combination of music expressions.  A
+parallel.  To indicate that two voices should play at the same time,
+simply enter a simultaneous combination of music expressions.  A
 @q{simultaneous} music expression is formed by enclosing expressions inside
 @code{<<} and @code{>>}.  In the following example, three sequences (all
 containing two separate notes) are combined simultaneously:
@@ -911,10 +925,15 @@ amount of space.  LilyPond does not care how much (or little) space there
 is at the beginning of a line, but indenting LilyPond code like this makes
 it much easier for humans to read.
 
+@strong{Warning}: each note is relative to the
+previous note in the input, not relative to the @code{c''} in the
+initial @code{\relative} command.
+
+
 @subheading Simultaneous music expressions: single staff
 
 To determine the number of staves in a piece, LilyPond looks at the first
-exression.  If it is a single note, there is one staff; if there is a
+expression.  If it is a single note, there is one staff; if there is a
 simultaneous expression, there is more than one staff.
 
 @lilypond[quote,ragged-right,verbatim]
@@ -1107,7 +1126,7 @@ r4 <c e g>4 <c f a>2
 @end lilypond
 
 You can combine markings like beams and ties with chords.  They must
-be placed outside the angled brackets
+be placed outside the angle brackets
 
 @lilypond[quote,fragment,verbatim,relative=2,fragment]
 r4 <c e g>8[ <c f a>]~ <c f a>2
@@ -1138,7 +1157,7 @@ Consider a simple melody:
 
 @lilypond[quote,ragged-right,verbatim]
 \relative c'' {
-  a4 e c r4
+  a4 e c8 e r4
        b2 c4( d)
 }
 @end lilypond
@@ -1150,7 +1169,7 @@ syllable with a space.
 @lilypond[quote,ragged-right,verbatim]
 <<
   \relative c'' {
-    a4 e c r4
+    a4 e c8 e r4
          b2 c4( d)
   }
   \addlyrics { One day this shall be free }
@@ -1166,7 +1185,7 @@ line}.  It is entered as two underscores @code{__}:
 @lilypond[quote,ragged-right,verbatim]
 <<
   \relative c'' {
-    a4 e c r4
+    a4 e c8 e r4
          b2 c4( d)
   }
   \addlyrics { One day this shall be free __ }
@@ -1201,9 +1220,6 @@ discussed in @ref{Vocal music}.
 @cindex chords
 @cindex chord names
 
-@c TODO: revise this, \chords { } is shorter and more intuitive.
-@c  I need help for this.  -gp
-
 In popular music it is common to denote accompaniment with chord names.
 Such chords can be entered like notes,
 
@@ -1211,12 +1227,10 @@ Such chords can be entered like notes,
 \chordmode { c2 f4. g8 }
 @end lilypond
 
-@noindent
 Now each pitch is read as the root of a chord instead of a note.
-This mode is switched on with @code{\chordmode}
-
-Other chords can be created by adding modifiers after a colon.  The
-following example shows a few common modifiers
+This mode is switched on with @code{\chordmode}.  Other chords can be
+created by adding modifiers after a colon.  The
+following example shows a few common modifiers:
 
 @lilypond[quote,verbatim,ragged-right]
 \chordmode { c2 f4:m g4:maj7 gis1:dim7 }
@@ -1226,7 +1240,7 @@ For lead sheets, chords are not printed on staves, but as names on a
 line for themselves.  This is achieved by using @code{\chords} instead
 of @code{\chordmode}.  This uses the same syntax as @code{\chordmode},
 but renders the notes in a @code{ChordNames} context, with the
-following result.
+following result:
 
 @lilypond[quote,verbatim,ragged-right]
 \chords { c2 f4.:m g4.:maj7 gis8:dim7 }
@@ -1234,22 +1248,25 @@ following result.
 
 @cindex lead sheet
 When put together, chord names, lyrics and a melody form
-a lead sheet, for example,
+a lead sheet,
 
 @lilypond[quote,verbatim,ragged-right]
-%  this melody needs to be changed.  See my new example in 2.4.1. -gp
 <<
-  \chords { r2 c:sus4 f }
-  \relative {
-    r4 c' \times 2/3 { f g g }
-    \times 2/3 { g4( a2) }
+  \chords { c2 g:sus4 f e }
+  \relative c'' {
+    a4 e c8 e r4
+    b2 c4( d)
   }
-  \addlyrics { I want to break free __ }
+  \addlyrics { One day this shall be free __ }
 >>
 @end lilypond
 
+
+@moreinfo
+@quotation
 A complete list of modifiers and other options for layout can be found
 in @ref{Chords}.
+@end quotation
 
 
 @node Final touches
@@ -1394,7 +1411,7 @@ larger files, the music expressions get a lot bigger.  In polyphonic
 music with many staves, the input files can become very confusing.  We can
 reduce this confusion by using @emph{identifiers}.
 
-Identifiers (also known as variables or macros), we can break up
+With identifiers (also known as variables or macros), we can break up
 complex music expressions.  An identifier is assigned as follows
 
 @example
@@ -1423,7 +1440,7 @@ cello = \new Staff { \relative c {
 @end lilypond
 
 @noindent
-The name of an identifier should have alphabetic characters only: no
+The name of an identifier must have alphabetic characters only: no
 numbers, underscores, or dashes.
 
 It is possible to use variables for many other types of objects in the
index 97edb206c335eeee8dae48d4659090583a15e535..22659409a21078460f3998a970f91a3e87a4ee15 100644 (file)
@@ -22,6 +22,7 @@ this chapter.
 * Style sheets::                
 * Updating old files::          
 * Troubleshooting (taking it all apart)::  
+* Minimal examples::            
 @end menu
 
 
@@ -624,4 +625,46 @@ bass = \relative c' @{
 Now start slowly uncommenting more and more of the
 @code{bass} part until you find the problem line.
 
+Another very useful debugging technique is constructing
+@ref{Minimal examples}.
+
+
+@node Minimal examples
+@section Minimal examples
+
+A minimal example is an example which is small as possible.  These
+examples are much easier to understand than long examples.  Minimal
+examples are used for
+
+@itemize
+@item Bug reports
+@item Sending a help request to mailists
+@item Adding an example to the @uref{http://lsr@/.dsi@/.unimi/2.it/,LilyPond
+Snippet Repository}
+@end itemize
+
+To construct an example which is as small as possible, the rule is
+quite simple: remove anything which is not necessary.  When trying to
+remove unnecessary parts of a file, it is a very good idea to comment
+out lines instead of deleting them.  That way, if you discover that you
+actually @emph{do} need some lines, you can un-comment them, instead of
+typing them in from scratch.
+
+There are two exceptions to the @qq{as small as possible} rule:
+
+@itemize
+@item Include the @code{\version} number.
+@item If possible, use @code{\paper@{ ragged-right=##t @}} at the
+top of your example. 
+@end itemize
+
+The whole point of a minimal example is to make it easy to read:
+
+@itemize
+@item Avoid using complicated notes, keys, or time signatures, unless you
+wish to demonstrate something is about the behavior of those items. 
+@item Do not use \override commands unless that is the point of the
+example.
+@end itemize
+
 
index 95cd95a40d3b5497a73a0e9635ba43d98538f2a5..36b2eec4c11deb0d2f84da6b437008ae0761d771 100644 (file)
@@ -2,6 +2,11 @@ depth = ../../
 
 SUBDIRS = advanced trick
 
-LOCALSTEPMAKE_TEMPLATES=ly mutopia
+STEPMAKE_TEMPLATES=documentation texinfo tex
+LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
 
 include $(depth)/make/stepmake.make
+
+
+TITLE=LilyPond Examples
+
diff --git a/input/lsr/LSR.ly b/input/lsr/LSR.ly
new file mode 100644 (file)
index 0000000..b2fe188
--- /dev/null
@@ -0,0 +1,21 @@
+\version "2.10.0"
+\header{
+texidoc = "@unnumbered LilyPond Examples
+
+These pages show LilyPond examples (snippets) from the
+@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
+
+@c @h eading @uref{../trick/collated-files.html,Trick}:
+@strong{@uref{trick/collated-files.html,Trick}}:
+These snippets are blah blah.
+
+@c @h eading @uref{../advanced/collated-files.html,Advanced}:
+@strong{@uref{advanced/collated-files.html,Advanced}}:
+These snippets are fazzle snap.
+
+"
+}
+
+% make sure .png  is generated.
+\lyrics {  " " }
+% \lyrics {  "(left blank intentionally)" }
diff --git a/input/lsr/SConscript b/input/lsr/SConscript
new file mode 100644 (file)
index 0000000..c534e35
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env', 'collate')
+collate (title = 'LilyPond Examples')
index 73bf4078fe0df798f08caa00390973fbd99c73e6..ce1540cdd11dde064b278e1cfe8560432726eb54 100644 (file)
@@ -5,7 +5,7 @@
 
 \header{
 texidoc = #(string-append "
-@section Introduction
+@unnumbered Introduction
 
 This document shows all kinds of advanced snippets from the
 @uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
@@ -18,4 +18,4 @@ This document is for LilyPond version
 }
 
 % make sure .png  is generated.
-\lyrics {  "(left blank intentionally)" }
+\lyrics {  " " }
index 5010547c3e8dd6642089164d16065869a4a3faf9..ae4b6b0a6a37dd03865e776e312038cdf6d8576b 100644 (file)
@@ -5,7 +5,7 @@
 
 \header{
 texidoc = #(string-append "
-@section Introduction
+@unnumbered Introduction
 
 This document shows all kinds of tricks from the
 @uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
@@ -18,4 +18,4 @@ This document is for LilyPond version
 }
 
 % make sure .png  is generated.
-\lyrics {  "(left blank intentionally)" }
+\lyrics {  " " }
diff --git a/input/lsr/trick/Adding-ambiti-per-voice.ly b/input/lsr/trick/Adding-ambiti-per-voice.ly
deleted file mode 100644 (file)
index 58d3f28..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-\version "2.10.12"
-
-\header { texidoc = "
-<p>Ambits can be added per voice. In that case, the
-ambitus must be moved manually to prevent collisions.
-" }
-
-\new Staff <<
-    \new Voice \with {
-       \consists "Ambitus_engraver"
-    } \relative c'' {
-       \voiceOne
-       c4 a d e f2
-    }
-    \new Voice \with {
-       \consists "Ambitus_engraver"
-    } \relative c' {
-       \voiceTwo
-       es4 f g as b2
-    }
->>
-
index f19247dc220ff4d337d8cf20347e027e5fdd770c..b0abda40dd7c56235d320cc6558fa60ff266ddb9 100644 (file)
@@ -5,7 +5,7 @@
 
 \header{
 texidoc = #(string-append "
-@section Introduction
+@unnumbered Introduction
 
 This document shows all kinds of tips and tricks, from simple to
 advanced.  You may also find dirty tricks, or the very very