]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge remote branch 'origin' into release/unstable release/2.15.10-1
authorGraham Percival <graham@percival-music.ca>
Tue, 6 Sep 2011 08:19:56 +0000 (09:19 +0100)
committerGraham Percival <graham@percival-music.ca>
Tue, 6 Sep 2011 08:19:56 +0000 (09:19 +0100)
13 files changed:
Documentation/contributor/administration.itexi
Documentation/contributor/feta-font.itexi
Documentation/contributor/source-code.itexi
Documentation/notation/chords.itely
Documentation/notation/percussion.itely
input/regression/chord-capo.ly [deleted file]
input/regression/pedal-bracket.ly
lily/bar-line.cc
lily/chord-name-engraver.cc
lily/piano-pedal-bracket.cc
scm/chord-name.scm
scm/define-context-properties.scm
scm/define-grobs.scm

index fca8f01deaba015f9acc80f3edf184c47cc151e3..b9dcbecd88b81038f5c4d462a0caee6cc416326b 100644 (file)
@@ -360,48 +360,6 @@ away.  This is not good.
 
 (prep: 2 hours.  discuss: 10 hours)
 
-@item @strong{Future release policy}:
-(how) should we change any policies pertaining to releases? Should
-an undocumented new feature count as release-blocking?
-
-(prep: 1 hour.  discuss: 15 hours)
-
-@item @strong{lilypond-hackers mailing list}:
-Should we have a private mailing list for senior developers?  If
-so, who should be on it?
-
-(prep: 2 hours+3 weeks.  discuss: 10 hours)
-
-@item @strong{Hackers B}:
-
-
-@item @strong{Git repository(s)}:
-We currently have a web/ branch in our main repo; this seems
-misleading to new developers. More generally, should we have
-branches that aren't related to the master? i.e. should we
-restrict a git branch to code which is an actual "branch" of
-development? Also, some of our code (notably the windows and osx
-lilypad) isn't in a git repository at all.
-We can add new repositories very easily; should make repositories
-like
-@example
-git://git.sv.gnu.org/lilypond/gub.git
-git://git.sv.gnu.org/lilypond/lilypad.git
-git://git.sv.gnu.org/lilypond/misc.git
-@end example
-? More information here:
-@uref{http://code.google.com/p/lilypond/issues/detail?id=980}
-
-(prep: 2 hours.  discuss: 10 hours)
-
-@item @strong{Roadmap of future development}:
-Many projects have a roadmap of planned (or desired) future work.
-Should we use one? If so, what should go on it, bearing in mind
-our volunteer status? Is there any way of having a roadmap that
-isn't vaporware?
-
-(prep: 1 hour.  discuss: 5 hours)
-
 @item @strong{Official links to other organizations?}:
 There's something called the "software freedom conservancy", and
 in general, there's a bunch of "umbrella organizations". Joining
@@ -411,14 +369,6 @@ schools, etc.
 
 (prep: 2 hours.  discuss: 5 hours)
 
-@item @strong{Mailing lists}:
-We currently have a mix of official GNU mailing lists and lilynet
-lists. Is there a strong rationale for having separate mailing
-list servers? Why not pick one place, and put all our lists there?
-(or at least, all "permanent" lists?)
-
-(prep: 1 hour.  discuss: 5 hours)
-
 @item @strong{Issue tracking with google code}:
 We use the google issue tracker, but this means that we are
 relying on a commercial entity for a large part of our
@@ -443,15 +393,6 @@ want to do?
 
 (prep: 1 hours+2 weeks.  discuss: 5 hours)
 
-@item @strong{Authorship in source files}:
-Our documentation currently does not attempt to track individual
-authors of each file, while our source code makes a confused and
-jumbled attempt to track this. A number of guidelines for F/OSS
-projects explicitly recommends _not_ tracking this in individual
-files, since the code repository will track that for you.
-
-(prep: 2 hours.  discuss: 15 hours)
-
 @item @strong{Clarity for sponsorships}:
 We currently do not advertize bounties and sponsorships on the
 webpage.  How much advertising do we want, and what type?
index eb5dd124cd18395007677e8fe532a34d81445ac7..78021ae8d73c858a3be151dc9e3888c90aa7b983 100644 (file)
@@ -8,6 +8,7 @@
 * Adding a new font section::
 * Adding a new glyph::
 * Building the changed font::
+* METAFONT formatting rules::
 @end menu
 
 @node Overview of the feta font
@@ -111,3 +112,21 @@ is to do:
 rm mf/out/*
 make
 @end example
+
+@node METAFONT formatting rules
+@section METAFONT formatting rules
+
+There are special formatting rules for METAFONT files.
+
+Tabs are used for indentation.
+
+When a path contains more than two points, put each point on a
+separate line, with the operator at the beginning  of the line:
+
+@example
+fill z1
+     -- z2
+     -- z3
+     .. cycle;
+@end example
+
index d0136b56e544ac47575db4b8d93e94bdf9d5fbe2..b15e8442488368f883e43f01f601296921f23d1c 100644 (file)
@@ -924,7 +924,7 @@ LilyDev users should skip over these @q{install} instructions.
 Install @command{git-cl} by entering:
 
 @example
-git clone git://neugierig.org/git-cl.git
+git clone https://github.com/martine/git-cl
 @end example
 
 @item
index baa216b0052d85b0d8557850acabeac00f1860c0..50ac2bf9ed2277191bae3c5a9a8be1c3670f74c9 100644 (file)
@@ -506,56 +506,6 @@ Rests passed to a @code{ChordNames} context will cause the
 }
 @end lilypond
 
-@cindex Transposing guitar chords for capo
-
-If the @code{capoPitch} property is set, then the chords will additionally be printed
-transposed for a guitar with the capo set appropriately. By default the chords are
-printed on one line, but if the @code{capoVertical} property is set, the chords will be
-printed one above the other.
-
-In make-pitch, leave the first argument at 0, the second argument is the
-interval (-2 is a third), and the third argument adjusts it up or down a
-semitone.
-
-@lilypond[verbatim,quote,ragged-right]
-<<
-  \new ChordNames \chordmode {
-    c1
-    r1
-    g1
-    c1
-    \break
-    c1
-    r1
-    g1
-    c1
-    \break
-    c1
-    r1
-    g1
-    c1
-  }
-  \chordmode {
-    c1
-    r1
-    g1
-    c1
-    \break
-    \set ChordNames.capoPitch = #(ly:make-pitch 0 -2 -1/2)
-    c1
-    r1
-    g1
-    c1
-    \break
-    \set ChordNames.capoVertical = ##t
-    c1
-    r1
-    g1
-    c1
-  }
->>
-@end lilypond
-
 @snippets
 
 @c Keep index entries with following snippet
index f325de0abc5131908dcec3e823c8904d1b4b4306..c6a0115f8b34e9794425320413bf75f0e1efce56 100644 (file)
@@ -100,11 +100,10 @@ be set explicitly.  Other clefs may be used as well.
 
 @lilypond[quote,ragged-right,verbatim]
 \drums {
-  \clef treble
-  hh4 hh hh hh
-  \break
   \clef percussion
   bd4 bd bd bd
+  \clef treble
+  hh4 hh hh hh
 }
 @end lilypond
 
@@ -133,8 +132,7 @@ quarter notes or longer the three slashes are shown explicitly,
 eighth notes are shown with two slashes (the beam being the
 third), and drum rolls shorter than eighths have one stem slash to
 supplement the beams.  This is achieved with the tremolo notation,
-@code{:32}, as described in @ref{Tremolo repeats}.  Here is an
-example of some snare rolls:
+as described in @ref{Tremolo repeats}.
 
 @lilypond[quote,verbatim]
 \drums {
@@ -146,20 +144,27 @@ example of some snare rolls:
 }
 @end lilypond
 
-Sticking can be indicated by placing @code{^"R"} or @code{^"L"}
-after the note.  The @code{staff-padding} property may be
-overridden to achieve a pleasing baseline.
+Sticking can be indicated by placing placing markup for @code{"R"}
+or @code{"L"} above or below notes, as discussed in
+@ref{Direction and placement}.  The @code{staff-padding} property
+may be overridden to achieve a pleasing baseline.
 
 @lilypond[quote,verbatim]
 \drums {
   \repeat unfold 2 {
-    sn16 ^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L"  sn^"R" sn^"R"
+    sn16^"L" sn^"R" sn^"L" sn^"L" sn^"R" sn^"L" sn^"R" sn^"R"
+    \stemUp
+    sn16_"L" sn_"R" sn_"L" sn_"L" sn_"R" sn_"L" sn_"R" sn_"R"
   }
 }
 @end lilypond
 
 
 @seealso
+
+Notation Reference:
+@ref{Tremolo repeats}.
+
 Snippets:
 @rlsr{Percussion}.
 
diff --git a/input/regression/chord-capo.ly b/input/regression/chord-capo.ly
deleted file mode 100644 (file)
index 48bb6de..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-\version "2.14.0"
-
-\header{
-  texidoc="Properties capoPitch, capoVertical: display chordnames, suitably
-transposed for a guitar capo, either in a line or one above the other.
-"
-}
-
-<<
-  \new ChordNames \chordmode {
-    c1
-    g1
-    c1
-    g1
-    c1
-    g1
-  }
-  \chordmode {
-    c1
-    g1
-    \set ChordNames.capoPitch = #(ly:make-pitch 0 -2 -1/2)
-    c1
-    g1
-    \set ChordNames.capoVertical = ##t
-    c1
-    g1
-  }
->>
index ff66cc47aa755519c9b383fd7c5b7271b13c8252..007b8404799d3291243e38678004bc119b7ff4c0 100644 (file)
@@ -3,8 +3,8 @@
 \header {
 
     texidoc = "The brackets of a piano pedal should start and end at
- the left side of the note. If a note is shared between two brackets,
- these ends are flared.
+ the left side of the main note-column. If a note is shared between
+ two brackets, these ends are flared.
 
 At a line-break, there are no vertical endings.  " }
 
@@ -12,14 +12,14 @@ At a line-break, there are no vertical endings.  " }
      \relative c'' {
         \set Staff.pedalSustainStyle = #'bracket
 
-        c4 d e \sustainOn b c c, \sustainOff \sustainOn  d8[ c]  e8[ 
-           e \sustainOff \sustainOn]  f4 d
-        \sustainOff g \sustainOn b b, \sustainOff c'
+        c4 d <e f b,> \sustainOn b c c, \sustainOff \sustainOn  d8[ c]  e8[
+            e \sustainOff \sustainOn]  f4 r \sustainOff
+            g \sustainOn bes bes, \sustainOff c'
 
         \set Staff.pedalUnaCordaStyle = #'mixed
 
         c4 d \unaCorda e f g
-        b  | \break c b c \treCorde c
+        b  | \break c b <c e,>\arpeggio \treCorde c
     }
     \layout { ragged-right = ##t }
 }
index a56c5f6408bfb684d054958bcf01db4ada238a7b..e256e8fe55f16ceb8626bc134b08c0ef3c5f8e43 100644 (file)
@@ -34,8 +34,22 @@ Bar_line::calc_bar_extent (SCM smob)
   Interval result;
   Grob *me = unsmob_grob (smob);
   if (Grob *staff = Staff_symbol_referencer::get_staff_symbol (me))
-    result = staff->extent (staff, Y_AXIS);
-
+    {
+      result = staff->extent (staff, Y_AXIS);
+
+      /* Due to rounding problems, bar lines extending to the outermost edges
+         of the staff lines appear wrongly in on-screen display
+         (and, to a lesser extent, in print) - they stick out a pixel.
+         The solution is to extend bar lines only to the middle
+         of the staff line - unless they have different colors,
+         when it would be undesirable.
+      */
+      SCM bar_line_color = me->get_property ("color");
+      SCM staff_color = staff->get_property ("color");
+      if (bar_line_color == staff_color)
+       result *= (1 - 0.5 * (Staff_symbol_referencer::line_thickness (me) /
+                             Staff_symbol_referencer::staff_radius (me)));
+    }
   return ly_interval2scm (result);
 }
 
