]> git.donarmstrong.com Git - lilypond.git/commitdiff
* lily/simple-spacer.cc (Module): use force to stretch to
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 20 Sep 2004 20:40:48 +0000 (20:40 +0000)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 20 Sep 2004 20:40:48 +0000 (20:40 +0000)
line length as force measure for ragged spacing.

* ly/part-paper-init.ly: remove file.

ChangeLog
input/mutopia/J.S.Bach/wtk1-fugue2.ly
input/mutopia/W.A.Mozart/mozart-hrn-3.ly
input/mutopia/W.A.Mozart/mozart-hrn3-defs.ily
lily/simple-spacer.cc
ly/book-init-init.ly [deleted file]
ly/init.ly

index 6582ebe74fb7e837f8bf18dd3fba8e154c17cdcf..2fa4f107cc03b05da47b445c3b617a5ffa128e4a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2004-09-20  Han-Wen Nienhuys   <hanwen@xs4all.nl>
 
+       * lily/simple-spacer.cc (Module): use force to stretch to 
+       line length as force measure for ragged spacing.
+       
        * lily/lily-parser.cc (get_paper): don't set parent for \paper
        blocks in the parser. This eliminates ordering dependency for
        \bookpaper and \paper
index 2a540d20dd8fb7bec4f8d0d6bcdd05d4b1b215a7..5dc246e9eb60e690d8a88b5a67498574ab92a504 100644 (file)
@@ -1,45 +1,45 @@
 \header {
-  title = "Fuga a 3 voci"
-  opus = "BWV 847-Fuga"
-  source = "Henle's Urtext"
-  composer = "Johann Sebastian Bach (1685-1750)"
-  enteredby = "hwn, wl, jcn"
-
-  % mutopia headers.
-  mutopiatitle = "Das Wohltemperierte Clavier I, Fuga II (c-minor)"
-  mutopiacomposer = "J. S. Bach (1685-1750)"
-  mutopiainstrument = "Piano"
-  mutopiaopus = "BWV847"
-  style = "baroque"
-  copyright = "Public Domain"
-  maintainer = "hanwen@cs.uu.nl"
- %% TODO: handle \footer, \head[er] properly
-  footer = "Mutopia-2002/08/19-6"
-
-  tagline = \markup { \smaller
-      \column <
-          \fill-line < \footer "" >
-          \fill-line < { "This music is part of the Mutopia project, "
-                         \typewriter { "http://sca.uwaterloo.ca/Mutopia/" }
-                         "." } >
-          \fill-line < { "It has been typeset and placed in the public "
-                         "domain by "  \maintainer  "." } >
-          \fill-line < { "Unrestricted modification and redistribution "
-                         "is permitted and encouraged---copy this music "
-                         "and share it!" } >
-          >
-       }
-  lastupdated = "2002/August/19"
+    title = "Fuga a 3 voci"
+    opus = "BWV 847-Fuga"
+    source = "Henle's Urtext"
+    composer = "Johann Sebastian Bach (1685-1750)"
+    enteredby = "hwn, wl, jcn"
+
+                               % mutopia headers.
+    mutopiatitle = "Das Wohltemperierte Clavier I, Fuga II (c-minor)"
+    mutopiacomposer = "J. S. Bach (1685-1750)"
+    mutopiainstrument = "Piano"
+    mutopiaopus = "BWV847"
+    style = "baroque"
+    copyright = "Public Domain"
+    maintainer = "hanwen@cs.uu.nl"
   %% TODO: handle \footer, \head[er] properly
+    footer = "Mutopia-2002/08/19-6"
+
+    tagline = \markup { \smaller
+                       \column <
+                           \fill-line < \footer "" >
+                           \fill-line < { "This music is part of the Mutopia project, "
+                                          \typewriter { "http://sca.uwaterloo.ca/Mutopia/" }
+                                          "." } >
+                           \fill-line < { "It has been typeset and placed in the public "
+                                          "domain by "  \maintainer  "." } >
+                           \fill-line < { "Unrestricted modification and redistribution "
+                                          "is permitted and encouraged---copy this music "
+                                          "and share it!" } >
+                       >
+                   }
+    lastupdated = "2002/August/19"
 }
 
 
 %{
- We really want this piece on 2 pages.
+We really want this piece on 2 pages.
 
- tweaks:  we use 19 iso. 20 pt staff space, and squeeze up the spacing a bit.
+tweaks:  we use 19 iso. 20 pt staff space, and squeeze up the spacing a bit.
 
- the few forced linebreaks were an earlier attempt to get the spacing
- to match up.
+the few forced linebreaks were an earlier attempt to get the spacing
+to match up.
 
 %}
 
 
 
 dux = \context Voice=two  \relative c''{
-  \voiceTwo
-  \clef violin
-
-  r8 c16 b c8 g as c16 b c8 d |
-  g, c16 b c8 d f,16 g as4 g16 f |
-  es c' b a g f! es d c8 es' d c | \break 
-  bes a bes c fis, g a fis |
-%%5
-  g4 r16 c, d es f g as8~ as16 d, es f |
-  g a bes8 ~ bes16 es, f g as g f es d8 c'16 b! |  \break
-          % forced accident!
-  c4 r4 r8 f es d |
-  r8 as g f g f16 es f8 d | 
-  g4 r8 b c c16 b c8 g |
-%%10 
-  as4 r8 a bes bes16 a bes8 f |
-  g4 r8 g as as g
-  \change Staff = bass \stemUp 
-  f |
-  r8 
-  as, bes c r8 as16 g as8 f8 |
-  bes8 c bes as bes g f es |
-  f des' c bes c as g f |
-%%15
-  g8
- \change Staff = treble
-   \stemDown
-
-  g'16 fis g8 c, 
-  es
-  g16 fis! g8 a |
-  d, g16 fis g8 a! c,16 d es4 d16 c |  % forced accident!
-  bes8 r8 r16 d e fis g a bes8 ~ bes16 e, f g |
-  a bes c8 ~ c16 fis,16 g a bes8 es,!16 d es8 g, |
-  \break 
-  as f'16 es f8 a,8 bes g'16 f g8 b, |
-%%20
-  c16 f es d
-   c
-  \change Staff = bass
-  \stemUp
-   bes! as g 
-  f8 \change Staff = treble
-  \stemDown
-  as' g f |
-  es d es f b, c d b |
-  c4 r8 e8 f f16 e f8 c |
-  d4 r8 d8 es8 es16 d es8 bes |
-  c2 ~ c8 d16 es f es f d |
-%%25
-  b8 r8 r b c r r es |
-  d r r f ~ f r r f |
-  es as g f es d es f |
-  b, c d b b c r c |
-  f16 d es c ~ c8 b c4 r8 e |
-%%30
-  f4 r8 f f es16 d es8 <f as> |
-  <b, d> r <b d> r <g c>2 |
+    \voiceTwo
+    \clef violin
+
+    r8 c16 b c8 g as c16 b c8 d |
+    g, c16 b c8 d f,16 g as4 g16 f |
+    es c' b a g f! es d c8 es' d c | \break 
+    bes a bes c fis, g a fis |
+    %%5
+    g4 r16 c, d es f g as8~ as16 d, es f |
+    g a bes8 ~ bes16 es, f g as g f es d8 c'16 b! |  \break
+                               % forced accident!
+    c4 r4 r8 f es d |
+    r8 as g f g f16 es f8 d | 
+    g4 r8 b c c16 b c8 g |
+    %%10 
+    as4 r8 a bes bes16 a bes8 f |
+    g4 r8 g as as g
+    \change Staff = bass \stemUp 
+    f |
+    r8 
+    as, bes c r8 as16 g as8 f8 |
+    bes8 c bes as bes g f es |
+    f des' c bes c as g f |
+    %%15
+    g8
   \change Staff = treble
+    \stemDown
+
+    g'16 fis g8 c, 
+    es
+    g16 fis! g8 a |
+    d, g16 fis g8 a! c,16 d es4 d16 c |  % forced accident!
+    bes8 r8 r16 d e fis g a bes8 ~ bes16 e, f g |
+    a bes c8 ~ c16 fis,16 g a bes8 es,!16 d es8 g, |
+    \break 
+    as f'16 es f8 a,8 bes g'16 f g8 b, |
+    %%20
+    c16 f es d
+    c
+    \change Staff = bass
+    \stemUp
+    bes! as g 
+    f8 \change Staff = treble
+    \stemDown
+    as' g f |
+    es d es f b, c d b |
+    c4 r8 e8 f f16 e f8 c |
+    d4 r8 d8 es8 es16 d es8 bes |
+    c2 ~ c8 d16 es f es f d |
+    %%25
+    b8 r8 r b c r r es |
+    d r r f ~ f r r f |
+    es as g f es d es f |
+    b, c d b b c r c |
+    f16 d es c ~ c8 b c4 r8 e |
+    %%30
+    f4 r8 f f es16 d es8 <f as> |
+    <b, d> r <b d> r <g c>2 |
 }
 
 
 comes = \context Voice=one  \relative c'' {
-  \voiceOne
-  \override MultiMeasureRest  #'staff-position = #6 
-  R1 |
-  R1 |
-  r8 g'16 fis g8 c, es g16 fis g8 a |
-  d,8 g16 fis g8 a c,16 d es4 d16 c |
-%%5
-  bes8 es16 d es8 g,8 as f'16 es f8 a, 
-  bes8 g'16 f g8 b, c8 d16 es f4 ~ |
-  f8 es16 d c16 bes ! as g f8 as' g f 
-  es d es f b, c d b |
-  c g'16 fis g8 d es4 r8 e8 |
-%%10 
-  f f16 e f8 c8 d4 r8 d |
-  es8 es16 d es8 bes c es16 d es8 f |
-  bes, es16 d es8 f as,16 bes c4 bes16 as |
-  \stemNeutral g16 es f g as bes c d es d c d es f g a |
-  bes f, g as bes c d e f es d es f g a b |
-%%15
-  \stemUp c8 b16 a g f! es d c8 es d c |
-  bes a bes c fis,! g a fis |    % forced accident
-  g8 d'16 c d8 r8 r8 e16 d e8 r8 |
-  r fis16 e fis8 r r g,16 f g8 r8 |
-  r8 a16 g a8 r r b16 a b8 r |
-%%20
-  r8 c16 b c8 g as c16 b c8 d |
-  g, c16 b c8 d f,16 g as4 g16 f |
-  es8 c'16 b c8 g as4 r8 a |
-  bes8 bes16 a bes8 f8 g4 r8 g ~ |
-  g as16 bes c b c as f2 ~ |
-%%25
-  f8 d'16 c d8 f, es es'16 d es8 g, |
-  f f'16 es f8 as, g16 f' es d c b a g |
-  c8 f es d r as g f |
-  g f16 es f8 d as' g r a |
-  b c f,16 es d c c8 c'16 b c8 g |
-%%30
-  as c16 b c8 <d b ! as !> g,8 c16 b c8 d |
-  f,16 g as4 g16 f e2 |
+    \voiceOne
+    \override MultiMeasureRest  #'staff-position = #6 
+    R1 |
+    R1 |
+    r8 g'16 fis g8 c, es g16 fis g8 a |
+    d,8 g16 fis g8 a c,16 d es4 d16 c |
+    %%5
+    bes8 es16 d es8 g,8 as f'16 es f8 a, 
+    bes8 g'16 f g8 b, c8 d16 es f4 ~ |
+    f8 es16 d c16 bes ! as g f8 as' g f 
+    es d es f b, c d b |
+    c g'16 fis g8 d es4 r8 e8 |
+    %%10 
+    f f16 e f8 c8 d4 r8 d |
+    es8 es16 d es8 bes c es16 d es8 f |
+    bes, es16 d es8 f as,16 bes c4 bes16 as |
+    \stemNeutral g16 es f g as bes c d es d c d es f g a |
+    bes f, g as bes c d e f es d es f g a b |
+    %%15
+    \stemUp c8 b16 a g f! es d c8 es d c |
+    bes a bes c fis,! g a fis |    % forced accident
+    g8 d'16 c d8 r8 r8 e16 d e8 r8 |
+    r fis16 e fis8 r r g,16 f g8 r8 |
+    r8 a16 g a8 r r b16 a b8 r |
+    %%20
+    r8 c16 b c8 g as c16 b c8 d |
+    g, c16 b c8 d f,16 g as4 g16 f |
+    es8 c'16 b c8 g as4 r8 a |
+    bes8 bes16 a bes8 f8 g4 r8 g ~ |
+    g as16 bes c b c as f2 ~ |
+    %%25
+    f8 d'16 c d8 f, es es'16 d es8 g, |
+    f f'16 es f8 as, g16 f' es d c b a g |
+    c8 f es d r as g f |
+    g f16 es f8 d as' g r a |
+    b c f,16 es d c c8 c'16 b c8 g |
+    %%30
+    as c16 b c8 <d b ! as !> g,8 c16 b c8 d |
+    f,16 g as4 g16 f e2 |
 }
 
 bassdux = \context Voice=three  \relative c' {
