]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'lilypond/translation' of ssh://jomand@git.sv.gnu.org/srv/git/lilypond
authorJohn Mandereau <john.mandereau@gmail.com>
Fri, 22 May 2009 15:25:10 +0000 (17:25 +0200)
committerJohn Mandereau <john.mandereau@gmail.com>
Fri, 22 May 2009 15:25:10 +0000 (17:25 +0200)
16 files changed:
Documentation/de/user/setup.itely
Documentation/es/user/setup.itely
Documentation/fr/user/setup.itely
Documentation/user/chords.itely
Documentation/user/pitches.itely
Documentation/user/setup.itely
lily/axis-group-interface.cc
lily/page-breaking.cc
lily/page-spacing.cc
lily/slur.cc
ps/music-drawing-routines.ps
scm/define-grob-properties.scm
scm/fret-diagrams.scm
stepmake/stepmake/texinfo-targets.make
vim/filetype.vim
vim/lilypond-ftdetect.vim

index b467ad2cfdb9e5844600fbe43b29f18ddc57ffb3..a3a0ae9faa7391d805a179cab338be5db7a96c49 100644 (file)
@@ -14,9 +14,9 @@
 @node Setup
 @chapter Setup
 
-In diesem Kapitel werden verschiedene Konfigurationsoptionen für LilyPond und 
-andere Programme behandelt, die nach der Installation auszuführen sind. Dieses 
-Kapitel kann als Referenz betrachtet werden, lesen Sie einen Abschnitt nur, 
+In diesem Kapitel werden verschiedene Konfigurationsoptionen für LilyPond und
+andere Programme behandelt, die nach der Installation auszuführen sind. Dieses
+Kapitel kann als Referenz betrachtet werden, lesen Sie einen Abschnitt nur,
 wenn er auf Sie zutrifft.
 
 @menu
@@ -64,7 +64,7 @@ andernfalls muss sie heißen:
 
 Die Skripte (etwa @command{lilypond-book}, @command{convert-ly},
 @command{abc2ly} und sogar @command{lilypond}) befinden sich
-innerhalb der @code{.app}-Datei für MacOS@tie{}X.  Sie können 
+innerhalb der @code{.app}-Datei für MacOS@tie{}X.  Sie können
 auf der Kommandozeile direkt aufgerufen werden, etwa
 
 @example
@@ -72,10 +72,10 @@ auf der Kommandozeile direkt aufgerufen werden, etwa
 @end example
 
 @noindent
-Entsprechend funktionieren auch die anderen Skripte wie 
+Entsprechend funktionieren auch die anderen Skripte wie
 @command{lilypond-book}, @command{convert-ly}, @command{abc2ly} usw.
 
-Sie können sich auch selber Skripte anlegen, die diesen Pfad automatisch 
+Sie können sich auch selber Skripte anlegen, die diesen Pfad automatisch
 hinzufügen. Erstellen Sie ein Verzeichnis, indem die Skripte gespeichert werden:
 
 @example
@@ -92,7 +92,7 @@ exec @var{path/to}/LilyPond.app/Contents/Resources/bin/lilypond "$@@"
 Erstellen Sie entsprechende Dateien mit den Namen @code{lilypond-book},
  @code{convert-ly} und den Namen der anderen Hilfsprogramme, die Sie benutzen
  (@code{abc2ly}, @code{midi2ly} usw.). Ersetzen Sie einfach den Teil
