]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' into dev/texi2html
authorReinhold Kainhofer <reinhold@kainhofer.com>
Sat, 23 Aug 2008 20:24:02 +0000 (22:24 +0200)
committerReinhold Kainhofer <reinhold@kainhofer.com>
Sat, 23 Aug 2008 20:24:02 +0000 (22:24 +0200)
Documentation/de/user/chords.itely
Documentation/de/user/fretted-strings.itely
Documentation/fr/user/chords.itely
Documentation/fr/user/fundamental.itely
Documentation/user/rhythms.itely
input/regression/harp-pedals-tweaking.ly
lily/stencil-scheme.cc
po/lilypond.pot
scm/define-grob-properties.scm
scm/harp-pedals.scm
scm/stencil.scm

index fd7fb6d8da25aca6747a38d971945eed1f6e7bfa..d892284a4537a2038bfd67140ebbcf3c95eae484 100644 (file)
@@ -650,7 +650,7 @@ im @code{BassFigureAlignment} benutzt werden.
 
 @seealso
 
-Programmreferenz: @rinternals{NewBassFigure}-,
+Programmreferenz: @rinternals{BassFigure}-,
 @rinternals{BassFigureAlignment}-, @rinternals{BassFigureLine}-,
 @rinternals{BassFigureBracket}- und
 @rinternals{BassFigureContinuation}-Objekte und der
index 6f201576d79a2da55fbcd2f012e3e7f68e6904b2..584c1ff5f7935e97f3e08b7bbffe126907d21014 100644 (file)
@@ -314,15 +314,10 @@ Program reference: @rinternals{StrokeFinger}
 @untranslated
 
 @menu
-* Guitar tablatures::
 * Indicating position and barring::
+* Indicating harmonics and dampened notes::  
 @end menu
 
-@node Guitar tablatures
-@unnumberedsubsubsec Guitar tablatures
-
-@untranslated
-
 @node Indicating position and barring
 @unnumberedsubsubsec Indicating position and barring
 
@@ -347,6 +342,12 @@ die aber noch die ursprüngliche Tonhöhe ahnen lassen. Diese Spielart
 wird mit Kreuz-Notenköpfen notiert, wie im Abschnitt @ref{Special note heads}
 gezeigt.
 
+@node Indicating harmonics and dampened notes
+@unnumberedsubsubsec Indicating harmonics and dampened notes
+
+@untranslated
+
+
 @node Banjo
 @subsection Banjo
 
index 128504ff424a32955d27ed077bf9c4bd79fe059d..d7b73a7ac8dee9ae5213bc0bf035e7e6ebe27544 100644 (file)
@@ -626,7 +626,7 @@ propriété @code{stacking-dir} de l'objet @code{BassFigureAlignment}.
 
 @seealso
 
-Référence du programme : les objets @rinternals{NewBassFigure},
+Référence du programme : les objets @rinternals{BassFigure},
 @rinternals{BassFigureAlignment}, @rinternals{BassFigureLine},
 @rinternals{BassFigureBracket} et
 @rinternals{BassFigureContinuation}, ainsi que le contexte
index 5a585678184e9680d7c7ca2a13190b2bf985b228..4e25449875c3108e05c73a01b85181a6d68fd6ef 100644 (file)
@@ -1764,7 +1764,7 @@ lorsqu'on modifie l'action des graveurs.
 
 @seealso
 
-Références internes : @rinternals{Engravers and performers}.
+Références internes : @rinternals{Engravers and Performers}.
 
 
 @node Modifying context properties
index 1b0d580bf5ef24b4d22bf6da5e3ac5ee63aa73a2..feffd2a40890ce1c30dd5711348d2d8668c30e23 100644 (file)
@@ -1094,7 +1094,7 @@ odd warnings may occur.
 @cindex unmetered music
 
 Bar lines and bar numbers are calculated automatically.  For
