]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.3.130 release/1.3.130
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 21 Feb 2001 00:15:20 +0000 (01:15 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 21 Feb 2001 00:15:20 +0000 (01:15 +0100)
============

* Implemented Phrasing slurs, copied from slur.

* More hooks for chord pitch name overrides, see
input/tricks/german-chords.ly.

1.3.129.h

15 files changed:
CHANGES
Documentation/user/refman.itely
NEWS
VERSION
input/bugs/forte.ly [deleted file]
input/bugs/lyrics-bar.ly [deleted file]
input/regression/dyn-line.ly [deleted file]
input/test/dynamics.ly [deleted file]
input/tricks/partial-blank.ly [new file with mode: 0644]
lily/include/slur-engraver.hh [deleted file]
make/out/lilypond.lsm
make/out/lilypond.spec
scm/basic-properties.scm
scm/grob-property-description.scm
tex/titledefs.tex

diff --git a/CHANGES b/CHANGES
index 88bfa06c0d4ee804d5c9d5d1b5ad80f9685c5564..3f03f10d143a64ead04bf7af0f8432c9d7fef376 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,20 +1,32 @@
+
 1.3.129.jcn2
 ============
 
 * Implemented Phrasing slurs, copied from slur.
 
-1.3.129.jcn1
-============
-
 * More hooks for chord pitch name overrides, see
 input/tricks/german-chords.ly.
 
+1.3.129.hwn1
+============
+
+* Bugfix: bar lines in lyrics.
+
+* Bugfix: vertical positioning of isolated dynamics: absolute dynamics
+are only supported by the note they are on, in absence of crescendi.
+
+* Documentation of ancient clefs, custodes (Jurgen Reuter)
+
+* Small documentation fixes: rehearsal marks, -f option, markup, instrument names
+
+* Bugfix: rounding errors caused errouneous ledger lines for
+#'staff-space = 1.3
+
+* Subsubtitles, \bar "";  (Rune Zedeler)
+
 1.3.129
 =======
 
-1.3.128.jcn2
-============
-
 * Small doco fixes.
 
 * Removed duplicated engraver hierarchies from coriolan and orchestral
index 917ab40816072682a823b23c4afa9f42a3151446..6161f908d4b97e30502b6a16efc9f5b161239c48 100644 (file)
@@ -35,7 +35,6 @@ has been revised for LilyPond 1.3.125
 
 @menu
 * Overview::                    
-* Modifying music::             
 * Repeats::                     
 * Note entry::                  
 * Music notation::              
@@ -116,55 +115,6 @@ can enter and edit them in manageable chunks.
 
 
 
-@c . {Modifying music}
-@node Modifying music
-@section Modifying music
-@cindex Modifying music
-
-FIXME: more verbose titling:
-music expressions?
-Repeat?
-Repeated music?
-Repeating music expressions?
-
-@menu
-* Apply::                       
-@end menu
-
-@c .  {Apply}
-@node Apply
-@subsection Apply
-@cindex Apply
-Apply allows a Scheme-function to operate directly on the internal
-representation of music.
-@example
-        \apply #@var{func} @var{music}
-@end example
-The function takes two arguments, being a function and an musical
-argument for that function. The function should return a music
-expression.
-
-This example replaces the text string of a script. It also shows a dump
-of the music it processes.
-@lilypond[verbatim]
-#(define (testfunc x)
-        (if (equal? (ly-get-mus-property x 'text) "foo")
-                (ly-set-mus-property x 'text "bar"))
-        ;; recurse
-        (ly-set-mus-property x 'elements
-          (map testfunc (ly-get-mus-property x 'elements)))
-        (display x)
-        x        
-)
-\score { \notes
-  \apply #testfunc { c4_"foo" }
-} 
-@end lilypond
-
-For more information on what is possible, see the @ref{Tricks} and the
-automatically generated documentation.
-
-
 
 @c .  {Repeats}
 @node Repeats
@@ -2249,6 +2199,7 @@ scheme = \chords {
 @c .  {Transpose}
 @menu
 * Rehearsal marks::             
+* Instrument names::            
 * Transpose::                   
 * Multi measure rests::         
 @end menu
@@ -2259,8 +2210,6 @@ partcombine
 
 rehearsal marks
 
-bar numbering 
-
 tranposing midi property.
 
 instrument names
@@ -2297,6 +2246,26 @@ incremented.
 }
 @end lilypond
 
+@node Instrument names
+@subsection Instrument names
+
+You can specify an instrument name for a staff by setting
+@code{Staff.instrument} and @code{Staff.instr}. This will print a string
+before the start of the staff. For the first start, @code{instrument} is
+used, for the next ones @code{instr} is used.
+
+@lilypond[verbatim]
+\score { \notes {
+  \property Staff.instrument = "instr " { c''4 } }
+  \paper { linewidth = -1.;
+    \translator { \StaffContext
+    \consists "Instrument_name_engraver"; } } }
+@end lilypond
+
+This requires  that you add the @code{Instrument_name_engraver} to the
+staff context.
+
+
 @node Transpose
 @subsection Transpose
 @cindex Transpose
@@ -3192,6 +3161,7 @@ called @emph{performers}.
 * Top level::                   
 * Identifiers::                 
 * Music expressions::           
+* Manipulating music expressions::  
 * Assignments::                 
 * Lexical details::             
 * Lexical modes::               
@@ -3387,6 +3357,45 @@ note head, leading to collisions, so don't use that.
 
 
 
+@c . {Manipulating music expressions}
+@node Manipulating music expressions
+@subsection  Manipulating music expressions
+
+The @code{\apply} mechanism gives you access to the internal
+representation of music. You can write Scheme-functions that operate
+directly on it. The syntax is 
+@example
+        \apply #@var{func} @var{music}
+@end example
+This means that @var{func} is applied to @var{music}.  The function
+@var{func} should return a music expression.
+
+This example replaces the text string of a script. It also shows a dump
+of the music it processes, which is useful if you want to know more
+about how music is stored.
+@lilypond[verbatim]
+#(define (testfunc x)
+        (if (equal? (ly-get-mus-property x 'text) "foo")
+                (ly-set-mus-property x 'text "bar"))
+        ;; recurse
+        (ly-set-mus-property x 'elements
+          (map testfunc (ly-get-mus-property x 'elements)))
+        (display x)
+        x        
+)
+\score { \notes
+  \apply #testfunc { c4_"foo" }
+} 
+@end lilypond
+
+For more information on what is possible, see the @ref{Tricks} and the
+automatically generated documentation.
+
+As always: directly accessing internal representations is dangerous: the
+implementation is subject to changes, so you should not use this if
+possible.
+
+
 @c .   {Assignments}
 @node Assignments
 @subsection Assignments
@@ -3773,8 +3782,72 @@ Don't move the finger 2, only text "m.d." ...
 @end lilypond
 
 
+@menu
+* Text markup::                 
+@end menu
+
+@node Text markup
+@subsection Text markup
+
+LilyPond has an internal mechanism to typeset texts: you can
+form text markup expressions by composing scheme expressions
+in the following way:
+
+@lilypond[verbatim]
+\score { \notes \relative c' {
+  b-#"text"
+  c-#'(bold "text")
+  d-#'(lines "one" (bold "text"))
+  e-#'(music (named "noteheads-2" "flags-u3"))
+}
+\paper { linewidth = 10.\cm; } }
+@end lilypond
+
+Formally, Scheme markup text is defined as follows:
+
+@example
+text: string | (markup sentence)
+sentence: text | sentence text
+markup: property | abbrev | style
+property: (@var{key} . @var{value})
+abbrev: @code{rows lines roman music bold italic named super sub text}
+style: @var{fontstyle}
+@end example
+
+The @var{key}-@var{value} pair is a grob property. [Why is this
+useful?]  The following abbreviations are currently defined:
+
+@table @code
+@item rows
+horizontal mode: set all text on one line (default)
+@item lines
+ vertical mode: set every text on new line
+@item roman
+ select roman font
+@item music
+ select feta font
+@item bold
+ select bold series
+@item italic
+ select italic shape
+@item named
+ lookup by character name
+@item text
+ plain text lookup (by character value)
+@item super
+ superscript
+@item sub
+ subscript
+@end table
+
+
+@var{fontstyle} may be any of @code{finger volta timesig mmrest mark
+script large Large dynamic}
+
 
+[kern, raise ??]
 
+[I still think that the semantics are weird, but well]
 
 @c .{Local emacs vars}
 @c Local variables:
diff --git a/NEWS b/NEWS
index 6b2f2ea0321f82f26f77c3db8dcbc5c76a4cbb75..f307b3f3fd406b3aed7198e52dba3cb0c463648a 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -8,8 +8,7 @@ internals: LilyPond is smaller, cleaner, more flexible, etc.
 
  - More pervasive GUILE integration resulting in:
 
- - Improved speed (undone for now, by .73 + .74), 
-   with comparable memory footprint
+ - Improved speed with comparable memory footprint
 
  - More tweakability using less memory with the new `property push'
   mechanism.
diff --git a/VERSION b/VERSION
index 50b9768c168a108407155964e252a8f16f32f6e6..2946fc3906ad199985c128de0914ccf6662495f6 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
-PATCH_LEVEL=129
-MY_PATCH_LEVEL=jcn3
+PATCH_LEVEL=130
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
diff --git a/input/bugs/forte.ly b/input/bugs/forte.ly
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/input/bugs/lyrics-bar.ly b/input/bugs/lyrics-bar.ly
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/input/regression/dyn-line.ly b/input/regression/dyn-line.ly
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/input/test/dynamics.ly b/input/test/dynamics.ly
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/input/tricks/partial-blank.ly b/input/tricks/partial-blank.ly
new file mode 100644 (file)
index 0000000..5213159
--- /dev/null
@@ -0,0 +1,28 @@
+
+%{  When entering half music (I.e. for students to complete by hand)
+    you need the spacing to correspond to the timing - all measures same length, etc.
+    This thing implements it by adding invisible staff with lots of fast notes.
+%}
+
+\include "paper16.ly"
+\version "1.3.129";
+
+quickmeasure = \notes {[\repeat unfold 16 c''16]}
+mel = \notes \relative c' {c16 d16 e8 a4 g2 e8 d c2. g'1 e4 d c2}
+
+\score {
+\context PianoStaff \notes <
+  \context Staff = v <
+    \clef G;
+    \context Voice=melo {\mel}
+    \context Voice=invisible {
+       \property Voice.NoteHead \override #'transparent = ##t
+       \property Voice.Stem \override #'transparent = ##t
+       \property Voice.Beam \override #'transparent = ##t
+        \repeat unfold 4 \quickmeasure
+    }
+  >
+  \context Staff = empty \notes {\clef F; s1*4}
+>
+\paper {}
+}
diff --git a/lily/include/slur-engraver.hh b/lily/include/slur-engraver.hh
deleted file mode 100644 (file)
index e69de29..0000000
index e553ba61ee3ba0f85da737f7e5592c7c2512b7a8..6ba4b1d771d4db225c6a09b7284ac3f6b91a4fd7 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.3.129
-Entered-date: 09FEB01
+Version: 1.3.130
+Entered-date: 21FEB01
 Description: 
 Keywords: music notation typesetting midi fonts engraving
 Author: hanwen@cs.uu.nl (Han-Wen Nienhuys)
        janneke@gnu.org (Jan Nieuwenhuizen)
 Maintained-by: hanwen@stack.nl (Han-Wen Nienhuys)
 Primary-site: sunsite.unc.edu /pub/Linux/apps/sound/convert
-       1000k lilypond-1.3.129.tar.gz 
+       1000k lilypond-1.3.130.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.3.129.tar.gz 
+       1000k lilypond-1.3.130.tar.gz 
 Copying-policy: GPL
 End
index 0f599fd7ae4b9fe077886e265bd289c1f8146c68..14aed143d1336dff391cd0a6617b0b86bf66bd39 100644 (file)
@@ -1,11 +1,11 @@
 %define info yes
 
 Name: lilypond
-Version: 1.3.129
+Version: 1.3.130
 Release: 1
 License: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.129.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.130.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 # Icon: lilypond-icon.gif
index 6100beea2f6ba4787afd70b89f4727b9159e65fc..9c809fb6d3b220676522ae1e0a047d74e29afa3a 100644 (file)
@@ -32,6 +32,7 @@
                          (":|" . (":|" . nil))
                          ("||" . ("||" . nil))
                          (".|." . (".|." . nil))
+                         ("" . ("" . ""))
                          ("empty" . ("nil" . nil))
                          ("brace" . (nil . "brace"))
                          ("bracket" . (nil . "bracket"))  
index 6de59927dae6f4d96d4048eb7bce5a984628112b..e610eb5a030157f3185937d4502fa79aeec367a3 100644 (file)
@@ -254,8 +254,8 @@ Scheme markup text.  It is defined as follows:
 @example
 
 TEXT : STRING | (MARKUP SENTENCE)
-MARKUP: PROPERTY | ABBREV
 SENTENCE: TEXT | SENTENCE TEXT
+MARKUP: PROPERTY | ABBREV
 PROPERTY: (key . value)
 ABBREV: rows lines roman music bold italic named super sub text, or any font-style
 
index 8e0bd60b004c4731682ac1bb72a538dc27e3d87e..1c853c8366a9fd0296484432667afa3b20ed08eb 100644 (file)
@@ -6,6 +6,7 @@
 %
 \def\thetitle{}
 \def\thesubtitle{}
+\def\thesubsubtitle{}
 \def\thecomposer{}
 \def\thearranger{}
 \def\theinstrument{}
@@ -20,6 +21,7 @@
 % duh.  LaTeX has a \title too.
 \renewcommand*{\title}[1]{\def\thetitle{#1}}
 \newcommand*{\subtitle}[1]{\def\thesubtitle{#1}}
+\newcommand*{\subsubtitle}[1]{\def\thesubsubtitle{#1}}
 \newcommand*{\composer}[1]{\def\thecomposer{#1}}
 \newcommand*{\arranger}[1]{\def\thearranger{#1}}
 \newcommand*{\instrument}[1]{\def\theinstrument{#1}}
@@ -30,6 +32,7 @@
 %
 \newcommand*{\lilypondtitle}[1]{\def\thetitle{#1}}
 \newcommand*{\lilypondsubtitle}[1]{\def\thesubtitle{#1}}
+\newcommand*{\lilypondsubsubtitle}[1]{\def\thesubsubtitle{#1}}
 \newcommand*{\lilypondfooter}[1]{\def\thefooter{#1}}
 \newcommand*{\lilypondhead}[1]{\def\theheader{#1}}
 \newcommand*{\lilypondcomposer}[1]{\def\thecomposer{#1}}
@@ -49,6 +52,7 @@
         \bfseries
         \ifx\lilypondnull\thetitle\else{\huge\thetitle}\\ \fi
         \ifx\lilypondnull\thesubtitle\else{\Large\thesubtitle}\\ \fi
+        \ifx\lilypondnull\thesubsubtitle\else{\large\thesubsubtitle}\\ \fi
   \end{center}
   \bigskip
   % urg