]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.4.0.jcn2
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 12 May 2001 10:49:04 +0000 (12:49 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 12 May 2001 10:49:04 +0000 (12:49 +0200)
1.4.0.jcn2
==========

* Bugfix: trend of broken slurs with user-overridden stem attachments.

* Further Timmification of tutorial.

CHANGES
Documentation/regression-test.tely
Documentation/user/macros.itexi
Documentation/user/tutorial.itely
VERSION
input/regression/slur-stem-broken.ly [new file with mode: 0644]
lily/slur.cc

diff --git a/CHANGES b/CHANGES
index e2b25f4f3af3612d7b2e5cdff13f01a07fa0de6f..61be7926bd0755a8fcc6d11a0f31da3f6aabd367 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,15 @@
+1.4.0.jcn2
+==========
+
+* Bugfix: trend of broken slurs with user-overridden stem attachments.
+
+* Further Timmification of tutorial.
+
 1.4.0.jcn1
 ==========
 
+* Bugfix redhat.spec: use root attributes on files.
+
 * Bugfix: typo in update-lily, re-set download url to /development.
 
 * Removed some empty files.
index d95171e7ff1d35e7793b8caae6d27428a0bee3d1..cf40a7a18238011f6260f27dd8bb5129175eb36a 100644 (file)
@@ -119,6 +119,8 @@ and documenting bugfixes.
 
 @lilypondfile[printfilename]{slur-attachment-override.ly}
 
+@lilypondfile[printfilename]{slur-stem-broken.ly}
+
 @lilypondfile[printfilename]{drarn-slurs.ly}
 
 @lilypondfile[printfilename]{phrasing-slur.ly}
index 7d8699e0b8ee640da1639526403a598be186e0bf..b7185a03bab9c5d8f9b653e6d0ad4ec0be35bb46 100644 (file)
@@ -18,7 +18,7 @@
 @macro separate
 
 @tex
-\\hbox to\\hsize{\\hfill\\vrule width1.4 cm height1.0pt\\hfill}
+\\hbox to\\hsize{\\hfill\\smallrm*\\textrm*\\smallrm*\\hfill}
 @end tex
 
 @end macro
index 085b7865cec9492255797c9fff4934f42b5a4977..9c0fed6e0453ab2b1e6ace03a9c3e6193fddde1c 100644 (file)
@@ -47,7 +47,7 @@ produce most complex music with LilyPond.
 @c @node Music language of LilyPond
 @c @section Music language of LilyPond
 
-This section shows how easy making music with LilyPond actually is.  If
+This section shows how easy writing music with LilyPond actually is.  If
 you have not used LilyPond before, this section is for you.
 
 You get a simple note by typing its note name, from @code{a} through
@@ -57,6 +57,7 @@ You get a simple note by typing its note name, from @code{a} through
 @example
 c d e f g a b
 @end example
+
 @lilypond[fragment]
 \property Score.timing = ##f
 \property Staff.TimeSignature = \turnOff
@@ -72,12 +73,14 @@ whole note, ``@code{2}'' for a halve note, and so on:
 @example
 a1 a2 a4 a16 a32
 @end example
+
 @lilypond[fragment]
 \property Score.timing = ##f
 \property Staff.TimeSignature = \turnOff
 \property Staff.noAutoBeaming = ##t
 \property Staff.Clef = \turnOff
 \transpose c'' { a1 a2 a4 a16 a32 }
+s16_" "
 @end lilypond
 @end quotation
 @separate
@@ -88,11 +91,13 @@ If you don't specify a duration, the previous duration is used:
 @example
 a a a2 a
 @end example
+
 @lilypond[fragment]
 \property Score.timing = ##f
 \property Staff.TimeSignature = \turnOff
 \property Staff.Clef = \turnOff
 \transpose c'' { a a a2 a }
+s16_" "
 @end lilypond
 @end quotation
 @separate
@@ -103,11 +108,13 @@ A sharp is made by adding ``@code{is}'', a flat by adding ``@code{es}'':
 @example
 cis1 ees fisis aeses
 @end example
+
 @lilypond[fragment]
 \property Score.timing = ##f
 \property Staff.TimeSignature = \turnOff
 \property Staff.Clef = \turnOff
 \transpose c'' { cis1 ees fisis aeses }
+s16_" "
 @end lilypond
 @end quotation
 @separate
@@ -117,37 +124,59 @@ Add a dot ``@code{.}'' after the duration to get a dotted note:
 @example
 a2. a4 a8. a16
 @end example
+
 @lilypond[fragment]
 \property Score.timing = ##f
 \property Staff.TimeSignature = \turnOff
 \property Staff.Clef = \turnOff
 \transpose c'' { a2. a4 a8. a16 }
+s16_" "
 @end lilypond
 @end quotation
 @separate
 
-The meter (or time signature) can be set the ``@code{\time}'' command:
+The meter (or time signature) can be set with the ``@code{\time}'' command:
 
 @quotation
 @example
 \time 3/4
+\time 6/8
+\time 4/4
 @end example
+
 @lilypond[fragment]
+\property Staff.Clef = \turnOff
 \time 3/4
-s2_" "
+s4_" "
+\time 6/8
+s4_" "
+\time 4/4
+s16_" "
 @end lilypond
 @end quotation
 @separate
 
-The clef is set using ``@code{\clef}'':
+The clef can be set using the ``@code{\clef}'' command:
 
 @quotation
 @example
+\clef violin
 \clef bass
+\clef alto
+\clef tenor
 @end example
+
 @lilypond[fragment]
+\property Score.timing = ##f
+\property Staff.TimeSignature = \turnOff
+\clef violin
+s4_" "
 \clef bass
-s2_" "
+s4_" "
+\clef alto
+s4_" "
+\clef tenor
+s16_" "
 @end lilypond
 @end quotation
 @separate
@@ -168,14 +197,14 @@ LilyPond then knows that music follows (and not lyrics, for example):
 @end quotation
 @separate
 
-Actually, this piece of music is ready to be printed.  This is done by
-combining the music with a printing command.
+At this point, the piece of music is ready to be printed.  This is done
+by combining the music with a printing command.
 
 The printing command is the so-called ``@code{\paper}'' block.  You will
 see later that the \paper block is necessary to customize all kinds of
 printing specifics.  The music and the \paper block are combined by
-enclosing them in ``@code{\score @{ ... @}}''.  This is a full LilyPond
-source file:
+enclosing them in ``@code{\score @{ ... @}}''.  This is what a full
+LilyPond source file looks like:
 
 @quotation
 @lilypond[verbatim]
@@ -192,30 +221,20 @@ source file:
 @end quotation
 @separate
 
+We continue with the introduction of the remaining musical constructs.
+
 Rests are entered just like notes with the name ``@code{r}'':
 
 @quotation
 @example
 r2 r4 r8 r16
 @end example
-@lilypond[fragment]
-  \property Score.timing = ##f
-  \property Staff.TimeSignature = \turnOff
-  % \property Staff.Clef = \turnOff
-  % \property Staff.whichBar = #""
-  r2 r4 r8 r16
-@end lilypond
-@end quotation
-@separate
-
-To raise a note by an octave, add a high quote @code{'} (apostrophe) to
-the note name, to lower a note one octave, add a ``low quote'' @code{,}
-(a comma).  The central C is @code{c'}:
-@c huh, why exactly was central C == c'?
 
-@quotation
-@lilypond[verbatim,fragment]
-c'4 c'' c''' c,
+@lilypond[fragment]
+\property Score.timing = ##f
+\property Staff.TimeSignature = \turnOff
+r2 r4 r8 r16
+s16_" "
 @end lilypond
 @end quotation
 @separate
@@ -241,6 +260,24 @@ g'
 @end lilypond
 @end quotation
 
+To raise a note by an octave, add a high quote @code{'} (apostrophe) to
+the note name, to lower a note one octave, add a ``low quote'' @code{,}
+(a comma).  The central C is @code{c'}:
+@c huh, why exactly was central C == c'?
+
+@quotation
+@example
+c'4 c'' c''' \clef bass c c,
+@end example
+
+@lilypond[fragment]
+\property Score.timing = ##f
+\property Staff.TimeSignature = \turnOff
+c'4 c'' c''' \clef bass c c,
+@end lilypond
+@end quotation
+@separate
+
 @c bit on the long/complex/scary taste
 This example shows notes, ties, octave marks, and rests in action.
 Don't worry about all the quotes.
@@ -310,8 +347,8 @@ You can make a large interval by adding octaviation quotes.  For example,
 @separate
 
 A slur is drawn across many notes, and indicates bound articulation
-(legato).  The starting note and ending note with a ``@code{(}'' and a
-``@code{)}'' respectively:
+(legato).  The starting note and ending note are marked with a
+``@code{(}'' and a ``@code{)}'' respectively:
 
 @quotation
 @lilypond[fragment,relative 1, verbatim]
@@ -342,9 +379,9 @@ and @code{]}:
 @end quotation
 @separate
 
-You can make more than one staff, by specifying @code{\context Staff} before 
-snippets of music, and combining those snippets in @code{<} and
-@code{>}, as is demonstrated here:
+To print more than one staff, each piece of music that makes up a staff
+is marked by adding @code{\context Staff} before it.  These staffs can
+be grouped inside @code{<} and @code{>}, as is demonstrated here:
 
 @quotation
 @lilypond[fragment,verbatim]
@@ -355,9 +392,9 @@ snippets of music, and combining those snippets in @code{<} and
 @end lilypond
 @end quotation
 
-Here, @code{staffA} and @code{staffB} are names that you give them to
-the staff. For now, it doesn't matter what names you give them, as long
-as they are different.
+In this example, @code{staffA} and @code{staffB} are names that are
+given to the staffs.  For now, it doesn't matter what names you give, as
+long as each staffs has a unique name.
 
 @separate
 
@@ -409,21 +446,24 @@ c2  \< \! c2-\ff \> c2  \! c2
 Chords can be made by surrounding notes with @code{<} and @code{>}:
 @quotation
 @lilypond[relative 0, fragment,verbatim]
-  r4  <c e g> <c f a> 
+r4  <c e g> <c f a> 
 @end lilypond
 @end quotation
 @separate
 
+@ignore
 @c te diepzinnig?
-
+@c hmm, te losjes, iig
 In general, @code{ < @var{stuff} > } is used when @var{stuff} all
 happens at the same time, like in chords, or (like in the two-staff
 example above) in a bunch of stacked staffs.
+@end ignore
 
-Of course, you can combine beams and ties with chords:
+Of course, you can combine beams and ties with chords.  Notice where the
+beam and tie markings are places:
 @quotation
 @lilypond[relative 0, fragment,verbatim]
- r4  [<c8 e g>   <c8 f a>] ~ <c8 f a>
+r4 [<c8 e g> <c8 f a>] ~ <c8 f a>
 @end lilypond
 @end quotation
 
@@ -485,6 +525,7 @@ with the basics.  It deals with some of the more advanced features of
 LilyPond. Topics include lyrics, chords, orchestral scores and parts,
 fine tuning output, polyphonic music, and integrating text and music.
 
+
 @node Running LilyPond
 @section Running LilyPond
 
@@ -501,12 +542,16 @@ write LilyPond input.
 The instructions that follow are for Unix. Windows instructions are
 given at the end of this section. Start with opening a terminal window,
 and start up a text editor.  For example, start an xterm and execute
-@code{joe}.   Enter the following
-input, and save the file as @file{test.ly}.
-
+@code{joe}.  Enter the following input, and save the file as
+@file{test.ly}.
 
-If this code looks intimidating you, then don't worry, we explain all
-about it in the next section.
+@quotation
+@example
+\score @{
+  \notes @{ c'4 e' g' @}
+@} 
+@end example
+@end quotation
 
 @cindex ly2dvi
 
@@ -552,8 +597,9 @@ produce a window with some music notation on your screen:
   kghostview test.ps
 @end example
 @end quotation
-When you're satisfied with the result, you can print the PS file by
-clicking File/Print inside ghostview.
+If you are satisfied with the looks of the music displayed on your
+screen, you can print the PS file by clicking File/Print inside
+ghostview.
 
 The DVI file (@file{test.dvi}) contains the same sheet music in a
 different format. DVI files are more easily processed by the computer,
@@ -629,8 +675,9 @@ is included in the distribution as  @file{minuet.ly}.
         \bar "|."
     }
     \paper {
-       % standard settings are too wide for a book
-       linewidth = 14.0 \cm
+       % standard settings are too big and wide for a book
+       indent = 1.0 \cm
+       linewidth = 15.0 \cm
    }
 }
 @end lilypond
@@ -897,7 +944,9 @@ bar, we must explicitely request one, using @code{"|."}.
 @example 
 
         \paper @{
-                linewidth = 14.0\cm
+                % standard settings are too big and wide for a book
+                indent = 1.0\cm
+                linewidth = 15.0\cm
         @}
  
 @end example 
diff --git a/VERSION b/VERSION
index 75d855e626080e801635648fc35463d3ba5313c6..89e61722d4f876f40e6ead25077f5d9beb8bcacf 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=4
 PATCH_LEVEL=0
-MY_PATCH_LEVEL=jcn1
+MY_PATCH_LEVEL=jcn2
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
diff --git a/input/regression/slur-stem-broken.ly b/input/regression/slur-stem-broken.ly
new file mode 100644 (file)
index 0000000..30372fa
--- /dev/null
@@ -0,0 +1,13 @@
+\header {
+texidoc="Trend of broken slur with user-overridden stem attachment"
+}
+\score {
+  \notes\relative c' {
+    \property Voice.Slur \override #'attachment = #'(stem . stem)
+    f( c' c c \break
+    c c c \stemUp ) c
+  }
+  \paper {
+    linewidth=40*\staffspace
+  }
+}
index 3e2743385bf0e178c4ff9c836ca35797cdfd3cc5..7f04c7c6218742e676cf770ca94e3995dd1f594a 100644 (file)
@@ -9,7 +9,6 @@
 
 /*
   [TODO]
-    * fix broken interstaff slurs
     * should avoid stafflines with horizontal part.
     * begin and end should be treated as a/acknowledge Scripts.
     * smart changing of endings
@@ -316,27 +315,21 @@ Slur::get_attachment (Grob *me, Direction dir,
            }
        }
     }
-  else if (str == "loose-end")
+  /*
+    If we're not a note_column, we can't be anything but a loose-end.
+    But if user has set (attachment . (stem . stem)), our string is
+    stem, not loose-end.
+
+    Hmm, maybe after-line-breaking should set this to loose-end?  */
+  else // if (str == "loose-end")
     {
       SCM other_a = dir == LEFT ? gh_cdr (s) : gh_car (s);
       if (ly_symbol2string (other_a) != "loose-end")
-       {
-#if 0
-         /*
-           The braindead way: horizontal
-         */
-         o = Offset (0, get_attachment (me, -dir, common)[Y_AXIS]);
-#else
-         o = broken_trend_offset (me, dir);
-#endif
-
-         
-       }
-       
+       o = broken_trend_offset (me, dir);
     }
 
   SCM alist = me->get_grob_property ("extremity-offset-alist");
-int stemdir = stem ? Stem::get_direction (stem) : 1;
+  int stemdir = stem ? Stem::get_direction (stem) : 1;
   int slurdir = gh_scm2int (me->get_grob_property ("direction"));
   SCM l = scm_assoc
  (scm_listify (a,