-unmetered music (cadenzas, for example), this is not desirable.
+unmetered music (some cadenzas, for example), this is not desirable.
 To turn off automatic calculation of bar lines and bar numbers,
 use the command @code{\cadenzaOn}, and use @code{\cadenzaOff} 
 to turn them on again.
@@ -2712,25 +2712,30 @@ supported, and might produce crashes or other errors.
 @cindex aligning to cadenza
 
 In an orchestral context, cadenzas present a special problem: when
-constructing a score that includes a cadenza, all other
-instruments should skip just as many notes as the length of the
-cadenza, otherwise they will start too soon or too late.
+constructing a score that includes a measured cadenza or other solo
+passage, all other instruments should skip just as many notes as the 
+length of the cadenza, otherwise they will start too soon or too late. 
 
-A solution to this problem is to use the functions
+One solution to this problem is to use the functions
 @code{mmrest-of-length} and @code{skip-of-length}.  These Scheme
-functions take a piece of music as argument, and generate a multi-measure
-rest or @code{\skip}, exactly as long as the piece.  
+functions take a defined piece of music as an argument and generate a 
+multi-measure rest or @code{\skip} exactly as long as the piece.  
 
 @lilypond[verbatim,ragged-right,quote]
-cadenza = \relative c' {
+MyCadenza = \relative c' {
   c4 d8 e f g g4 
   f2 g4 g
 }
 
 \new GrandStaff <<
-  \new Staff { \cadenza c'1 }
+  \new Staff { 
+    \MyCadenza c'1 
+    \MyCadenza c'1
+  }
   \new Staff {
-    #(ly:export (mmrest-of-length cadenza))
+    #(ly:export (mmrest-of-length MyCadenza))
+    c'1
+    #(ly:export (skip-of-length MyCadenza))
     c'1
   }
 >>
@@ -2738,6 +2743,9 @@ cadenza = \relative c' {
 
 @seealso
 
+Music Glossary:
+@rglos{cadenza}.
+
 Snippets:
 @rlsr{Rhythms}.
 
index ed081b3aa59802c156946f6253fa9b8986ada16a..9c06e104a44932212d95adc3f03dd5a18a55a8d2 100644 (file)
@@ -17,4 +17,9 @@ harp-pedal-details properties of TextScript."
                   (space-before-divider . 0.1)
                   (space-after-divider . 1.2))) {
            \harp-pedal #"o^ovo-|vovo-o^"}
+  \revert Voice.TextScript #'harp-pedal-details #'box-width
+  \override Voice.TextScript #'harp-pedal-details #'circle-thickness = #3
+  \override Voice.TextScript #'harp-pedal-details #'circle-x-padding = #0.6
+  \override Voice.TextScript #'harp-pedal-details #'circle-y-padding = #-0.3
+  c1^\markup \harp-pedal #"o^ovo-|vovo-o^"
 }
index 79e76e3dcc5def74ed2a649698f0041417437d91..ed362c06289858341edfe50a15d108c55565a5d5 100644 (file)
@@ -319,6 +319,28 @@ LY_DEFINE (ly_round_filled_box, "ly:round-filled-box",
                                   scm_to_double (blot)).smobbed_copy ();
 }
 