- @code{bin/lilypond} mit @code{bin/convert-ly} (oder einem anderen 
+ @code{bin/lilypond} mit @code{bin/convert-ly} (oder einem anderen
  Programmnamen) in der entsprechenden Datei.
 
 Machen Sie die Datei ausführbar:
@@ -101,9 +101,9 @@ Machen Sie die Datei ausführbar:
 chmod u+x lilypond
 @end example
 
-Jetzt müssen Sie dieses Verzeichnis noch zu Ihrem Pfad (PATH) hinzufügen. 
-Verändern Sie die Datei @code{.profile} in Ihrem Benutzerverzeichnis 
-(oder erstellen Sie sie), dass sie die Zeile 
+Jetzt müssen Sie dieses Verzeichnis noch zu Ihrem Pfad (PATH) hinzufügen.
+Verändern Sie die Datei @code{.profile} in Ihrem Benutzerverzeichnis
+(oder erstellen Sie sie), dass sie die Zeile
 
 @example
 export PATH=$PATH:~/bin
@@ -139,22 +139,22 @@ Verschiedene Texteditoren haben Unterstützung für LilyPond.
 @node Emacs mode
 @subsection Emacs mode
 
-Emacs hat einen LilyPond-Modus (@file{lilypond-mode}), eine Datei, die 
-die Vervollständigung von Befehlen, Einrückungen, für LilyPond spezifische 
-Klammerschließungen und die Markierung der Syntax beherrscht. 
+Emacs hat einen LilyPond-Modus (@file{lilypond-mode}), eine Datei, die
+die Vervollständigung von Befehlen, Einrückungen, für LilyPond spezifische
+Klammerschließungen und die Markierung der Syntax beherrscht.
 Zusätzlich stehen noch praktische Tastaturkombinationen zum
-Programmaufruf und zum Nachschlagen in den Handbüchern zur 
-Verfügung. Siehe unten, wenn die Datei @file{lilypond-mode} 
+Programmaufruf und zum Nachschlagen in den Handbüchern zur
+Verfügung. Siehe unten, wenn die Datei @file{lilypond-mode}
 sich nicht auf Ihrem Computer befindet.
 
-Der Emacs-Modus zur Noteneingabe und zum Programmaufruf ist 
-in den Emacs-Quellen im @file{elisp}-Verzeichnis enthalten. Mit 
+Der Emacs-Modus zur Noteneingabe und zum Programmaufruf ist
+in den Emacs-Quellen im @file{elisp}-Verzeichnis enthalten. Mit
 dem Befehl @command{make install} können Sie es nach @var{elispdir}
-installieren. Die Datei @file{lilypond-init.el} sollte in 
+installieren. Die Datei @file{lilypond-init.el} sollte in
  @var{load-path}@file{/site-start.d/} liegen oder Ihrem
  @file{~/.emacs} or @file{~/.emacs.el} hinzugefügt werden.
 
-Als Benutzer können Sie Ihren Quellenpfad (etwa @file{~/site-lisp/}) 
+Als Benutzer können Sie Ihren Quellenpfad (etwa @file{~/site-lisp/})
 ihrem @var{load-path} hinzufügen, indem Sie folgende Zeile zu Ihrer
 @file{~/.emacs}-Datei hinzufügen:
 
@@ -168,8 +168,8 @@ ihrem @var{load-path} hinzufügen, indem Sie folgende Zeile zu Ihrer
 @subsection Vim mode
 
 Für @uref{http://@/www@/.vim@/.org,VIM} wird ein @file{vimrc} bereitgestellt,
-zusammen mit Werkzeugen zur Syntaxauszeichnung. Ein Vim-Modus zur 
-Noteneingabe und zum Programmaufruf befindet sich im Quellarchiv im 
+zusammen mit Werkzeugen zur Syntaxauszeichnung. Ein Vim-Modus zur
+Noteneingabe und zum Programmaufruf befindet sich im Quellarchiv im
 @code{$VIM}-Verzeichnis.
 
 LilyPond-Dateien werden automatisch erkannt, wenn sich in der Datei
@@ -180,7 +180,7 @@ if exists("did_load_filetypes")
   finish
 endif
 augroup filetypedetect
-  au! BufNewFile,BufRead *.ly           setf lilypond
+  au! BufNewFile,BufRead *.ly,*.ily           setf lilypond
 augroup END
 @end example
 
@@ -193,7 +193,7 @@ set runtimepath+=/usr/local/share/lilypond/$@{LILYPOND_VERSION@}/vim/
 
 @noindent
 Dabei wird $@{LILYPOND_VERSION@}durch Ihre LilyPond-Version ersetzt. Sollten
-Sie LilyPond nicht nach @file{/usr/local/} installiert haben, müssen Sie den 
+Sie LilyPond nicht nach @file{/usr/local/} installiert haben, müssen Sie den
 Pfad entsprechend anpassen.
 
 
@@ -201,11 +201,11 @@ Pfad entsprechend anpassen.
 @subsection jEdit
 
 Das Plugin für den @uref{http://@/www@/.jedit@/.org@/,jEdit}-Texteditor,
-LilyPondTool genannt, ist das vielfältigste textbasierte Werkzeug, um 
-LilyPond-Notationsdateien zu editieren. Zu den besonderen Eigenschaften 
-gehört ein Dokument-Ersteller mit Liedtextunterstützung, der die Neuerstellung 
+LilyPondTool genannt, ist das vielfältigste textbasierte Werkzeug, um
+LilyPond-Notationsdateien zu editieren. Zu den besonderen Eigenschaften
+gehört ein Dokument-Ersteller mit Liedtextunterstützung, der die Neuerstellung
 von Dateien erleichtert, und ein integriertes PDF-Anzeigeprogramm mit
-@qq{point-and-click}-Unterstützung. Demos, Bildschirmphotos und 
+@qq{point-and-click}-Unterstützung. Demos, Bildschirmphotos und
 Installationsanweisungen finden sich unter
 @uref{http://lilypondtool@/.organum@/.hu}
 
@@ -213,8 +213,8 @@ Installationsanweisungen finden sich unter
 @node TexShop
 @subsection TexShop
 
-Der 
-@uref{http://@/www@/.uoregon@/.edu/~koch/texshop/index@/.html,TexShop}-Editor 
+Der
+@uref{http://@/www@/.uoregon@/.edu/~koch/texshop/index@/.html,TexShop}-Editor
 für MacOS@tie{}X kann erweitert werden, um LilyPond, lilypond-book und convert-ly aus dem
 Editor heraus zu starten. Die Erweiterung findet sich unter
 @uref{http://@/www@/.dimi@/.uniud@/.it/vitacolo/freesoftware@/.html}.
@@ -238,7 +238,7 @@ ausführt.
 @node LilyKDE
 @subsection LilyKDE
 
-@uref{http://lilykde.googlecode.com/,LilyKDE} ist eine Erweiterung für 
+@uref{http://lilykde.googlecode.com/,LilyKDE} ist eine Erweiterung für
 den Texteditor @uref{http://kate-editor.org/,Kate} für KDE. LilyKDE
 beinhaltet einen mächtigen Assistenten, mit dem sehr schnell neue
 LilyPond-Dokumente erstellt werden könne, sowie einen eingebetteten
@@ -257,11 +257,11 @@ KDE Dateimanager aus aufzurufen.
 @cindex Point and click
 
 
-Point and click erlaubt es, die Noten in der Quelldatei zu finden, indem man sie 
+Point and click erlaubt es, die Noten in der Quelldatei zu finden, indem man sie
 im PDF anklickt. Das erleichtert es, fehlerhafte Stellen zu finden.
 
-Wenn diese Funktionalität aktiv ist, fügt LilyPond Hyperlinks zum PDF hinzu. 
-Diese werden dann bei einem Klick zum Browser geschickt, der wiederum 
+Wenn diese Funktionalität aktiv ist, fügt LilyPond Hyperlinks zum PDF hinzu.
+Diese werden dann bei einem Klick zum Browser geschickt, der wiederum
 einen Texteditor mit dem Cursor an der richtigen Stelle öffnet.
 
 Damit diese Kettenreaktion funktioniert, müssen Sie ihrem PDF-Programm
@@ -276,8 +276,8 @@ urlCommand     "lilypond-invoke-editor %s"
 @end example
 
 Das Programm @file{lilypond-invoke-editor} ist ein kleines Hilfsprogramm.
-Es ruft einen Editor auf für bestimmte @code{textedit}-URIs und startet 
-einen Browser für die anderen. Die Umgebungsvariable @code{EDITOR} 
+Es ruft einen Editor auf für bestimmte @code{textedit}-URIs und startet
+einen Browser für die anderen. Die Umgebungsvariable @code{EDITOR}
 wird für folgende Zeichenketten:
 
 @table @code
@@ -299,10 +299,10 @@ gvim --remote +:@var{line}:norm@var{char} @var{file}
 @end example
 @end table
 
-Die Umgebungsvariable @code{LYEDITOR} wird verwendet, um dieses zu 
+Die Umgebungsvariable @code{LYEDITOR} wird verwendet, um dieses zu
 überschreiben. Sie enthält den Befehl, um den Editor aufzurufen, wobei
 die Variablen @code{%(file)s},
-@code{%(column)s}, @code{%(line)s} mit der Datei, Spalte und Zeile 
+@code{%(column)s}, @code{%(line)s} mit der Datei, Spalte und Zeile
 ersetzt werden. Die Einstellung
 
 @example
@@ -310,14 +310,14 @@ emacsclient --no-wait +%(line)s:%(column)s %(file)s
 @end example
 
 @noindent
-für @code{LYEDITOR} etwa entspricht dem von vornherein eingestellten 
+für @code{LYEDITOR} etwa entspricht dem von vornherein eingestellten
 Emacs-Aufruf.
 
 
 @cindex Dateigröße, Ausgabedatei
 
-Die point and click-Links vergrößern die Notationsdatei erheblich. Um die 
-Größe der PDF- und PS-Dateien zu verringern, kann point and click 
+Die point and click-Links vergrößern die Notationsdatei erheblich. Um die
+Größe der PDF- und PS-Dateien zu verringern, kann point and click
 ausgeschaltet werden, indem die Zeile
 
 @example
@@ -339,7 +339,7 @@ Kommandozeilenoption ausschalten:
 lilypond -dno-point-and-click file.ly
 @end example
 
-@warning{Sie sollten Point and Click immer für Dateien ausschalten, die 
+@warning{Sie sollten Point and Click immer für Dateien ausschalten, die
 Sie an andere Personen weitergeben möchten. Anderenfalls werden
 Pfadinformationen Ihres Computers in die PDF-Datei kopiert, was ein
 potentielles Sicherheitsrisiko darstellt.}
index a201b8d90ad0c9b3d1242dafddb075f33153c95e..c22295747feb3b5019ba5e7e0784e2dba40bc55e 100644 (file)
@@ -176,7 +176,7 @@ if exists("did_load_filetypes")
   finish
 endif
 augroup filetypedetect
-  au! BufNewFile,BufRead *.ly           setf lilypond
+  au! BufNewFile,BufRead *.ly,*.ily           setf lilypond
 augroup END
 @end example
 
index 3927176944f52870866e60358c3e3039c52145d6..ae0e93be75a552817391eecbce005c0d1580b703 100644 (file)
@@ -29,7 +29,7 @@ concerne directement.
 @section Setup for specific Operating Systems
 
 Cette partie explique comment optimiser l'installation propres à
-certains systèmes. 
+certains systèmes.
 
 @menu
 * Setup for MacOS X::
@@ -105,7 +105,7 @@ chmod u+x lilypond
 
 Ajoutez alors ce répertoire à votre @var{PATH}.  Modifiez le fichier
 @code{.profile} -- créez-le si besoin -- de votre répertoire personnel,
-de telle sorte qu'il contienne 
+de telle sorte qu'il contienne
 
 @example
 export PATH=$PATH:~/bin
@@ -146,14 +146,14 @@ mots-clés, l'indentation, les appariements spécifiques à LilyPond, la
 coloration synthaxique, ainsi que des raccourcis pour compiler et
 consulter les manuels de LilyPond en mode info.  Si le
 @file{lilypond-mode} n'était pas installé sur votre système, procédez
-comme ci-dessous. 
+comme ci-dessous.
 
 Le répertoire @file{elisp} inclus dans les sources contient aussi un
 mode pour saisir la musique et lancer LilyPond.  Faites @command{make
 install} pour l'installer dans votre @var{elispdir}.  Le fichier
 @file{lilypond-init.el} devrait trouver sa place dans
 @var{load-path}@file{/site-start.d/} ou bien ajouté à votre
-@file{~/.emacs} ou @file{~/.emacs.el}. 
+@file{~/.emacs} ou @file{~/.emacs.el}.
 
 En tant que simple utilisateur, vous pouvez toujours ajouter votre
 propre répertoire (par exemple @file{~/site-lisp/}) à votre
@@ -169,10 +169,10 @@ propre répertoire (par exemple @file{~/site-lisp/}) à votre
 @node Vim mode
 @subsection Vim mode
 
-En ce qui concerne @uref{http://@/www@/.vim@/.org,VIM}, LilyPond fournit 
+En ce qui concerne @uref{http://@/www@/.vim@/.org,VIM}, LilyPond fournit
 un fichier @file{vimrc} qui gère la coloration synthaxique.  Le
 répertoire @code{$VIM} inclus dans les sources contient aussi un
-mode pour saisir la musique et lancer LilyPond. 
+mode pour saisir la musique et lancer LilyPond.
 
 Le type de fichier LilyPond sera reconnu si votre
 @file{~/.vim/filetype.vim} contient
@@ -182,7 +182,7 @@ if exists("did_load_filetypes")
   finish
 endif
 augroup filetypedetect
-  au! BufNewFile,BufRead *.ly           setf lilypond
+  au! BufNewFile,BufRead *.ly,*.ily           setf lilypond
 augroup END
 @end example
 
@@ -202,13 +202,13 @@ en conséquence.
 @node jEdit
 @subsection jEdit
 
-Créé en tant que greffon pour l'éditeur de texte 
+Créé en tant que greffon pour l'éditeur de texte
 @uref{http://@/www@/.jedit@/.org@/,jEdit}, LilyPondTool est l'outil le
 plus riche en fonctionnalités pour éditer des partitions écrites avec
 LilyPond.  Cela inclue un assistant à la création de document qui prend
 en charge les paroles, un visionneur de PDF avec gestion du
 pointer-cliquer.  Captures d'écran, démonstrations et instructions
-d'installation sont disponibles sur le site de 
+d'installation sont disponibles sur le site de
 @uref{http://lilypondtool@/.organum@/.hu,LilyPondTool}.
 
 
@@ -218,7 +218,7 @@ d'installation sont disponibles sur le site de
 L'éditeur
 @uref{http://@/www@/.uoregon@/.edu/~koch/texshop/index@/.html,TexShop}
 pour MacOS@tie{}X peut prendre en charge LilyPond, lilypond-book et
-convert-ly, en lui adjoignant les extensions disponibles 
+convert-ly, en lui adjoignant les extensions disponibles
 @uref{http://@/www@/.dimi@/.uniud@/.it/vitacolo/freesoftware@/.html,ici}.
 
 
@@ -248,7 +248,7 @@ LilyKDE peut s'interfacer avec
 la musique à l'aide d'un clavier MIDI.
 
 LilyKDE gère l'hyphénation des paroles, et le gestionnaire de fichiers
-de KDE permet de lancer LilyPond sur plusierus fichiers simultanément. 
+de KDE permet de lancer LilyPond sur plusierus fichiers simultanément.
 
 
 @node Point and click
@@ -262,15 +262,15 @@ partir du fichier imprimable.
 Lorsque cette fonctionnalité est active, LilyPond ajoute des hyperliens
 au fichier PDF.  Ces liens sont transmis au navigateur internet qui se
 charge d'ouvrir un éditeur de texte à l'enfroit même où le curseur
-pointe. 
+pointe.
 
 Afin que cette chaîne de traitement soit pleinement opérationnelle, il
 faut configurer votre visionneur de PDF de façon à ce qu'il suive les
 liens grâce au script @file{lilypond-invoke-editor} fourni avec
-LilyPond. 
+LilyPond.
 
 
-Pour Xpdf, sous UNIX, vous devrez insérer la ligne suivante dans 
+Pour Xpdf, sous UNIX, vous devrez insérer la ligne suivante dans
 le fichier @file{xpdfrc} -- soit @file{/etc/xpdfrc}, soit dans votre
 répertoire personnel @file{.xpdfrc}.
 
@@ -282,7 +282,7 @@ urlCommand     "lilypond-invoke-editor %s"
 charge d'appeler un éditeur pour les identifants de ressource
 (@emph{URI}) de type @code{textedit}, et un navigateur pour les autres.
 Il teste en outre la variable d'environnement @code{EDITOR} pour les cas
-suivant : 
+suivant :
 
 @table @code
 @item emacs
@@ -330,7 +330,7 @@ toujours possible de désactiver le pointer-cliquer en ajoutant
 
 @noindent
 dans le fichier @file{.ly}.  Il peut alors être activé de manière
-explicite grâce à 
+explicite grâce à
 
 @example
 \pointAndClickOn
index 9e548efc6283520e0b391cdb1a68875e46ddd4e3..c1b6c03d75729d3b3bb9bfe2e562806ea1716591 100644 (file)
@@ -61,6 +61,9 @@ found at @ref{Input modes}.
 
 Chords entered using chord mode are music elements, and can be
 transposed just like chords entered using simultaneous music.
+@code{\chordmode} is absolute, as @code{\relative} has no effect
+on @code{chordmode} blocks. However, in @code{\chordmode} the
+absolute pitches are one octave higher than in note mode.
 
 Chord mode and note mode can be mixed in sequential music:
 
@@ -141,7 +144,7 @@ Seventh chords can be created:
 The table belows shows the actions of the quality modifiers on
 triads and seventh chords.  The default seventh step added to
 chords is a minor or flatted seventh, which makes the dominant
-seventh the basic seventh chord.  All alterations are relative to 
+seventh the basic seventh chord.  All alterations are relative to
 the dominant seventh.  A more complete table of modifier usage
 is found at @ref{Common chord modifiers}.
 
@@ -231,7 +234,7 @@ Snippets:
 @rlsr{Chords}.
 
 @knownissues
-Only one quality modifier should be used per chord, typically on the 
+Only one quality modifier should be used per chord, typically on the
 highest step present in the chord.  Chords with more than quality
 modifier will be parsed without an error or warning, but the results
 are unpredictable.  Chords that cannot be achieved with a single
index 1b7c2c8e1d7499ab4e08170e1322b927d366ad60..d2c982939b9811d1d432c5164407e3cd29dcdffe 100644 (file)
@@ -175,6 +175,47 @@ large intervals:
 }
 @end lilypond
 
+When @code{\relative} blocks are nested, the innermost
+@code{\relative} block applies.
+
+@lilypond[verbatim,quote]
+\relative c' {
+  c d e f
+  \relative c'' {
+    c d e f
+  }
+}
+@end lilypond
+
+@code{\relative} has no effect on @code{\chordmode} blocks.
+
+@lilypond[verbatim,quote]
+\new Staff {
+  \relative c''' {
+    \chordmode { c1 }
+  }
+  \chordmode { c1 }
+}
+@end lilypond
+
+@code{\relative} is not allowed inside of @code{\chordmode} blocks.
+
+Music inside a @code{\transpose} block is absolute unless a
+@code{\relative} is included.
+
+@lilypond[verbatim,quote]
+\relative c' {
+  d e
+  \transpose f g {
+    d e
+    \relative c' {
+      d e
+    }
+  }
+}
+@end lilypond
+
+
 @cindex chords and relative octave entry
 @cindex relative octave entry and chords
 
@@ -238,13 +279,6 @@ Internals Reference:
 @funindex relative
 
 
-@knownissues
-
-The relative conversion will not affect @code{\transpose},
-@code{\chordmode} or @code{\relative} sections in its argument.
-To use relative mode within transposed music, an additional
-@code{\relative} must be placed inside @code{\transpose}.
-
 @c DEPRECATED
 If no @var{startpitch} is specified for @code{\relative},
 then@tie{}@code{c'} is assumed.  However, this is a deprecated
@@ -648,6 +682,9 @@ with pitch @var{frompitch} is changed to @var{topitch} and any
 other note is transposed by the same interval.  Both pitches are
 entered in absolute mode.
 
+@warning{Music inside a @code{@bs{}transpose} block is absolute
+unless a @code{@bs{}relative} is included in the block.}
+
 Consider a piece written in the key of D-major.  It can be
 transposed up to E-major; note that the key signature is
 automatically transposed as well.
@@ -734,6 +771,7 @@ see @ref{Instrument transpositions}.
 
 @seealso
 Notation Reference:
+@ref{Relative octave entry},
 @ref{Instrument transpositions}.
 
 Snippets:
@@ -757,7 +795,6 @@ The relative conversion will not affect @code{\transpose},
 To use relative mode within transposed music, an additional
 @code{\relative} must be placed inside @code{\transpose}.
 
-
 @node Displaying pitches
 @subsection Displaying pitches
 
index d91d35cbcd51167c9d2dedc973424403e544fca3..da5bbe90ae5c2dc94b4bd02befdd168c31aa78bf 100644 (file)
@@ -173,7 +173,7 @@ if exists("did_load_filetypes")
   finish
 endif
 augroup filetypedetect
-  au! BufNewFile,BufRead *.ly           setf lilypond
+  au! BufNewFile,BufRead *.ly,*.ily           setf lilypond
 augroup END
 @end example
 
index d14a56c08440ebdfecfff635ba1c6469272b28fc..87abab3a2f845484a9d9c6c26d2a3c08d92ec804 100644 (file)
@@ -160,7 +160,7 @@ Axis_group_interface::adjacent_pure_heights (SCM smob)
              && !to_boolean (it->get_property ("cross-staff")))
            {
              Interval dims = items[j]->pure_height (common, start, end);
-             Interval &target_iv = it->pure_is_visible (start-1, end) ? mid_line_iv : begin_line_iv;
+             Interval &target_iv = start == it->get_column ()->get_rank () ? begin_line_iv : mid_line_iv;
 
              if (!dims.is_empty ())
                target_iv.unite (dims);
index 4f096d8178e1a692e1097d9a28c13d0f40b52d61..668231f63aa95f6ab8092f0c2c547189a4861ab1 100644 (file)
@@ -762,6 +762,12 @@ Page_breaking::min_page_count (vsize configuration, vsize first_page_num)
   int line_count = 0;
 
   cache_line_details (configuration);
+
+  // If the first line on a page has titles, allow them some extra space.
+  if (cached_line_details_.size ()
+      && cached_line_details_[0].compressed_nontitle_lines_count_ < cached_line_details_[0].compressed_lines_count_)
+    cur_page_height += page_top_space ();
+
   for (vsize i = 0; i < cached_line_details_.size (); i++)
     {
       Real ext_len = cached_line_details_[i].extent_.length ();
@@ -780,6 +786,9 @@ Page_breaking::min_page_count (vsize configuration, vsize first_page_num)
          cur_rod_height = ext_len;
          cur_spring_height = cached_line_details_[i].space_;
          cur_page_height = page_height (first_page_num + ret, false);
+
+         if (cached_line_details_[i].compressed_nontitle_lines_count_ < cached_line_details_[i].compressed_lines_count_)
+           cur_page_height += page_top_space ();
          ret++;
        }
       else
index c236c94e88936193defac0c3f5ffa6631901503f..cc84cfd9432ef19dd3bda51f881dbb79e07705c1 100644 (file)
@@ -155,17 +155,14 @@ Page_spacer::solve (vsize page_count)
   if (extra_systems)
     {
       ret.systems_per_page_.back () += extra_systems;
-      ret.demerits_ += BAD_SPACING_PENALTY;
+      ret.force_.back () = BAD_SPACING_PENALTY;
     }
   if (extra_pages)
     {
       ret.force_.insert (ret.force_.end (), extra_pages, BAD_SPACING_PENALTY);
       ret.systems_per_page_.insert (ret.systems_per_page_.end (), extra_pages, 0);
-      ret.demerits_ += BAD_SPACING_PENALTY;
     }
 
-
-  ret.demerits_ += ret.penalty_;
   return ret;
 }
 
index 7eea1c24d08597dce719e2578ac3a5893ea73470..28eed394739e50217a3b1b74f4fcd8c7f459f8d2 100644 (file)
@@ -156,7 +156,7 @@ Slur::print (SCM smob)
 
 /*
   it would be better to do this at engraver level, but that is
-  fragile, as the breakabl items are generated on staff level, at
+  fragile, as the breakable items are generated on staff level, at
   which point slur starts and ends have to be tracked
 */
 void
@@ -275,9 +275,9 @@ Slur::outside_slur_callback (SCM grob, SCM offset_scm)
                                         0.0);
   yext.widen (slur_padding);
 
-  Real EPS = 1e-3;
+  const Real EPS = 1e-3;
   Interval bezext (curve.control_[0][X_AXIS], curve.control_[3][X_AXIS]);
-  bool consider[] = { false, false, false };
+  bool consider[] = {false, false, false};
   Real ys[] = {0, 0, 0};
   bool do_shift = false;
   
@@ -351,7 +351,7 @@ Slur::auxiliary_acknowledge_extra_object (Grob_info const &info,
          e->set_object ("slur", slur->self_scm ());
        }
     }
-  else
+  else if (avoid != ly_symbol2scm ("ignore"))
     e->warning (_f ("Ignoring grob for slur: %s. avoid-slur not set?",
                    e->name().c_str ()));
 }
index 762657508449c1ef4cff795575fc9be9dc26f26b..1807e47dc45514148d3c2dc349e55a52bf9f75f1 100644 (file)
@@ -124,12 +124,16 @@ bind def
 } bind def
 
 % this is for drawing slurs and barre-indicators.
-/draw_bezier_sandwich  % thickness controls
+/draw_bezier_sandwich  % x5 y5 x6 y6 x7 y7
+                       % x4 y4
+                       % x1 y1 x2 y2 x3 y3 
+                       % x0 y0
+                       % linewidth draw_bezier_sandwich
 {
        gsave
        currentpoint translate
-    % round ending and round beginning
-    1 setlinejoin 1 setlinecap
+        % round ending and round beginning
+        1 setlinejoin 1 setlinecap
        setlinewidth
        moveto
        curveto
index af9aa948d0652fec53b2d0f3a59f82f68a6de476..a6b3293334029e1c126d0cc5e21c27d6ac452eb2 100644 (file)
@@ -51,10 +51,14 @@ averaged over staves.")
      (avoid-note-head ,boolean? "If set, the stem of a chord does not
 pass through all note heads, but starts at the last note head.")
      (avoid-slur ,symbol? "Method of handling slur collisions.
-Choices are @code{around}, @code{inside}, @code{outside}.  If unset,
-scripts and slurs ignore each other.  @code{around} only moves the
-script if there is a collision; @code{outside} always moves the
-script.")
+Choices are @code{inside}, @code{outside}, @code{around}, and
+@code{ignore}.  @code{inside} adjusts the slur if needed to keep the
+grob inside the slur.  @code{outside} moves the grob vertically to the
+outside of the slur.  @code{around} moves the grob vertically to the
+outside of the slur only if there is a collision.  @code{ignore} does
+not move either.  In grobs whose notational significance depends on
+vertical position (such as accidentals, clefs, etc.), @code{outside}
+and @code{around} behave like @code{ignore}.")
      (axes ,list? "List of axis numbers.  In the case of alignment
 grobs, this should contain only one number.")
 
@@ -841,8 +845,9 @@ constructed from a whole number of squiggles.")
      (accidental-grob ,ly:grob? "The accidental for this note.")
      (accidental-grobs ,list? "An alist with @code{(@var{notename} .
 @var{groblist})} entries.")
-     (adjacent-pure-heights ,pair? "A pair of vectors. Used by a @code{VerticalAxisGroup} to
-cache the @code{Y-extent}s of different column ranges.")
+     (adjacent-pure-heights ,pair? "A pair of vectors.  Used by a
+@code{VerticalAxisGroup} to cache the @code{Y-extent}s of different column
+ranges.")
      (adjacent-hairpins ,ly:grob-array? "A list of directly neighboring
 hairpins.")
      (all-elements ,ly:grob-array? "A list of all grobs in this line.  Its
index 992c94941aa1ddd8e29c39e89ed516a768e05849..d0883a48ac5ab4dccb3d33e24a8d6e273d85c392 100644 (file)
@@ -294,7 +294,7 @@ with magnification @var{mag} of the string @var{text}."
           (cons string-coordinate (- fret-coordinate)))))
 
     (define (stencil-coordinate-offset fret-offset string-offset)
-      "Return a pair @code{(x-offset . y-offstet)}
+      "Return a pair @code{(x-offset . y-offset)}
       for translation in stencil coordinate system."
       (cond
         ((eq? orientation 'landscape)
index 133a9bb218058659a987e2e1c2c5850a42ef10ec..ede79d46e1dad4f116fff8efccef1f4b2ce4709b 100644 (file)
@@ -56,7 +56,7 @@ endif # copying info images
 
 
 ifneq ($(patsubst %/local,%,$(DESTDIR)$(prefix)),/usr)
-## install-info can't do all his job for binary packages build systems.
+## install-info can't do all its job for binary packages' build systems.
 ## Best we can do is to notify the builder or packager.
 local-install-info: info
        -$(INSTALL) -d $(DESTDIR)$(infodir)
@@ -113,7 +113,7 @@ local-install-info: info
        @echo "***************************************************************"
        @echo "To compile Info documentation with images, do from top of the build tree"
        @echo
-       @echo "    make web"
+       @echo "    make doc"
        @echo
        @echo "which builds documentation in all formats; to build only Info documentation, do"
        @echo
index f80e26fef2cba5e3bcbea858e8c991e73de88b70..972cc63e44a1db3b09687836372dcf1edcd3a67b 100644 (file)
@@ -6,5 +6,5 @@ if exists("did_load_filetypes")
   finish
 endif
 augroup filetypedetect
-  au! BufNewFile,BufRead *.ly          setf lilypond
+  au! BufNewFile,BufRead *.ly,*.ily            setf lilypond
 augroup END
index ae626f977b8e0e1a5bb98567f237e26d42514d5f..9147fc81dd7fbf402601b874bd2a4835f0f6f5bc 100644 (file)
@@ -1,4 +1,4 @@
 "
 " Installed As:        vim/ftdetect/lilypond.vim
 "
-au! BufNewFile,BufRead *.ly            setf lilypond
+au! BufNewFile,BufRead *.ly,*.ily              setf lilypond