index b55668bec8e7d6fadb466d7bc950779b2df1a476..e2281400d01007ac9f14173a51dad0f9c9515b4b 100644 (file)
@@ -124,8 +124,8 @@ Chord_name_engraver::process_music ()
 
       pitches = scm_sort_list (pitches, Pitch::less_p_proc);
 
-      SCM capo_proc = ly_lily_module_constant ("capo-handler");
-      markup = scm_call_4 (capo_proc, pitches, bass, inversion,
+      SCM name_proc = get_property ("chordNameFunction");
+      markup = scm_call_4 (name_proc, pitches, bass, inversion,
                            context ()->self_scm ());
     }
   /*
index fee4c4b762637bf0b417de7880df1be1e96485f8..312459e67ba7addd5f9a4cd23eb021d870f8d807 100644 (file)
@@ -65,10 +65,11 @@ Piano_pedal_bracket::print (SCM smob)
             height[d] = 0.0;
           else
             flare[d] = 0.0;
-        }
 
-      Interval ext = robust_relative_extent (b, common, X_AXIS);
-      span_points[d] = ext [broken[d] ? RIGHT : LEFT];
+          span_points[d] = robust_relative_extent (b, common, X_AXIS)[RIGHT];
+        }
+      else
+        span_points[d] = b->relative_coordinate (common, X_AXIS);
     }
   while (flip (&d) != LEFT);
 
index 0542893cc02726e42a400f494d861d8dec90ce66..e3447eba2778aee22b26d941df17dae55d9eff36 100644 (file)
@@ -170,31 +170,3 @@ FOOBAR-MARKUP) if OMIT-ROOT is given and non-false.
         (alist (map chord-to-exception-entry elts)))
     (filter (lambda (x) (cdr x)) alist)))
 
-(define-public (capo-handler pitches bass inversion context)
-  (let ((chord-function
-          (ly:context-property context 'chordNameFunction 'jazz-chord-names))
-        (capo-pitch (ly:context-property context 'capoPitch #f)))
-    (if (not capo-pitch)
-        (chord-function pitches bass inversion context)  ;; call the chordNameFunction as of old
-        (let* ((new-pitches   ;; else transpose the pitches and do the chord twice
-               (map (lambda (p)
-                       (ly:pitch-transpose p capo-pitch))
-                    pitches))
-               (new-bass
-                 (if (ly:pitch? bass)
-                     (ly:pitch-transpose bass capo-pitch)
-                     '()))
-               (new-inversion
-                 (if (ly:pitch? inversion)
-                     (ly:pitch-transpose inversion capo-pitch)
-                     '()))
-               (capo-markup
-                 (make-parenthesize-markup
-                   (chord-function new-pitches new-bass new-inversion context)))
-               (name-markup (chord-function pitches bass  inversion context))
-               (capo-vertical (ly:context-property context 'capoVertical #f)))
-          (if capo-vertical
-              (make-column-markup (list name-markup capo-markup))
-              (make-line-markup (list name-markup
-                                      (make-hspace-markup 1)
-                                      capo-markup)))))))
index a238998d033cc77fc841b48ceb4e4b66ec5cc8aa..e9acd9690713e8924844cda7d0ff90f3f565a16c 100644 (file)
@@ -135,8 +135,6 @@ that normally end on beats.")
      (beatStructure ,list? "List of @code{baseMoment}s that are combined
 to make beats.")
 
-     (capoPitch ,ly:pitch? "The pitch to transpose chords down by when using the capo.")
-     (capoVertical ,boolean? "Whether to display actual and transposed pitches above each other or not.")
      (chordChanges ,boolean? "Only show changes in chords scheme?")
      (chordNameExceptions ,list? "An alist of chord exceptions.
 Contains @code{(@var{chord} . @var{markup})} entries.")
index 586ed1f3b1c0e4eaed48baf8e17bd5f2a1300791..0923d2c5253eba03d2367e261a3d6a9ea2dd44fc 100644 (file)
                        (key-signature . (extra-space . 0.5))
                        (cue-clef . (extra-space . 0.5))
                        (right-edge . (extra-space . 0.5))
-                       (first-note . (semi-fixed-space . 2.5))))
+                       (first-note . (fixed-space . 2.5))))
        (stencil . ,ly:key-signature-interface::print)
-       (extra-spacing-width . (0.0 . 0.5))
+       (extra-spacing-width . (0.0 . 1.0))
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
                 (interfaces . (break-aligned-interface
                        (staff-bar . (extra-space . 1.1))
                        (cue-clef . (extra-space . 0.5))
                        (right-edge . (extra-space . 0.5))
-                       (first-note . (semi-fixed-space . 2.5))))
+                       (first-note . (fixed-space . 2.5))))
        (stencil . ,ly:key-signature-interface::print)
-       (extra-spacing-width . (0.0 . 0.5))
+       (extra-spacing-width . (0.0 . 1.0))
        (Y-offset . ,ly:staff-symbol-referencer::callback)
        (meta . ((class . Item)
                 (interfaces . (break-aligned-interface
        (break-align-anchor-alignment . ,LEFT)
        (break-visibility . ,all-visible)
        (extra-spacing-height . (-1.0 . 1.0))
+       (extra-spacing-width . (0.0 . 0.8))
        (non-musical . #t)
        (space-alist . (
                        (cue-clef . (extra-space . 1.5))
-                       (first-note . (semi-fixed-space . 2.0))
+                       (first-note . (fixed-space . 2.0))
                        (right-edge . (extra-space . 0.5))
                        (staff-bar . (minimum-space . 2.0))))
        (stencil . ,ly:time-signature::print)