+LY_DEFINE (ly_round_filled_polygon, "ly:round-filled-polygon",
+           2, 0, 0,
+           (SCM points, SCM blot),
+           "Make a @code{Stencil} object that prints a black polygon with "
+           "corners at the points defined by @var{points} (list of coordinate "
+           "pairs) and roundness @var{blot}.")
+{
+  SCM_ASSERT_TYPE (scm_ilength (points) > 0, points, SCM_ARG1, __FUNCTION__, "list of coordinate pairs");
+  LY_ASSERT_TYPE (scm_is_number, blot, 2);
+  vector<Offset> pts;
+  for (SCM p = points; scm_is_pair (p); p = scm_cdr (p))
+    {
+      SCM scm_pt = scm_car (p);
+      if (scm_is_pair (scm_pt)) {
+        pts.push_back (ly_scm2offset (scm_pt));
+      } else {
+        // TODO: Print out warning
+      }
+    }
+  return Lookup::round_filled_polygon (pts, scm_to_double (blot)).smobbed_copy ();
+}
+
 LY_DEFINE (ly_register_stencil_expression, "ly:register-stencil-expression",
           1, 0, 0,
           (SCM symbol),
index ee7942b1a534e9867ab370ad8b08f233934a59a7..5df28854d1e512146f672af3febc6bf50402e451 100644 (file)
@@ -4,9 +4,9 @@
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: lilypond 2.11.56\n"
+"Project-Id-Version: lilypond 2.11.57\n"
 "Report-Msgid-Bugs-To: http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs\n"
-"POT-Creation-Date: 2008-08-17 15:57+0200\n"
+"POT-Creation-Date: 2008-08-23 18:49+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -455,12 +455,12 @@ msgid ""
 msgstr ""
 
 #: abc2ly.py:1351 convert-ly.py:79 etf2ly.py:1190 lilypond-book.py:195
-#: midi2ly.py:882 musicxml2ly.py:2170 main.cc:161
+#: midi2ly.py:882 musicxml2ly.py:2185 main.cc:161
 msgid "show version number and exit"
 msgstr ""
 
 #: abc2ly.py:1355 convert-ly.py:83 etf2ly.py:1186 lilypond-book.py:126
-#: midi2ly.py:861 musicxml2ly.py:2152 main.cc:150
+#: midi2ly.py:861 musicxml2ly.py:2167 main.cc:150
 msgid "show this help and exit"
 msgstr ""
 
@@ -477,7 +477,7 @@ msgid "preserve ABC's notion of beams"
 msgstr ""
 
 #: abc2ly.py:1363 convert-ly.py:120 etf2ly.py:1199 lilypond-book.py:202
-#: midi2ly.py:894 musicxml2ly.py:2225
+#: midi2ly.py:894 musicxml2ly.py:2240
 msgid "Report bugs via"
 msgstr ""
 
@@ -569,7 +569,7 @@ msgid ""
 "file.\n"
 msgstr ""
 
-#: etf2ly.py:1192 midi2ly.py:866 musicxml2ly.py:2218 main.cc:154 main.cc:159
+#: etf2ly.py:1192 midi2ly.py:866 musicxml2ly.py:2233 main.cc:154 main.cc:159
 msgid "FILE"
 msgstr ""
 
@@ -671,7 +671,7 @@ msgstr ""
 msgid "create PDF files for use with PDFTeX"
 msgstr ""
 
-#: lilypond-book.py:187 midi2ly.py:876 musicxml2ly.py:2175 main.cc:162
+#: lilypond-book.py:187 midi2ly.py:876 musicxml2ly.py:2190 main.cc:162
 msgid "be verbose"
 msgstr ""
 
@@ -886,70 +886,70 @@ msgstr ""
 msgid "unknown span type %s for %s"
 msgstr ""
 
-#: musicxml2ly.py:1207
+#: musicxml2ly.py:1222
 msgid "Unknown metronome mark, ignoring"
 msgstr ""
 
 #. TODO: Implement the other (more complex) way for tempo marks!
-#: musicxml2ly.py:1212
+#: musicxml2ly.py:1227
 msgid ""
 "Metronome marks with complex relations (<metronome-note> in MusicXML) are "
 "not yet implemented."
 msgstr ""
 
-#: musicxml2ly.py:1368
+#: musicxml2ly.py:1383
 #, python-format
 msgid "Unable to convert chord type %s to lilypond."
 msgstr ""
 
-#: musicxml2ly.py:1514
+#: musicxml2ly.py:1529
 #, python-format
 msgid "drum %s type unknown, please add to instrument_drumtype_dict"
 msgstr ""
 
-#: musicxml2ly.py:1518
+#: musicxml2ly.py:1533
 msgid "cannot find suitable event"
 msgstr ""
 
-#: musicxml2ly.py:1608
+#: musicxml2ly.py:1623
 #, python-format
 msgid "Negative skip %s"
 msgstr ""
 
-#: musicxml2ly.py:1760
+#: musicxml2ly.py:1775
 #, python-format
 msgid "Negative skip found: from %s to %s, difference is %s"
 msgstr ""
 
-#: musicxml2ly.py:1787
+#: musicxml2ly.py:1802
 #, python-format
 msgid "unexpected %s; expected %s or %s or %s"
 msgstr ""
 
-#: musicxml2ly.py:1897
+#: musicxml2ly.py:1912
 msgid "cannot have two simultaneous slurs"
 msgstr ""
 
-#: musicxml2ly.py:2035
+#: musicxml2ly.py:2050
 #, python-format
 msgid "cannot simultaneously have more than one mode: %s"
 msgstr ""
 
-#: musicxml2ly.py:2133
+#: musicxml2ly.py:2148
 msgid "Converting to LilyPond expressions..."
 msgstr ""
 
-#: musicxml2ly.py:2144
+#: musicxml2ly.py:2159
 msgid "musicxml2ly [OPTION]... FILE.xml"
 msgstr ""
 
-#: musicxml2ly.py:2146
+#: musicxml2ly.py:2161
 msgid ""
 "Convert MusicXML from FILE.xml to LilyPond input.\n"
 "If the given filename is -, musicxml2ly reads from the command line.\n"
 msgstr ""
 
-#: musicxml2ly.py:2156
+#: musicxml2ly.py:2171
 msgid ""
 "Copyright (c) 2005--2008 by\n"
 "    Han-Wen Nienhuys <hanwen@xs4all.nl>,\n"
@@ -957,74 +957,74 @@ msgid ""
 "    Reinhold Kainhofer <reinhold@kainhofer.com>\n"
 msgstr ""
 
-#: musicxml2ly.py:2181
+#: musicxml2ly.py:2196
 msgid "use lxml.etree; uses less memory and cpu time"
 msgstr ""
 
-#: musicxml2ly.py:2187
+#: musicxml2ly.py:2202
 msgid "input file is a zip-compressed MusicXML file"
 msgstr ""
 
-#: musicxml2ly.py:2193
+#: musicxml2ly.py:2208
 msgid "convert pitches in relative mode (default)"
 msgstr ""
 
-#: musicxml2ly.py:2198
+#: musicxml2ly.py:2213
 msgid "convert pitches in absolute mode"
 msgstr ""
 
-#: musicxml2ly.py:2201
+#: musicxml2ly.py:2216
 msgid "LANG"
 msgstr ""
 
-#: musicxml2ly.py:2203
+#: musicxml2ly.py:2218
 msgid ""
 "use a different language file 'LANG.ly' and corresponding pitch names, e.g. "
 "'deutsch' for deutsch.ly"
 msgstr ""
 
-#: musicxml2ly.py:2209
+#: musicxml2ly.py:2224
 msgid "do not convert directions (^, _ or -) for articulations, dynamics, etc."
 msgstr ""
 
-#: musicxml2ly.py:2215
+#: musicxml2ly.py:2230
 msgid ""
 "do not convert beaming information, use lilypond's automatic beaming instead"
 msgstr ""
 
-#: musicxml2ly.py:2223
+#: musicxml2ly.py:2238
 msgid "set output filename to FILE, stdout if -"
 msgstr ""
 
-#: musicxml2ly.py:2305
+#: musicxml2ly.py:2320
 #, python-format
 msgid "unknown part in part-list: %s"
 msgstr ""
 
-#: musicxml2ly.py:2367
+#: musicxml2ly.py:2382
 msgid "Input is compressed, extracting raw MusicXML data from stdin"
 msgstr ""
 
-#: musicxml2ly.py:2370
+#: musicxml2ly.py:2385
 #, python-format
 msgid "Input file %s is compressed, extracting raw MusicXML data"
 msgstr ""
 
-#: musicxml2ly.py:2400
+#: musicxml2ly.py:2415
 msgid "Reading MusicXML from Standard input ..."
 msgstr ""
 
-#: musicxml2ly.py:2402
+#: musicxml2ly.py:2417
 #, python-format
 msgid "Reading MusicXML from %s ..."
 msgstr ""
 
-#: musicxml2ly.py:2435
+#: musicxml2ly.py:2450
 #, python-format
 msgid "Output to `%s'"
 msgstr ""
 
-#: musicxml2ly.py:2497
+#: musicxml2ly.py:2512
 #, python-format
 msgid "Unable to find input file %s"
 msgstr ""
@@ -1319,7 +1319,7 @@ msgstr ""
 msgid "setting to zero"
 msgstr ""
 
-#: general-scheme.cc:422 output-ps.scm:61
+#: general-scheme.cc:422 output-ps.scm:62
 msgid "Found infinity or nan in output. Substituting 0.0"
 msgstr ""
 
@@ -2465,7 +2465,7 @@ msgstr ""
 msgid "program too old: %s (file requires: %s)"
 msgstr ""
 
-#: backend-library.scm:19 lily.scm:776 ps-to-png.scm:58
+#: backend-library.scm:19 lily.scm:777 ps-to-png.scm:58
 #, scheme-format
 msgid "Invoking `~a'..."
 msgstr ""
@@ -2509,16 +2509,16 @@ msgstr ""
 msgid "translator listens to nonexisting event class ~A"
 msgstr ""
 
-#: define-markup-commands.scm:608
+#: define-markup-commands.scm:599
 msgid "no systems found in \\score markup, does it have a \\layout block?"
 msgstr ""
 
-#: define-markup-commands.scm:2386
+#: define-markup-commands.scm:2428
 #, scheme-format
 msgid "Cannot find glyph ~a"
 msgstr ""
 
-#: define-markup-commands.scm:2697
+#: define-markup-commands.scm:2737
 #, scheme-format
 msgid "not a valid duration string: ~a"
 msgstr ""
@@ -2675,24 +2675,24 @@ msgstr ""
 msgid "wrong type for argument ~a.  Expecting ~a, found ~s"
 msgstr ""
 
-#: lily.scm:640
+#: lily.scm:641
 #, scheme-format
 msgid "job ~a terminated with signal: ~a"
 msgstr ""
 
-#: lily.scm:643
+#: lily.scm:644
 #, scheme-format
 msgid ""
 "logfile ~a (exit ~a):\n"
 "~a"
 msgstr ""
 
-#: lily.scm:668 lily.scm:766
+#: lily.scm:669 lily.scm:767
 #, scheme-format
 msgid "failed files: ~S"
 msgstr ""
 
-#: lily.scm:756
+#: lily.scm:757
 #, scheme-format
 msgid "Redirecting output to ~a..."
 msgstr ""
@@ -2756,7 +2756,7 @@ msgstr ""
 msgid "unknown accidental style: ~S"
 msgstr ""
 
-#: output-ps.scm:276
+#: output-ps.scm:285
 msgid "utf-8-string encountered in PS backend"
 msgstr ""
 
index 49916fa24ee62543ad408489d2db41e59cfd67ed..cd122c5dbab2224f5a1411485601eb301387946a 100644 (file)
@@ -327,18 +327,27 @@ The properties which can be included in harp-pedal-details
 include the following:
 @itemize @bullet
 @item
-@code{box-offset} -- Vertical shift of the center of flat / sharp pedal 
+@code{box-offset} -- Vertical shift of the center of flat / sharp pedal
 boxes above / below the horizontal line. Default value 0.8.
 @item
 @code{box-width} -- Width of each pedal box. Default value 0.4.
 @item
 @code{box-height} -- Height of each pedal box. Default value 1.0.
 @item
-@code{space-before-divider} -- Space between boxes before the first divider 
+@code{space-before-divider} -- Space between boxes before the first divider
 (so that the diagram can be made symmetric). Default value 0.8.
 @item
-@code{space-after-divider} -- Space between boxes after the first divider. 
+@code{space-after-divider} -- Space between boxes after the first divider.
 Default value 0.8.
+@item
+@code{circle-thickness} -- Thickness (in unit of the line-thickness) of the
+ellipse around circled pedals. Default value 0.5.
+@item
+@code{circle-x-padding} -- Padding in X direction of the ellipse around
+circled pedals. Default value 0.15.
+@item
+@code{circle-y-padding} -- Padding in Y direction of the ellipse around
+circled pedals. Default value 0.2.
 @end itemize")
 
      (head-direction ,ly:dir? "Are the note heads left or right in a
index 9fd4c84c9af909d4f3a82d0b77939df71932ebc6..fef1760db592d6675cb54ab5eab2274de5c8db81 100644 (file)
@@ -129,12 +129,17 @@ divider) and @code{space-after-divider} (box spacing after the divider).
         (box-hheight (* size (/ (assoc-get 'box-height details 1.0) 2))) ; half the box-height, saves some divisions by 2
         (spacebeforedivider (* size (assoc-get 'space-before-divider details 0.8))) ; full space between boxes before the first divider
         (spaceafterdivider (* size (assoc-get 'space-after-divider details 0.8))) ; full space between boxes
-        ;(spacebeforedivider (/ (+ box-width (* 8 spaceafterdivider)) 8))
+        (circle-thickness (* (ly:output-def-lookup layout 'line-thickness)
+                       (assoc-get 'circle-thickness details 0.5)))
+        (circle-x-padding (* size (assoc-get 'circle-x-padding details 0.15)))
+        (circle-y-padding (* size (assoc-get 'circle-y-padding details 0.2)))
         (box-x-dimensions (lambda (prev-x p space) (cons (+ prev-x space)
                                                    (+ prev-x space box-width))))
         (box-y-dimensions (lambda (prev-x p space) (cons (- (* p dy) box-hheight)
                                                          (+ (* p dy) box-hheight))))
-        (divider-stencil (lambda (xpos) (make-line-stencil line-width xpos (- 0 dy box-hheight) xpos (+ dy box-hheight))))
+        (divider-stencil (lambda (xpos) (make-line-stencil line-width
+                                                     xpos (- 0 dy box-hheight)
+                                                     xpos (+ dy box-hheight))))
         (result (let process-pedal  ((remaining pedal-list)
                                      (prev-x 0)
                                      (stencils '())
@@ -152,7 +157,8 @@ divider) and @code{space-after-divider} (box spacing after the divider).
                                    (box-y-dimensions prev-x p space)))
                         (pedal-stencil 
                           (if circled 
-                              (ellipse-stencil stencil 0.05 0.1 ) 
+                              (ellipse-stencil stencil circle-thickness 
+                                            circle-x-padding circle-y-padding)
                               stencil))
                         (new-prev-x (+ prev-x space box-width)))
                     (process-pedal (cdr remaining) new-prev-x 
index 8ae5ffab066c549774445ff69b1505b9264ce9ae..e698fa8896e50abe74abb2ceb4cf9cdc076c0d28 100644 (file)
@@ -155,12 +155,13 @@ encloses the contents.
                            (interval-center x-ext)
                            (interval-center y-ext))))))
 
-(define-public (ellipse-stencil stencil thickness padding)
-  "Add an ellipse around STENCIL, producing a new stencil."
+(define-public (ellipse-stencil stencil thickness x-padding y-padding)
+  "Add an ellipse around STENCIL, padded by the padding pair, 
+   producing a new stencil."
   (let* ((x-ext (ly:stencil-extent stencil X))
         (y-ext (ly:stencil-extent stencil Y))
-         (x-length (+ (interval-length x-ext) padding thickness))
-         (y-length (+ (interval-length y-ext) padding thickness))
+         (x-length (+ (interval-length x-ext) x-padding thickness))
+         (y-length (+ (interval-length y-ext) y-padding thickness))
          ;(aspect-ratio (/ x-length y-length))
          (x-radius (* 0.707 x-length) )
          (y-radius (* 0.707 y-length) )