-  \clef bass
-  R1 |
-  R |
-  R |
-  R |
-%%5
-  R |
-  R1 |
-  r8 c16 b c8 g as c16 b c8 d |
-  g, c16 b c8 d f,16 g as4 g16 f | 
-  es c' b a g f es d c d es d c bes! as! g |
-          % -> \classic_accidentals
-%%10
-  f bes' as g f es d c bes c d c bes as g f |
-  es as' g f es des c bes as8 c' bes as |
-  g8 f g as d, es f d |
-  es as g f g es d c |
-  d bes' as g as f es d! |
-%%15
-  es8 r8 r4 r8 c bes a |
-  r es' d c d c16 bes c8 d |
-  g,8 bes'16 a bes8 d, es c'16 bes c8 e, |
-  f d'16 c d8 fis, g4 r16 g, a b |
-  c16 d es8~ es16 a, bes c d es f8~ f16 b, c d |
-%%20 
-% es8 r r e f f, es! d |     % -> \classic_accidentals
-  es8 r r e \stemNeutral \stemDown f f, es! d \stemNeutral |
-  r as' g f g f16 es f8 g |
-  c16 d es d c bes as g f bes' as g f es d c |
-  bes c d c bes as g f es as' g f es d c bes |
-  as bes c bes as g f es d g' f es d c b a |
-%%25
-  g4 r4 r16 g a b c d es f |
-  g f as g f es d c b8 c16 b c8 g |
-  as c16 b c8 d g, c16 b c8 d |
-  f,16 g as4 g16 f es4 r8 es' |
-  d c g' g, 
-%%30
-  << {  c2 ~ | c1 ~ | c1 } \\
-    {   c,2 ~ | c1 ~ | c1 }
-  >> 
+    \clef bass
+    R1 |
+    R |
+    R |
+    R |
+    %%5
+    R |
+    R1 |
+    r8 c16 b c8 g as c16 b c8 d |
+    g, c16 b c8 d f,16 g as4 g16 f | 
+    es c' b a g f es d c d es d c bes! as! g |
+                               % -> \classic_accidentals
+    %%10
+    f bes' as g f es d c bes c d c bes as g f |
+    es as' g f es des c bes as8 c' bes as |
+    g8 f g as d, es f d |
+    es as g f g es d c |
+    d bes' as g as f es d! |
+    %%15
+    es8 r8 r4 r8 c bes a |
+    r es' d c d c16 bes c8 d |
+    g,8 bes'16 a bes8 d, es c'16 bes c8 e, |
+    f d'16 c d8 fis, g4 r16 g, a b |
+    c16 d es8~ es16 a, bes c d es f8~ f16 b, c d |
+    %%20 
+                               % es8 r r e f f, es! d |     % -> \classic_accidentals
+    es8 r r e \stemNeutral \stemDown f f, es! d \stemNeutral |
+    r as' g f g f16 es f8 g |
+    c16 d es d c bes as g f bes' as g f es d c |
+    bes c d c bes as g f es as' g f es d c bes |
+    as bes c bes as g f es d g' f es d c b a |
+    %%25
+    g4 r4 r16 g a b c d es f |
+    g f as g f es d c b8 c16 b c8 g |
+    as c16 b c8 d g, c16 b c8 d |
+    f,16 g as4 g16 f es4 r8 es' |
+    d c g' g, 
+    %%30
+    << {  c2 ~ | c1 ~ | c1 } \\
+       {   c,2 ~ | c1 ~ | c1 }
+   >> 
 }
 
 
 \book {
-\score {
-     \context PianoStaff << 
-        \override Score.TimeSignature  #'style = #'C
-       \context Staff = treble <<
-           \key c \minor
-           \dux
-           { \comes \bar "|." }
-             \time 4/4
-         >>
-       \context Staff = bass <<
-           \key c \minor
-           \bassdux
+    \score {
+
+       \context Score \with
+       {
+           \override SpacingSpanner #'spacing-increment = #1.0
+           \override SpacingSpanner #'shortest-duration-space = #1.9   
+       } \context PianoStaff << 
+           \override Score.TimeSignature  #'style = #'C
+           \context Staff = treble <<
+               \key c \minor
+               \dux
+               { \comes \bar "|." }
+               \time 4/4
+           >>
+           \context Staff = bass <<
+               \key c \minor
+               \bassdux
+           >>
        >>
-    >>
 
-    \paper {
-        linewidth = 18.0 \cm
-       \context { \Score
-       \override SpacingSpanner #'spacing-increment = #1.0
-       \override SpacingSpanner #'shortest-duration-space = #1.9       
+       \header{
+           opus = "BWV 847"
+       }
+       \paper {}
+       \midi {
+           \tempo 4 =84
        }
     }
-    \header{
-       opus = "BWV 847"
-    }
-
-    \midi {
-       \tempo 4 =84
+    \bookpaper {
+       linewidth = 18.0 \cm
     }
 }
-
-}
index 9a450e980e9e84c665ab8d785eb78d35aea79fdb..09728b4e66d8848d94161780d5b2943ac7cff871 100644 (file)
@@ -48,11 +48,10 @@ virtuoso that taught in Geneva.
 \include "mozart-hrn3-romanze.ily"
 \include "mozart-hrn3-rondo.ily"
 
-    \bookpaper {
-       betweensystempadding = 0.0
-       betweensystemspace = 20 \mm
-%      raggedbottom = ##t 
-       }
+\bookpaper {
+    betweensystempadding = 0.0
+    betweensystemspace = 20 \mm
+}
 
 
 \book {
index aa1f07606b76e9a107a2f9780db907878962cecf..bf1252958fbbf7764ecddb0e1dc2779404bec4ec 100644 (file)
@@ -40,7 +40,7 @@ stopGraceMusic= \sequential {
         restNumberThreshold = #1
 
        \override RehearsalMark #'font-series = #'bold
-       \override RehearsalMark #'font-size = #6
+       \override RehearsalMark #'font-size = #4.5
 
         \override Beam #'thickness = #0.6
         \override Beam #'space-function = #(lambda (beam mult) 0.8)
index e1d92ec0437e1e8c7ee2faaeb2cc645cbf0d6d04..fba6daeab053c48b7ca07af00889646bc768d8ad 100644 (file)
@@ -218,15 +218,27 @@ Simple_spacer::my_solve_linelen ()
 void
 Simple_spacer::my_solve_natural_len ()
 {
+  Real line_len_force = 0.0;
+  
   while (is_active ())
     {
       force_ = active_blocking_force () >? 0.0;
+      Real conf = configuration_length ();
 
+      if (conf < line_len_)
+       {
+         line_len_force = force_
+           + (line_len_ - conf)
+           * active_springs_stiffness();
+       }
+      
       if (force_ < 1e-8) // ugh.,
        break;
       
       set_active_states ();
     }
+
+  force_ = line_len_force;
 }
 
 LY_DEFINE(ly_solve_spring_rod_problem, "ly:solve-spring-rod-problem",
@@ -286,15 +298,8 @@ LY_DEFINE(ly_solve_spring_rod_problem, "ly:solve-spring-rod-problem",
     }
 
   SCM force_return = SCM_BOOL_F;
-  if (is_ragged)
-    {
-      Real len = posns.top ();
-      if (spacer.line_len_ - len  >= 0)
-       force_return  = scm_from_double ((spacer.line_len_ - len)
-                                        * spacer.active_springs_stiffness ());
-    }
-  else if (!isinf (spacer.force_)
-          && spacer.is_active ())
+  if (!isinf (spacer.force_)
+      && spacer.is_active ())
     {
       force_return = scm_from_double (spacer.force_);
     }
@@ -384,18 +389,8 @@ Simple_spacer_wrapper::solve (Column_x_positions *positions, bool ragged)
     */
   if (ragged)
     {
-      Real len = positions->config_.top ();
-      if (spacer_->line_len_ - len  >= 0)
-       positions->force_ = ((spacer_->line_len_ - len)
-                            * spacer_->active_springs_stiffness ());
-      else
-       {
-         positions->force_ = 0.0;
-         /*
-           Don't go past end-of-line in ragged right.
-          */
-         positions->satisfies_constraints_ = false;
-       }
+      positions->satisfies_constraints_ = 
+       positions->config_.top () < spacer_->line_len_ ;
     }
 
 
diff --git a/ly/book-init-init.ly b/ly/book-init-init.ly
deleted file mode 100644 (file)
index 7d2eb22..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-% Toplevel initialisation file. 
-       
-\version "2.3.16"
-
-
-\include "declarations-init.ly"
-#(set-global-staff-size 16)
-
- \paper{
-       \paperSixteen
-}
-
-
-\maininput
index 7bf71bf26cacc7760c0bf6ba9c8786286547ef96..d0f73b4281176db720955f1e1f5365b43d2426cb 100644 (file)
@@ -29,7 +29,6 @@
            input-file-name ": old relative compatibility was not used."
        )))%% there is a problem at the end of the input file
 
-#(display "HAI")
 #(if (pair? toplevel-scores)
   (ly:parser-print-book parser
    (apply ly:make-book $defaultbookpaper $globalheader (reverse toplevel-scores))))