]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.3.44 release/1.3.44
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 12 Apr 2000 11:36:06 +0000 (13:36 +0200)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 12 Apr 2000 11:36:06 +0000 (13:36 +0200)
===========

* Put global element list into Line_of_score, instead of
Paper_score. post processing (the stage after line breaking) is now
truly done per-system, and we got rid of an ugly hack to get font
handling OK.

* Bugfix: set the group-interface of System_start_delimiter.

* Cleanups of Break_algorithm and derived classes, Move
broken_col_range () to Line_of_score, remove Paper_score::col_l_arr_

* Bugfix for accordion symbols.

* Various patches to prevent crashing when do_brew_molecule gets
called before after_line_breaking (). This was a problem in Spanner
classes mostly.

1.3

185 files changed:
CHANGES
Documentation/user/glossary.tely
VERSION
buildscripts/ps-to-pfa.py
debian/control
debian/out/control
flower/polynomial.cc
input/denneboom.ly
input/example-3.ly
input/just-friends.ly
input/praeludium-fuga-E.ly
input/rhythm.ly
input/star-spangled-banner.ly
input/test/ped.ly [deleted file]
input/test/pedal.ly [deleted file]
input/test/repeat-unfold.ly
input/test/staff-margin.ly
input/twinkle-pop.ly
input/twinkle.ly
lily/axis-group-engraver.cc
lily/axis-group-interface.cc
lily/bar.cc
lily/beam.cc
lily/break-algorithm.cc
lily/clef-item.cc
lily/dots.cc
lily/gourlay-breaking.cc
lily/hara-kiri-vertical-group-spanner.cc
lily/include/audio-column.hh
lily/include/axis-group-item.hh
lily/include/axis-group-spanner.hh
lily/include/beam.hh
lily/include/break-algorithm.hh
lily/include/gourlay-breaking.hh
lily/include/line-of-score.hh
lily/include/notename-table.hh
lily/include/paper-column.hh
lily/include/paper-outputter.hh
lily/include/paper-score.hh
lily/include/priority-halign-engraver.hh
lily/include/rhythmic-head.hh
lily/include/score-element.hh
lily/item.cc
lily/lexer.ll
lily/line-of-score.cc
lily/lookup.cc
lily/new-span-bar-engraver.cc
lily/notename-table.cc
lily/paper-outputter.cc
lily/paper-score.cc
lily/piano-pedal-engraver.cc [deleted file]
lily/piano-pedal-performer.cc
lily/rest-collision.cc
lily/score-element.cc
lily/score-engraver.cc
lily/script.cc
lily/single-malt-grouping-item.cc
lily/slur.cc
lily/spacing-spanner.cc
lily/span-bar-engraver.cc
lily/span-bar.cc
lily/span-score-bar-engraver.cc
lily/spanner.cc
lily/stem.cc
lily/system-start-delimiter.cc
lily/text-engraver.cc
lily/tie-column.cc
lily/tie.cc
lily/tuplet-spanner.cc
lily/vertical-align-engraver.cc
ly/engraver.ly
make/out/lilypond.lsm
make/out/lilypond.spec
mf/GNUmakefile
mf/feta-accordion.mf
mf/feta-generic.mf
mf/feta-macros.mf
mf/feta-nummer-generic.mf
mf/feta-nummer.mf
mf/feta-params.mf
mf/feta-pendaal.mf [deleted file]
mf/feta-schrift.mf
mf/feta-test11.mf [deleted file]
mf/feta-test13.mf
mf/feta-test23.mf [deleted file]
mf/feta-test26.mf
mutopia/Coriolan/bassi-part.ly
mutopia/Coriolan/clarinetti-part.ly
mutopia/Coriolan/clarinetti.ly
mutopia/Coriolan/clarinetto-1.ly
mutopia/Coriolan/clarinetto-2.ly
mutopia/Coriolan/contrabasso-part.ly
mutopia/Coriolan/contrabasso.ly
mutopia/Coriolan/coriolan.ly
mutopia/Coriolan/corni-part.ly
mutopia/Coriolan/corni.ly
mutopia/Coriolan/corno-1.ly
mutopia/Coriolan/corno-2.ly
mutopia/Coriolan/fagotti-part.ly
mutopia/Coriolan/fagotti.ly
mutopia/Coriolan/fagotto-1.ly
mutopia/Coriolan/fagotto-2.ly
mutopia/Coriolan/flauti-part.ly
mutopia/Coriolan/flauti.ly
mutopia/Coriolan/flauto-1.ly
mutopia/Coriolan/flauto-2.ly
mutopia/Coriolan/global.ly
mutopia/Coriolan/oboe-1.ly
mutopia/Coriolan/oboe-2.ly
mutopia/Coriolan/oboi-part.ly
mutopia/Coriolan/oboi.ly
mutopia/Coriolan/timpani-part.ly
mutopia/Coriolan/timpani.ly
mutopia/Coriolan/trombe-part.ly
mutopia/Coriolan/trombe.ly
mutopia/Coriolan/trombo-1.ly
mutopia/Coriolan/trombo-2.ly
mutopia/Coriolan/viola-1.ly
mutopia/Coriolan/viola-2.ly
mutopia/Coriolan/viola-part.ly
mutopia/Coriolan/violino-1-part.ly
mutopia/Coriolan/violino-1.ly
mutopia/Coriolan/violino-2-part.ly
mutopia/Coriolan/violino-2.ly
mutopia/Coriolan/violoncello-part.ly
mutopia/Coriolan/violoncello.ly
mutopia/D.Zipoli/verso_2.ly
mutopia/E.Satie/gnossienne-4.ly
mutopia/E.Satie/petite-ouverture-a-danser.ly
mutopia/F.Schubert/standchen-16.ly
mutopia/F.Schubert/standchen-20.ly
mutopia/F.Schubert/standchen.ly
mutopia/Hymns/diademata.ly
mutopia/Hymns/laudatedom.ly
mutopia/Hymns/maccabaeus.ly
mutopia/Hymns/ode.ly
mutopia/Hymns/stille.ly
mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Allemande.ly
mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Capriccio.ly
mutopia/J.S.Bach/Cembalo-Partitas/Partita_II_Sinfonia.ly
mutopia/J.S.Bach/Duette/global-i.ly
mutopia/J.S.Bach/Duette/global-ii.ly
mutopia/J.S.Bach/Duette/viola-i.ly
mutopia/J.S.Bach/Duette/viola-ii.ly
mutopia/J.S.Bach/Duette/viola-part.ly
mutopia/J.S.Bach/Duette/violino-i.ly
mutopia/J.S.Bach/Duette/violino-ii.ly
mutopia/J.S.Bach/Duette/violino-part.ly
mutopia/J.S.Bach/Duette/violino-viola.ly
mutopia/J.S.Bach/Duette/violino-violoncello.ly
mutopia/J.S.Bach/Duette/violoncello-i.ly
mutopia/J.S.Bach/Duette/violoncello-ii.ly
mutopia/J.S.Bach/Duette/violoncello-part.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-1.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-2.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-3.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-5.ly
mutopia/J.S.Bach/Petites-Preludes/preludes-6.ly
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/gigue-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/prelude-viola.ly
mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/sarabande-viola.ly
mutopia/J.S.Bach/wtk1-fugue1.ly
mutopia/J.S.Bach/wtk1-fugue2.ly
mutopia/J.S.Bach/wtk1-prelude1.ly
mutopia/gallina.ly
scm/generic-property.scm
scm/paper.scm
stepmake/stepmake/metafont-vars.make
tex/p.tex [deleted file]
tex/pedal.tex [deleted file]

diff --git a/CHANGES b/CHANGES
index c9d7f0f36a8c63eda828ce8e53dbf8ba915b0e75..e9cb084f880ce41a2e8f56b9094c4cbad37c948a 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,19 +1,21 @@
-1.3.43.jcn1
+1.3.43.hwn1
 ===========
 
-* Added a Piano_pedal_engraver.
+* Put global element list into Line_of_score, instead of
+Paper_score. post processing (the stage after line breaking) is now
+truly done per-system, and we got rid of an ugly hack to get font
+handling OK.
 
-* Removed some empty files.
+* Bugfix: set the group-interface of System_start_delimiter.
 
-* Created piano pedal symbols: * - . P e d.
+* Cleanups of Break_algorithm and derived classes, Move
+broken_col_range () to Line_of_score, remove Paper_score::col_l_arr_
 
-* Fixed ps-to-pfa.py to handle multiple unfills.
+* Bugfix for accordion symbols.
 
-* Moved accordion symbols out of feta-script to end of font.
-
-* Bugfix: don't create tfm's, pfa's etc of feta-test fonts.
-
-* Fixed blot_diameter for small resolutions.
+* Various patches to prevent crashing when do_brew_molecule gets
+called before after_line_breaking (). This was a problem in Spanner
+classes mostly.
 
 1.3.43
 ======
index 05bc8056b935f48082f6ae6c4a442cda8fbfe20a..20924c7e9669d7f8c4c7f0e96492eb06674e7eb7 100644 (file)
@@ -324,8 +324,8 @@ orchestral or choral score.
 @
 
 @mudela[13pt,eps] 
-%\context StaffGroup < 
-\context ChoirStaff < 
+\context StaffGroup < 
+\context ChoirStaff < 
   \property StaffGroup.minVerticalAlign = 12
   \notes\relative c'' { \clef treble; g4 e c2 }
   \notes\relative c { \clef bass; c1 \bar "|."; } > 
diff --git a/VERSION b/VERSION
index dd77d048bee4ad1ac0eddd91c024b361bf57061d..d1321c83225fe4899ca7c27d82d1dd2500f6786f 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
-PATCH_LEVEL=43
-MY_PATCH_LEVEL=jcn1
+PATCH_LEVEL=44
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 796c5d8b3770426b7dec2792e60d636da579fedf..bab745820d330d367b83a040974b8da639da38f0 100755 (executable)
@@ -122,7 +122,8 @@ end                                         % of font dictionary
        f.write (''
 'exch definefont pop                         % Define the font\n')
 
-suspect_re = re.compile ('closepath ((gsave )*fill( grestore stroke)*) 1 setgray newpath (.*?) closepath fill')
+
+suspect_re = re.compile ('closepath (.*?) 1 setgray newpath (.*?) closepath fill')
 
 def characters (f):
        sys.stderr.write ('[')
@@ -152,7 +153,7 @@ def characters (f):
                        m = suspect_re.search (s)
                        while m:
                                fill = m.group (1)
-                               path = m.group (4)
+                               path = m.group (2)
 
                                # be complicated, in case of gsave/grestore.
                                # vill as quick hack to avoid duple substitutions.
index 9a9f184e8cc889d019e1e8816965f9c52c99b2d7..12d811e7909c809c2a5e07b31f8d390d765c336c 100644 (file)
@@ -3,7 +3,7 @@ Build-Depends: debhelper (>= 2.0.71), python-base (>= 1.5.2-4), libguile6-dev, t
 Section: tex
 Priority: optional
 Maintainer: Anthony Fok <foka@debian.org>
-Standards-Version: 3.1.1
+Standards-Version: 3.1.0
 
 Package: lilypond1.3
 Architecture: any
@@ -17,9 +17,8 @@ Description: A program for printing sheet music.
  using a high level description file as input.  LilyPond is part of 
  the GNU Project.
  .
- This is the developmental 1.3 branch of LilyPond.  It is not intended for
- use with stable projects, although arguably 1.3.41 is less buggy and much
- more featureful than then the "stable" 1.2.17.
+ This is the unstable 1.3 branch of LilyPond.  It is not intended for
+ use with stable projects!
  .
   URLs: http://www.cs.uu.nl/~hanwen/lilypond/
         http://www.xs4all.nl/~jantien/lilypond/
index 9a9f184e8cc889d019e1e8816965f9c52c99b2d7..12d811e7909c809c2a5e07b31f8d390d765c336c 100644 (file)
@@ -3,7 +3,7 @@ Build-Depends: debhelper (>= 2.0.71), python-base (>= 1.5.2-4), libguile6-dev, t
 Section: tex
 Priority: optional
 Maintainer: Anthony Fok <foka@debian.org>
-Standards-Version: 3.1.1
+Standards-Version: 3.1.0
 
 Package: lilypond1.3
 Architecture: any
@@ -17,9 +17,8 @@ Description: A program for printing sheet music.
  using a high level description file as input.  LilyPond is part of 
  the GNU Project.
  .
- This is the developmental 1.3 branch of LilyPond.  It is not intended for
- use with stable projects, although arguably 1.3.41 is less buggy and much
- more featureful than then the "stable" 1.2.17.
+ This is the unstable 1.3 branch of LilyPond.  It is not intended for
+ use with stable projects!
  .
   URLs: http://www.cs.uu.nl/~hanwen/lilypond/
         http://www.xs4all.nl/~jantien/lilypond/
index d43cb9e2a70038a27ee615eb24d762b0e9c16ef6..4e7fd944c78b4731c3cde7d74abee41dbdafbf0b 100644 (file)
@@ -90,7 +90,9 @@ Polynomial::clean()
        coefs_[i] = 0.0;
     }
 
-  while (degree () > 0 && fabs (coefs_.top ()) < FUDGE * fabs (coefs_.top (1)))
+  while (degree () > 0 &&
+        (fabs (coefs_.top ()) < FUDGE * fabs (coefs_.top (1)))
+        || !coefs_.top ())
     coefs_.pop ();
 }
 
index 11bca6d414707aa12b4deaab5aeb57e84ba59f16..9ecd76a180bb4f8c3ed325017b2c40e8d677e84b 100644 (file)
@@ -7,7 +7,7 @@ copyright =      "public domain";
 
 \include "paper20.ly"
 
-\version "1.3.4";
+\version "1.3.42";
 
 oden = \lyrics{ 
        O |
index 86fc80ba981dfcfebf7cb196d82a4b95242f1e19..025a3a7bf7c68d9d69072a9762cdb65ff98d005d 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.3.4";
+\version "1.3.42";
 
 one = \notes\relative c{
        c'' d e f
index f7e1ec8c2a65dc36f1f384e27a779b079b9947ef..96ae93f9bae31418bf30657a5ae5e1b388ce8113 100644 (file)
@@ -56,4 +56,4 @@ of a certain tune (Jazz, Real Book, for example), like
        }
 }
 
-\version "1.3.4";
+\version "1.3.42";
index 58d5cf7c5a568d8818c3628063e261a8fe966ab5..fee4e0cb9b604f4ded0b3891d0dc8f33e4c8819a 100644 (file)
@@ -22,7 +22,7 @@
    * organ staff...
 %}
 
-\version "1.3.4";
+\version "1.3.42";
 
 
 
index 607044a99bb7d301947ba6ada0347ec4c7103953..05ace2961ec8bcfe43ff04e72c6ff6334d19545d 100644 (file)
@@ -7,7 +7,7 @@ TestedFeatures =         "multiple meters, beaming, unsynced bars, userdefd engravers";
 
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 ritme = \notes\transpose c'' {
        \time  4/4;
index 87bbd5595c2631ead19578e4d391fb5c9e06fbf8..e485996a039b25845a6c8af2e19909d59900f839 100644 (file)
@@ -179,4 +179,4 @@ handLyrics = \notes \context GrandStaff <
 }
 
 
-\version "1.3.4";
+\version "1.3.42";
diff --git a/input/test/ped.ly b/input/test/ped.ly
deleted file mode 100644 (file)
index 40410a3..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-\score{
-\context Staff \notes\relative c'{
-c\sustaindown d e f\sustainup g\sustaindown b c
-c,\sustainup\sustaindown d e f \sustainup g\sustaindown b c
-\property Staff.stopStartSustain = #"-P"
-\property Staff.startSustain = #"P"
-c,\sustainup\sustaindown d e f \sustainup g\sustaindown b c
-}
-\paper{
-}
-\midi{
-\tempo 4 = 60;
-}
-}
diff --git a/input/test/pedal.ly b/input/test/pedal.ly
deleted file mode 100644 (file)
index cd73982..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-\score{
-\context Staff \notes\relative c{
-c\sustaindown d e f\sustainup g\sustaindown b c
-c,\sustainup\sustaindown d e f \sustainup g\sustaindown b c
-\property Staff.stopStartSustain = #"-P"
-\property Staff.startSustain = #"P"
-c,\sustainup\sustaindown d e f \sustainup g\sustaindown b c
-}
-\paper{
-}
-\midi{
-\tempo 4 = 60;
-}
-}
index 95faea394ea44defcd2dd2ac03fd917c71859d50..8d62f8991c8e789ff7df0541a9c7793112c9d0e6 100644 (file)
@@ -1,5 +1,7 @@
 
-\score { \notes\relative c'' {
+\score {
+
+  \context Voice \notes\relative c'' {
 \repeat unfold 3 { c^"3x 0a" d }
 % less alts than body
 \repeat unfold 4 { c^"4x 0a" d } \alternative { e f }
index 7a7972964228e52a318ec61b1257ee62bcf2a27e..290fd256b499447cddd6f7507d053782abde769b 100644 (file)
@@ -17,7 +17,7 @@ linewidth=-1.0;
        }
 %\translator { \StaffContext \consists "Instrument_name_engraver"; }
 %\translator { \PianoStaffContext \consists "Instrument_name_engraver"; }
-\translator { \StaffContext \consists "New_staff_margin_engraver"; }
-\translator { \PianoStaffContext \consists "New_staff_margin_engraver"; }
+\translator { \StaffContext \consists "Instrument_name_engraver"; }
+\translator { \PianoStaffContext \consists "Instrument_name_engraver"; }
 }}
 
index bacc0ab2b4e1c1f33e98178daafb44f09a3c228b..2930e6ca218d06cb6c465203fc753d6e62b9142b 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "HWN, chords by Johan Vromans";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 melodie = \notes\relative c'' {
         \clef "violin";
index a59b7d52ead6fea21c869e7c6cc0a63d2b014125..af10d1800c9ffd68f3543c356af6f4ac0717b196 100644 (file)
@@ -20,7 +20,7 @@ Tested Features: lyrics, interleaving lyrics and staffs, repeats,
        auto beaming, adding lyrics to notes, hyphens
 %}
 
-\version "1.3.4";
+\version "1.3.42";
 
 melody = \notes \relative c'' {
        \clef violin;
index 5da70fe929da72be8d6637c603c72b1ec9de48c0..a674757cbe542aea56c4035dd3ad80c9e700091b 100644 (file)
@@ -77,7 +77,8 @@ Axis_group_engraver::process_acknowledged ()
     {
       Score_element *par = elts_[i]->parent_l (Y_AXIS);
 
-      if (!par || !Axis_group_interface (par).has_interface_b ())
+      if ((!par || !Axis_group_interface (par).has_interface_b ())
+         && ! elts_[i]->empty_b (Y_AXIS))
        Axis_group_interface (staffline_p_).add_element (elts_[i]);
     }
   elts_.clear ();
index c22bbeedb0e31d5a56437ffd77a10f31c7ba6dda..a9d868a3a94e9f11f05d40e7331d46d131866ceb 100644 (file)
@@ -25,6 +25,8 @@ Axis_group_interface (Score_element*s)
 void
 Axis_group_interface::add_element (Score_element *e)
 {
+
+  // ugh. used_b_ should be junked.
   elt_l_->used_b_ = true;
   e->used_b_ = true;
 
@@ -37,7 +39,6 @@ Axis_group_interface::add_element (Score_element *e)
     }
 
   Group_interface (elt_l_).add_element (e);
-
   elt_l_->add_dependency (e);
 }
 
@@ -106,9 +107,9 @@ Axis_group_interface::set_axes (Axis a1, Axis a2)
   elt_l_->set_elt_property ("axes", ax);
 
   if (a1 != X_AXIS && a2 != X_AXIS)
-    elt_l_->set_empty (X_AXIS);
+    elt_l_->set_extent_callback (0, X_AXIS);
   if (a1 != Y_AXIS && a2 != Y_AXIS)
-    elt_l_->set_empty (Y_AXIS);
+    elt_l_->set_extent_callback (0, Y_AXIS);
   
   elt_l_->dim_cache_[a1]->set_extent_callback (Axis_group_interface::group_extent_callback);
   elt_l_->dim_cache_[a2]->set_extent_callback (Axis_group_interface::group_extent_callback);
@@ -137,7 +138,7 @@ bool
 Axis_group_interface::has_interface_b ()
 {
   SCM memq = scm_memq (ly_symbol2scm ("Axis_group"),
-             elt_l_->get_elt_property ("interfaces"));
+                      elt_l_->get_elt_property ("interfaces"));
   
   return (memq != SCM_BOOL_F);
 }
index 299c5e9b3d073124c3727e4d7ab45e701ead1400..99f65c026ecabd64f111efc1d4efdeed0ca5a658 100644 (file)
@@ -144,7 +144,7 @@ Bar::before_line_breaking ()
   if (!gh_string_p (g))
     {
       set_elt_property ("transparent", SCM_BOOL_T);
-      set_empty (X_AXIS);      
+      set_extent_callback (0, X_AXIS);      
     }
   else
     set_elt_property ("glyph", g);
index 39edb511db4ed6f24c6b9871f49b26d2d09cbd6f..027a08d70f0499b37ee6b50296c2fe31d8260470 100644 (file)
     * less hairy code
     * move paper vars to scm
 
+
+    remove *-hs variables.
+    
 */
 
 
 #include <math.h>              // tanh.
-
 #include "directional-element-interface.hh"
 #include "beaming.hh"
 #include "dimensions.hh"
 #include "staff-symbol-referencer.hh"
 #include "cross-staff.hh"
 
-
 Beam::Beam ()
 {
   Group_interface g (this, "stems");
   g.set_interface ();
+
+  set_elt_property ("height", gh_int2scm (0)); // ugh.
+  set_elt_property ("y-position" ,gh_int2scm (0));
 }
 
 void
@@ -269,7 +273,7 @@ Beam::after_line_breaking ()
 {
   /* first, calculate y, dy */
   Real y, dy;
-  calc_position_and_height (&y, &dy);
+  calc_default_position_and_height (&y, &dy);
   if (visible_stem_count ())
     {
       if (suspect_slope_b (y, dy))
@@ -337,9 +341,10 @@ Beam::after_line_breaking ()
   See Documentation/tex/fonts.doc
  */
 void
-Beam::calc_position_and_height (Real* y, Real* dy) const
+Beam::calc_default_position_and_height (Real* y, Real* dy) const
 {
-  *y = *dy = 0;
+  *y = 0;
+  *dy = 0;  
   if (visible_stem_count () <= 1)
     return;
 
index 84a57b811a00cf49d4bebfc03f9ea54800d1412c..3337bff317a95f570e15a14b6314022e3f34377f 100644 (file)
 #include "cpu-timer.hh"
 #include "command-request.hh"
 #include "simple-spacer.hh"
-
-
-
+#include "group-interface.hh"
 
 
 Array<int>
 Break_algorithm::find_break_indices () const
 {
-  Link_array<Paper_column> all (pscore_l_->col_l_arr_);
+  Link_array<Paper_column> all = pscore_l_->line_l_->column_l_arr ();
+  
+                                        
   Array<int> retval;
 
   for (int i=0; i < all.size (); i++)
@@ -42,7 +42,8 @@ Break_algorithm::find_break_indices () const
 Link_array<Paper_column>
 Break_algorithm::find_breaks () const
 {
-  Link_array<Paper_column> all (pscore_l_->col_l_arr_);
+  Link_array<Paper_column> all = pscore_l_->line_l_->column_l_arr ();
+    
   Link_array<Paper_column> retval;
 
   for (int i=0; i < all.size (); i++)
@@ -94,22 +95,6 @@ Break_algorithm::set_pscore (Paper_score*s)
 {
   pscore_l_ = s;
   linewidth_f_ = s->paper_l_->get_var("linewidth");
-  do_set_pscore ();
-}
-
-
-
-void
-Break_algorithm::problem_OK () const
-{
-  if (pscore_l_->col_l_arr_.empty ())
-    error (_("score does not have any columns"));
-  OK ();
-}
-
-void
-Break_algorithm::OK () const
-{
 }
 
 Array<Column_x_positions>
@@ -120,8 +105,3 @@ Break_algorithm::solve () const
   return h;
 }
 
-void
-Break_algorithm::do_set_pscore ()
-{
-
-}
index a7c9661293e0217f613360c72ec8096ac3343d8b..af14a41828c35d82ab9509bc4b608b1ec8e6d5fa 100644 (file)
@@ -6,7 +6,7 @@
   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
 
-#include <ctype.h>
+
 #include "clef-item.hh"
 #include "string.hh"
 #include "molecule.hh"
@@ -17,6 +17,7 @@
 #include "dimension-cache.hh"
 #include "side-position-interface.hh"
 #include "warn.hh"
+#include "line-of-score.hh"
 
 void
 Clef_item::before_line_breaking ()
@@ -46,7 +47,7 @@ Clef_item::before_line_breaking ()
   if (style == "transparent")  // UGH. JUNKME
     {
       set_elt_property ("transparent", SCM_BOOL_T);
-      set_empty (X_AXIS);
+      set_extent_callback (0, X_AXIS);
     }
 }
 
@@ -65,7 +66,7 @@ Clef_item::do_add_processing ()
          Side_position_interface spi (g);
          spi.set_axis (Y_AXIS);
          
-         pscore_l_->typeset_element (g);
+         pscore_l_->line_l_->typeset_element (g);
       
          spi.add_support (this);
          g->set_elt_property ("text", ly_str02scm ( "8"));
index 7846e2d36769d29204309e970d07b1d6c1054d48..5fa59bdd50ea3f5384c90556d9e1639b70148cf3 100644 (file)
@@ -25,8 +25,8 @@ Dots::after_line_breaking ()
   if (!gh_number_p (d) || !gh_scm2int (d))
     {
       set_elt_property ("transparent", SCM_BOOL_T);
-      set_empty (X_AXIS);
-      set_empty (Y_AXIS);
+      set_extent_callback (0, X_AXIS);
+      set_extent_callback (0, Y_AXIS);
     }
   else
     {
index beb260f3f5eb1cba2658cb0a7222a4d5223d3f6f..0425c8a118cdc97c3d56b0c11a9f79a53775932a 100644 (file)
@@ -14,8 +14,7 @@
 #include "paper-score.hh"
 #include "paper-def.hh"
 #include "simple-spacer.hh"
-
-#include "killing-cons.tcc"
+#include "line-of-score.hh"
 
 /// How often to print operator pacification marks?
 const int HAPPY_DOTS_I = 3;
@@ -47,12 +46,17 @@ struct Break_node {
 
 /**
   This algorithms is adapted from the OSU Tech report on breaking lines.
+
+  this function is longish, but not very complicated.
+  
  */
 Array<Column_x_positions>
 Gourlay_breaking::do_solve () const
 {
   Array<Break_node> optimal_paths;
-  Link_array<Paper_column> all = pscore_l_->col_l_arr_ ;
+  Link_array<Paper_column> all =
+    pscore_l_->line_l_->column_l_arr ();
+  
   Array<int> breaks = find_break_indices ();
   
   optimal_paths.set_size (breaks.size ());
@@ -163,14 +167,8 @@ Gourlay_breaking::do_solve () const
 Gourlay_breaking::Gourlay_breaking ()
 {
   energy_bound_f_ = infinity_f;
-  max_measures_i_ = INT_MAX;
 }
 
-void
-Gourlay_breaking::do_set_pscore ()
-{
-  max_measures_i_ =int (rint (pscore_l_->paper_l_->get_var ("gourlay_maxmeasures")));
-}
 
 
 /*
index 9f09ea2d90efc8ee2f035a40a68cc10a44bb50b2..12d5093c079185a83059eb16c3d325b3d9824071 100644 (file)
@@ -42,12 +42,12 @@ Hara_kiri_group_spanner::after_line_breaking ()
       if ( line_l () != s->line_l ())
        programming_error ("Killing other children too");
       s->set_elt_property ("transparent", SCM_BOOL_T);
-      s->set_empty (X_AXIS);
-      s->set_empty (Y_AXIS);
+      s->set_extent_callback (0, X_AXIS);
+      s->set_extent_callback (0, Y_AXIS);
 
     }
-  set_empty (X_AXIS);
-  set_empty (Y_AXIS);  
+  set_extent_callback (0, X_AXIS);
+  set_extent_callback (0, Y_AXIS);  
 }
 
 
index 8b6791933e6ff291bab880e691845806bd3c3800..5b6f8d4d8a63740ddb276c74e155cb2b39da38dd 100644 (file)
 
 class Audio_column : public Audio_element  { 
 public:
-    Audio_column (Moment at_mom);
+  Audio_column (Moment at_mom);
 
-    void add_audio_item (Audio_item* i_l);
-    Moment at_mom() const;
-    void print() const;
+  void add_audio_item (Audio_item* i_l);
+  Moment at_mom() const;
+  void print() const;
 
-    Link_array<Audio_item> audio_item_l_arr_;
-    Performance * performance_l_;
+  Link_array<Audio_item> audio_item_l_arr_;
+  Performance * performance_l_;
 
 private:
-    Audio_column (Audio_column const&);
+  Audio_column (Audio_column const&);
 
-    Moment at_mom_;
+  Moment at_mom_;
 };
 
 
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..09c7cfafd0cb2ee13152e399db7d99198272b2fd 100644 (file)
@@ -0,0 +1 @@
+#error
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..65296f81060baccd891380179b283fc7515acef0 100644 (file)
@@ -0,0 +1,2 @@
+
+#error
index 54f6d04bdcb86fcf31c9ea38694a00297ae209a6..768d07aaa75c311e71c229467b122fe6a115f417 100644 (file)
@@ -56,7 +56,7 @@ private:
   void auto_knees ();
   bool auto_knee (String gap_str, bool interstaff_b);
   void set_stem_shorten ();
-  void calc_position_and_height (Real* y, Real* dy) const;
+  void calc_default_position_and_height (Real* y, Real* dy) const;
   bool suspect_slope_b (Real y, Real dy) const;
   Real calc_slope_damping_f (Real dy) const;
   Real calc_stem_y_f (Stem* s, Real y, Real dy) const;
index 99bba1a2c5ba0de0c0d1210fb05c9bbdeff332b0..00da3940ce7a0df67eb45a3007e8fde4723e0b86 100644 (file)
@@ -44,16 +44,12 @@ protected:
   Simple_spacer* generate_spacing_problem (Link_array<Paper_column>, Interval) const;
 
   virtual Array<Column_x_positions> do_solve() const=0;
-  virtual void do_set_pscore();
 
 public:
   Simple_spacer* (*get_line_spacer)();
   Break_algorithm();
   void set_pscore (Paper_score*);
 
-  /// check if the spacing/breaking problem is well-stated
-  void problem_OK() const;
-  void OK() const;
   Array<Column_x_positions> solve() const;
 };
 
index 9f002950767651d0843a569522366ab262c33126..6baa4780d7f9c214c46fe8c7a17b245ea62308c1 100644 (file)
@@ -19,9 +19,6 @@ struct Gourlay_breaking : public Break_algorithm
 {
   Real energy_bound_f_ ;
     
-    /// maximum number of measures in a line
-  int max_measures_i_;
-  void do_set_pscore();
   Array<Column_x_positions> do_solve() const;
   Gourlay_breaking();
   Real combine_demerits (Column_x_positions const&,Column_x_positions const&) const;
index f9031a2f5097789b12d68e99f579405aa26a1d54..1e81b087f96b8384908afcef52e16dcac2d645f7 100644 (file)
@@ -7,6 +7,7 @@
 #ifndef SCORELINE_HH
 #define SCORELINE_HH
 
+#include "protected-scm.hh" 
 #include "column-x-positions.hh"
 #include "spanner.hh"
 
@@ -30,7 +31,8 @@ public:
   void output_all ();
 
   int rank_i_;
-  
+
+  Protected_scm output_;
   Line_of_score();
     
   /// is #c# contained in #*this#?
@@ -39,10 +41,18 @@ public:
   static int compare (Line_of_score* const &,Line_of_score* const &);
 
   void break_into_pieces (Array<Column_x_positions> const&);
-  void output_lines ();
-  void output_line (bool last_line);
-  void add_column (Paper_column*);
+
+  SCM output_lines ();
+
+
+  Link_array<Item> broken_col_range (Item const*, Item const*) const;
+  Link_array<Paper_column> column_l_arr () const;
   
+  void add_column (Paper_column*);
+  void typeset_element (Score_element*);
+  void output_molecule (SCM, Offset);
+  void output_scheme (SCM);
+  void pre_processing ();
 protected:
   VIRTUAL_COPY_CONS(Score_element);
 };
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8b137891791fe96927ad78e64b0aad7bded08bdc 100644 (file)
@@ -0,0 +1 @@
+
index e0510bc7f8c6070b99d0a0a44fb45bc2565d0f6c..796781a2b232ac096aad21531d5c092409f90ea3 100644 (file)
@@ -31,6 +31,11 @@ class Paper_column : public Item
 { 
 public:
   VIRTUAL_COPY_CONS(Score_element);
+
+  /*
+    ugh.
+   */
+  
   Drul_array<Array<Column_rod> > minimal_dists_arr_drul_;
   Drul_array<Array<Column_spring> > spring_arr_drul_;
 
@@ -41,11 +46,9 @@ public:
   virtual Paper_column * column_l () const;
   virtual Line_of_score *line_l () const;
 
-
   /// if lines are broken then this column is in #line#
   Line_of_score *line_l_;
 
-
   /// which  one (left =0)
   int rank_i() const;
 
@@ -65,10 +68,6 @@ private:
   int rank_i_;
 
 };
-
-
-// #include "compare.hh"
-// INSTANTIATE_COMPARE(Paper_column &, Paper_column::compare);
      
 #endif // P_COL_HH
 
index 3a1d343c2772229d486e4bc0e032e2e874f6f91d..73ad6aecf0ea1849737b8436a382db2ad2398700 100644 (file)
 #include "lily-guile.hh"
 #include "protected-scm.hh"
 
-// huh?
-#ifdef __powerpc__
-#include "protected-scm.hh"
-#endif
-
 /**
   Abstract interface for a Score_element to output itself.
  */
@@ -40,13 +35,8 @@ public:
   void output_font_def (int i, String str);
   void output_font_switch (int i);
   void output_header ();
-  void output_molecule (SCM expr, Offset, char const *);
   void output_comment (String s);
   void output_scheme (SCM scm);
-
-  void start_line (Real height);
-  void stop_line ();
-  void stop_last_line ();
 };
 
 #endif // PAPER_OUTPUTTER_HH
index e6d757fcfbebce8e7833e9e0bfd34a1c92a44b6f..bca0642c61434a4c111c93d0a2768710f7ccc5ae 100644 (file)
@@ -15,6 +15,7 @@
 #include "lily-proto.hh"
 #include "music-output.hh"
 #include "lily-guile.hh"
+#include "protected-scm.hh"
 
 /** all stuff which goes onto paper. notes, signs, symbols in a score
      #Paper_score# contains the items, the columns.
@@ -27,23 +28,11 @@ class Paper_score : public Music_output
 public:
   Paper_def *paper_l_;
 
-  /// the columns, ordered left to right
-  /*
-    UGH. MOVE INTO LINE_OF_SCORE ?!
-   */
-  Link_array<Paper_column> col_l_arr_;
-
   Paper_outputter *outputter_l_;  
   Line_of_score * line_l_;
   
   Paper_score ();
 
-  void fixup_refpoints ();
-
-
-  /// add to bottom of pcols
-  void add_column (Paper_column*);
-
   /**
     @return index of argument.
     */
@@ -52,16 +41,8 @@ public:
   Link_array<Item> broken_col_range (Item const*,Item const*) const;
     
     
-  /* STANDARD ROUTINES */
-  void print() const;
-  
-  void typeset_element (Score_element*);
-  void typeset_broken_spanner (Spanner*);
-  /// add a Spanner
-  void typeset_unbroken_spanner (Spanner*);
-  
+  void typeset_line (Line_of_score*);
     
-  virtual ~Paper_score();
 protected:
     /* MAIN ROUTINES */
   virtual void process();
@@ -69,7 +50,6 @@ protected:
 private:
   /// before calc_breaking
   void preprocess();
-
   void calc_idealspacing();
   /// calculate where the lines are to be broken, and use results
   Array<Column_x_positions> calc_breaking();
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..09c7cfafd0cb2ee13152e399db7d99198272b2fd 100644 (file)
@@ -0,0 +1 @@
+#error
index bb34f17efe4692791d876b907e5c95def2ee2a74..2435085d57cc27e1fae565d887f84c5c6a9743e8 100644 (file)
 
 #include "item.hh"
 
-/*
-  Why don't I have a 
-  VIRTUAL_COPY_CONS (Score_element);
-  see also note-head, rest.
-  ?
-*/
 
 class Rhythmic_head : public Item
 {
index f1818787357d269bb82003ab37f08a720ebb28e0..768152545e7e6fb88dbfc43c7db7fc1a86e1772f 100644 (file)
@@ -151,6 +151,10 @@ public:
 
   /// do calculations before determining horizontal spacing
   virtual void before_line_breaking ();
+  /// do calculations after determining horizontal spacing
+  virtual void after_line_breaking ();
+  virtual void output_processing ();
+  
 
   static Interval preset_extent (Dimension_cache const*);
   static Interval molecule_extent (Dimension_cache const*);
@@ -162,8 +166,6 @@ protected:
     be handled by GUILE gc.  */
   virtual ~Score_element ();
   
-  virtual void output_processing ();
-  
   /// do printing of derived info.
   virtual void do_print () const;
   /// generate the molecule    
@@ -171,14 +173,13 @@ protected:
   ///executed directly after the item is added to the Paper_score
   virtual void do_add_processing ();
 
-  /// do calculations after determining horizontal spacing
-  virtual void after_line_breaking ();
     
   static Interval dim_cache_callback (Dimension_cache const*);
+  
 public:
   static SCM ly_set_elt_property (SCM, SCM,SCM);
   static SCM ly_get_elt_property (SCM, SCM);  
-  
+
   virtual void handle_broken_dependencies ();
   virtual void handle_prebroken_dependencies ();
 
@@ -200,6 +201,7 @@ public:
   char const * name () const;
   /**
      Set empty in direction A.
+     JUNKME
    */
   void set_empty (Axis a);
   bool empty_b (Axis a) const;
@@ -221,6 +223,8 @@ public:
 
   bool has_offset_callback_b (Offset_cache_callback, Axis)const;
   void add_offset_callback (Offset_cache_callback, Axis);
+  void set_extent_callback (Dim_cache_callback , Axis);
+  
   /**
      Set the  parent refpoint of THIS to E
    */
index 0458144c3513ced1cc671d0b7526889ae7eccf20..1f7950658cc49cd7189e752c99d02fb8de26a6b8 100644 (file)
@@ -13,6 +13,7 @@
 #include "paper-column.hh"
 #include "spanner.hh"
 #include "lily-guile.hh"
+#include "line-of-score.hh"
 
 Item::Item ()
 {
@@ -57,7 +58,7 @@ Item::copy_breakable_items()
     {
       Score_element * dolly = clone();
       Item * item_p = dynamic_cast<Item*>(dolly);
-      pscore_l_->typeset_element (item_p);
+      pscore_l_->line_l_->typeset_element (item_p);
       new_copies[i] =item_p;
     }
   while (flip(&i) != LEFT);
@@ -84,8 +85,8 @@ Item::try_visibility_lambda ()
 
       if (empty)
        {
-         set_empty (X_AXIS);
-         set_empty ( Y_AXIS);
+         set_extent_callback (0, X_AXIS);
+         set_extent_callback (0,  Y_AXIS);
        }
       if (trans)
        set_elt_property ("transparent", SCM_BOOL_T);
index 23692d60d74c93cc9041d9c20594094494ad5cf6..1f75b5d39be343abb967de051c805834056c70cc 100644 (file)
@@ -25,6 +25,7 @@
 #include <stdio.h>
 #include <ctype.h>
 
+#include "notename-table.hh"
 #include "lily-guile.hh"
 #include "string.hh"
 #include "string-convert.hh"
index 4d8f3b74290d2a3ade1d4694fcea5fc9394c3ae3..b87c716dd086aaa5a41ff215da1ebb28e5377943 100644 (file)
 #include "paper-score.hh"
 #include "string.hh"
 #include "warn.hh"
-
+#include "dimensions.hh"
 
 Line_of_score::Line_of_score()
 {
   set_elt_property ("columns", SCM_EOL);
+  set_elt_property ("all-elements", SCM_EOL);
+
   Axis_group_interface (this).set_interface ();
   Axis_group_interface (this).set_axes (Y_AXIS,X_AXIS);
 }
 
 
-
 void
+Line_of_score::typeset_element (Score_element * elem_p)
+{
+  elem_p->pscore_l_ = pscore_l_;
+  Group_interface (this, "all-elements").add_element (elem_p);
+  scm_unprotect_object (elem_p->self_scm_);
+}
+
+SCM
 Line_of_score::output_lines ()
 {
+  for (SCM s = get_elt_property ("all-elements");
+       gh_pair_p (s); s = gh_cdr (s))
+    {
+      unsmob_element (gh_car (s))->do_break_processing ();
+    }
+
+  for (SCM s = get_elt_property ("all-elements");
+       gh_pair_p (s); s = gh_cdr (s))
+    {
+      unsmob_element (gh_car (s))->handle_broken_dependencies ();
+    }
+  handle_broken_dependencies ();
+  
   for (int i=0; i < broken_into_l_arr_.size (); i++)
     {
       Line_of_score *line_l = dynamic_cast<Line_of_score*> (broken_into_l_arr_[i]);
@@ -37,9 +59,16 @@ Line_of_score::output_lines ()
       progress_indication ("[");
       line_l->post_processing ();
       progress_indication (to_str (i));
-      line_l->output_line (i + 1 == broken_into_l_arr_.size ());
       progress_indication ("]");
     }
+
+  SCM list = SCM_EOL; 
+  for (int i=broken_into_l_arr_.size (); i--;)
+    {
+      Line_of_score * l =  dynamic_cast<Line_of_score*> (broken_into_l_arr_[i]);
+      list = gh_cons (gh_cdr (l->output_), list);
+    }
+  return list;
 }
 
 // const?
@@ -51,7 +80,8 @@ Line_of_score::break_into_pieces (Array<Column_x_positions> const &breaking)
       Line_of_score *line_l = dynamic_cast <Line_of_score*> (clone());
       line_l->rank_i_ = i;
       Link_array<Paper_column> c (breaking[i].cols_);
-      pscore_l_->typeset_element (line_l);
+      pscore_l_->typeset_line (line_l);
+      
       line_l->set_bound(LEFT,c[0]);
       line_l->set_bound(RIGHT,c.top ());
       for (int j=0; j < c.size(); j++)
@@ -64,30 +94,66 @@ Line_of_score::break_into_pieces (Array<Column_x_positions> const &breaking)
     }
 }
 
+
 void
-Line_of_score::add_column (Paper_column*p)
+Line_of_score::output_molecule (SCM expr, Offset o)
 {
-  set_elt_property ("columns",
-                   gh_cons (p->self_scm_, get_elt_property ("columns")));
-  Axis_group_interface (this).add_element (p);
+  SCM offset_sym = ly_symbol2scm ("translate-molecule");
+  SCM combine_sym = ly_symbol2scm ("combine-molecule");
+enter:
+
+  if (!gh_pair_p (expr))
+    return;
+  
+  SCM head =gh_car (expr);
+  if (head == offset_sym)
+    {
+      o += ly_scm2offset (gh_cadr (expr));
+      expr = gh_caddr (expr);
+      goto enter;
+    }
+  else if (head == combine_sym)
+    {
+      output_molecule (gh_cadr (expr), o);
+      expr = gh_caddr (expr);
+      goto enter;              // tail recursion
+    }
+  else
+    {
+      output_scheme (gh_list (ly_symbol2scm ("placebox"),
+                             gh_double2scm (o[X_AXIS]),
+                             gh_double2scm (o[Y_AXIS]),
+                             expr,
+                             SCM_UNDEFINED));
+    }
 }
 
+void
+Line_of_score::output_scheme (SCM s)
+{
+  gh_set_cdr_x (output_, gh_cons (s, gh_cdr (output_)));
+}
 
 void
-Line_of_score::output_line (bool last_line)
+Line_of_score::add_column (Paper_column*p)
 {
-  Interval i(extent(Y_AXIS));
-  if (i.empty_b())
-    programming_error ("Huh?  Empty Line_of_score?");
-  else
-    translate_axis (- i[MAX], Y_AXIS);
-  
-  pscore_l_->outputter_l_->start_line (i.length ());
-  output_all ();
-  if (last_line)
-    pscore_l_->outputter_l_->stop_last_line();
-  else
-    pscore_l_->outputter_l_->stop_line ();
+  SCM cs = get_elt_property ("columns");
+  Score_element * prev =  gh_pair_p (cs) ? unsmob_element (gh_car (cs)) : 0;
+  int rank = prev ? dynamic_cast<Paper_column*> (prev)->rank_i () + 1 : 0; 
+
+  p->set_rank (rank);
+  set_elt_property ("columns",  gh_cons (p->self_scm_, cs));
+
+  Axis_group_interface (this).add_element (p);
+  typeset_element (p);
+}
+
+Link_array<Paper_column>
+Line_of_score::column_l_arr ()const
+{
+  return Group_interface__extract_elements (this,
+                                           (Paper_column*) 0, "columns");
+
 }
 
 int
@@ -96,10 +162,75 @@ Line_of_score::compare (Line_of_score* const &p1,Line_of_score* const &p2)
   return p1->rank_i_ - p2->rank_i_;
 }
 
+
+void
+fixup_refpoints (SCM s)
+{
+  for (; gh_pair_p (s); s = gh_cdr (s))
+    {
+      Score_element * se = unsmob_element (gh_car (s));
+      if (se)
+       {
+         se->fixup_refpoint ();
+         if (!dynamic_cast<Line_of_score*> (se) && !se->parent_l (Y_AXIS))
+           {
+             programming_error ("No parent!");
+           }
+       }
+    }
+}
+
+
+void
+Line_of_score::pre_processing ()
+{
+  for (SCM s = get_elt_property ("all-elements"); gh_pair_p (s); s = gh_cdr (s))
+    unsmob_element (gh_car (s))->do_breakable_col_processing ();
+  
+  fixup_refpoints (get_elt_property ("all-elements"));
+  
+  for (SCM s = get_elt_property ("all-elements"); gh_pair_p (s); s = gh_cdr (s))
+    {
+      Score_element* sc = unsmob_element (gh_car (s));
+      sc->calculate_dependencies (PRECALCED, PRECALCING, &Score_element::before_line_breaking);
+    }
+  
+  progress_indication ("\n" + _ ("Calculating column positions...") + " " );
+  for (SCM s = get_elt_property ("all-elements"); gh_pair_p (s); s = gh_cdr (s))
+    unsmob_element (gh_car (s))->do_space_processing ();
+}
+
 void
 Line_of_score::post_processing ()
 {
-  calculate_dependencies (POSTCALCED, POSTCALCING, &Score_element::after_line_breaking);
+  fixup_refpoints (get_elt_property ("all-elements"));
+  for (SCM s = get_elt_property ("all-elements");
+       gh_pair_p (s); s = gh_cdr (s))
+    {
+      Score_element* sc = unsmob_element (gh_car (s));
+      sc->calculate_dependencies (POSTCALCED, POSTCALCING, &Score_element::after_line_breaking);
+    }
+
+  Interval i(extent(Y_AXIS));
+  if (i.empty_b())
+    programming_error ("Huh?  Empty Line_of_score?");
+  else
+    translate_axis (- i[MAX], Y_AXIS);
+
+  Real height = i.length ();
+  if (height > 50 CM)
+    {
+      programming_error ("Improbable system height");
+      height = 50 CM;
+    }
+
+  output_ = gh_cons (SCM_EOL, SCM_EOL);
+  output_scheme (gh_list (ly_symbol2scm ("stop-line"), SCM_UNDEFINED));
+  for (SCM s = get_elt_property ("all-elements"); gh_pair_p (s); s = gh_cdr (s))
+    unsmob_element (gh_car (s))->output_processing ();
+  output_scheme (gh_list (ly_symbol2scm ("start-line"),
+                         gh_double2scm (height),
+                         SCM_UNDEFINED));
 }
 
 void
@@ -108,6 +239,34 @@ Line_of_score::output_all ()
   calculate_dependencies (BREWED, BREWING, &Score_element::output_processing);
 }
 
+Link_array<Item> 
+Line_of_score::broken_col_range (Item const*l, Item const*r) const
+{
+  Link_array<Item> ret;
+
+  l = l->column_l ();
+  r = r->column_l ();
+  SCM s = get_elt_property ("columns");
+
+  while (gh_car (s) != r->self_scm_)
+    s = gh_cdr  (s);
+    
+
+  s = gh_cdr (s);
+  
+  while (gh_car (s) != l->self_scm_)
+    {
+      Paper_column *c
+       = dynamic_cast<Paper_column*> (unsmob_element (gh_car (s)));
+      if (c->breakable_b () && !c->line_l_)
+       ret.push (c);
+
+      s = gh_cdr  (s);
+    }
+
+  ret.reverse ();
+  return ret;
+}
 
 
 
index 166af27043c12223fa57c58a0d667fe424853e7a..8be036fa7805a66e99fe1f24b4a1fea3f09c343f 100644 (file)
@@ -365,11 +365,11 @@ Lookup::accordion (SCM s, Real staff_space) const
 
   if (sym == "Discant")
     {
-      Molecule r = afm_find("accordion-accDiscant");
+      Molecule r = afm_find("scripts-accDiscant");
       m.add_molecule(r);
       if (reg.left_str(1) == "F")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 2.5 PT, Y_AXIS);
          m.add_molecule(d);
          reg = reg.right_str(reg.length_i()-1);
@@ -397,27 +397,27 @@ Lookup::accordion (SCM s, Real staff_space) const
        }
       if (eflag & 0x02)
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 1.5 PT, Y_AXIS);
          m.add_molecule(d);
        }
       if (eflag & 0x04)
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 1.5 PT, Y_AXIS);
          d.translate_axis(0.8 * staff_space PT, X_AXIS);
          m.add_molecule(d);
        }
       if (eflag & 0x01)
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 1.5 PT, Y_AXIS);
          d.translate_axis(-0.8 * staff_space PT, X_AXIS);
          m.add_molecule(d);
        }
       if (reg.left_str(2) == "SS")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(0.5 * staff_space PT, Y_AXIS);
          d.translate_axis(0.4 * staff_space PT, X_AXIS);
          m.add_molecule(d);
@@ -427,7 +427,7 @@ Lookup::accordion (SCM s, Real staff_space) const
        }
       if (reg.left_str(1) == "S")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(0.5 * staff_space PT, Y_AXIS);
          m.add_molecule(d);
          reg = reg.right_str(reg.length_i()-1);
@@ -435,29 +435,29 @@ Lookup::accordion (SCM s, Real staff_space) const
     }
   else if (sym == "Freebase")
     {
-      Molecule r = afm_find("accordion-accFreebase");
+      Molecule r = afm_find("scripts-accFreebase");
       m.add_molecule(r);
       if (reg.left_str(1) == "F")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 1.5 PT, Y_AXIS);
          m.add_molecule(d);
          reg = reg.right_str(reg.length_i()-1);
        }
       if (reg == "E")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 0.5 PT, Y_AXIS);
          m.add_molecule(d);
        }
     }
   else if (sym == "Bayanbase")
     {
-      Molecule r = afm_find("accordion-accBayanbase");
+      Molecule r = afm_find("scripts-accBayanbase");
       m.add_molecule(r);
       if (reg.left_str(1) == "T")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 2.5 PT, Y_AXIS);
          m.add_molecule(d);
          reg = reg.right_str(reg.length_i()-1);
@@ -465,14 +465,14 @@ Lookup::accordion (SCM s, Real staff_space) const
       /* include 4' reed just for completeness. You don't want to use this. */
       if (reg.left_str(1) == "F")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 1.5 PT, Y_AXIS);
          m.add_molecule(d);
          reg = reg.right_str(reg.length_i()-1);
        }
       if (reg.left_str(2) == "EE")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 0.5 PT, Y_AXIS);
          d.translate_axis(0.4 * staff_space PT, X_AXIS);
          m.add_molecule(d);
@@ -482,7 +482,7 @@ Lookup::accordion (SCM s, Real staff_space) const
        }
       if (reg.left_str(1) == "E")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 0.5 PT, Y_AXIS);
          m.add_molecule(d);
          reg = reg.right_str(reg.length_i()-1);
@@ -490,25 +490,25 @@ Lookup::accordion (SCM s, Real staff_space) const
     }
   else if (sym == "Stdbase")
     {
-      Molecule r = afm_find("accordion-accStdbase");
+      Molecule r = afm_find("scripts-accStdbase");
       m.add_molecule(r);
       if (reg.left_str(1) == "T")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 3.5 PT, Y_AXIS);
          m.add_molecule(d);
          reg = reg.right_str(reg.length_i()-1);
        }
       if (reg.left_str(1) == "F")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 2.5 PT, Y_AXIS);
          m.add_molecule(d);
          reg = reg.right_str(reg.length_i()-1);
        }
       if (reg.left_str(1) == "M")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 2 PT, Y_AXIS);
          d.translate_axis(staff_space PT, X_AXIS);
          m.add_molecule(d);
@@ -516,14 +516,14 @@ Lookup::accordion (SCM s, Real staff_space) const
        }
       if (reg.left_str(1) == "E")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 1.5 PT, Y_AXIS);
          m.add_molecule(d);
          reg = reg.right_str(reg.length_i()-1);
        }
       if (reg.left_str(1) == "S")
        {
-         Molecule d = afm_find("accordion-accDot");
+         Molecule d = afm_find("scripts-accDot");
          d.translate_axis(staff_space * 0.5 PT, Y_AXIS);
          m.add_molecule(d);
          reg = reg.right_str(reg.length_i()-1);
@@ -533,22 +533,22 @@ Lookup::accordion (SCM s, Real staff_space) const
      for the rectangle */
   else if (sym == "SB")
     {
-      Molecule r = afm_find("accordion-accSB");
+      Molecule r = afm_find("scripts-accSB");
       m.add_molecule(r);
     }
   else if (sym == "BB")
     {
-      Molecule r = afm_find("accordion-accBB");
+      Molecule r = afm_find("scripts-accBB");
       m.add_molecule(r);
     }
   else if (sym == "OldEE")
     {
-      Molecule r = afm_find("accordion-accOldEE");
+      Molecule r = afm_find("scripts-accOldEE");
       m.add_molecule(r);
     }
   else if (sym == "OldEES")
     {
-      Molecule r = afm_find("accordion-accOldEES");
+      Molecule r = afm_find("scripts-accOldEES");
       m.add_molecule(r);
     }
   return m;  
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8b137891791fe96927ad78e64b0aad7bded08bdc 100644 (file)
@@ -0,0 +1 @@
+
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8b137891791fe96927ad78e64b0aad7bded08bdc 100644 (file)
@@ -0,0 +1 @@
+
index 584347bae9318192f19b171c8a1d51f059f2c645..1d5ee856a146145126139434ce169658dac2ba5f 100644 (file)
 #include "lily-version.hh"
 
 
+/*
+  Ugh, this is messy.
+ */
+
 Paper_outputter::Paper_outputter ()
 {
   molecules_ = gh_cons (SCM_EOL, SCM_EOL);
@@ -75,46 +79,7 @@ Paper_outputter::output_header ()
   output_scheme (scm);
 }
 
-void
-Paper_outputter::output_molecule (SCM expr, Offset o, char const *nm)
-{
-#if 0
-  if (flower_dstream)
-    {
-      output_comment (nm);
-    }
-#endif
-  
-  SCM offset_sym = ly_symbol2scm ("translate-molecule");
-  SCM combine_sym = ly_symbol2scm ("combine-molecule");
-enter:
-
-  if (!gh_pair_p (expr))
-    return;
-  
-  SCM head =gh_car (expr);
-  if (head == offset_sym)
-    {
-      o += ly_scm2offset (gh_cadr (expr));
-      expr = gh_caddr (expr);
-      goto enter;
-    }
-  else if (head == combine_sym)
-    {
-      output_molecule (gh_cadr (expr), o, nm);
-      expr = gh_caddr (expr);
-      goto enter;              // tail recursion
-    }
-  else
-    {
-      output_scheme (gh_list (ly_symbol2scm ("placebox"),
-                             gh_double2scm (o[X_AXIS]),
-                             gh_double2scm (o[Y_AXIS]),
-                             expr,
-                             SCM_UNDEFINED));
 
-    }
-}
 
 void
 Paper_outputter::output_comment (String str)
@@ -251,19 +216,7 @@ Paper_outputter::output_version ()
   output_String_def ( "LilyPondVersion", version_str ());
 }
 
-void
-Paper_outputter::start_line (Real height)
-{
-  if (height > 50 CM)
-    {
-      programming_error ("Improbable system height");
-      height = 50 CM;
-    }
-  SCM scm = gh_list (ly_symbol2scm ("start-line"),
-                    gh_double2scm (height),
-                    SCM_UNDEFINED);
-  output_scheme (scm);
-}
+
 
 void
 Paper_outputter::output_font_def (int i, String str)
@@ -316,20 +269,5 @@ Paper_outputter::output_int_def (String k, int v)
 
 
 
-void
-Paper_outputter::stop_line ()
-{
-  SCM scm = gh_list (ly_symbol2scm ("stop-line"), SCM_UNDEFINED);
-  output_scheme (scm);
-}
-
-void
-Paper_outputter::stop_last_line ()
-{
-  SCM scm = gh_list (ly_symbol2scm ("stop-last-line"), SCM_UNDEFINED);
-  output_scheme (scm);
-  scm = gh_list (ly_symbol2scm ("end-output"), SCM_UNDEFINED);
-  output_scheme (scm);
-}
 
 
index 247b5fecad48cc0d1b4c9cf2231d0e6cf4a2fd26..941cfe71abcbc3d1ee38f12796f1ef98432462f1 100644 (file)
@@ -27,68 +27,22 @@ Paper_score::Paper_score ()
 {
   paper_l_ =0;
   outputter_l_ =0;
-  Line_of_score * line_p = new Line_of_score;
-  line_p->pscore_l_ = this;
-  element_smob_list_ = scm_protect_object (gh_cons (line_p->self_scm_, SCM_EOL));
-  line_l_ = line_p;
-}
-
-Paper_score::Paper_score (Paper_score const &s)
-  : Music_output (s)
-{
-  assert (false);
-}
-
-Paper_score::~Paper_score ()
-{
-  scm_unprotect_object (element_smob_list_);
+  line_l_ = new Line_of_score;
+  element_smob_list_ = SCM_EOL;
+  typeset_line (line_l_);
 }
 
 void
-Paper_score::typeset_element (Score_element * elem_p)
+Paper_score::typeset_line (Line_of_score *l)
 {
-  elem_p->pscore_l_ = this;
-
-  gh_set_cdr_x(element_smob_list_,
-              gh_cons (elem_p->self_scm_, gh_cdr (element_smob_list_)));
-  elem_p->set_elt_property ("full-name",
-                           gh_str02scm((char*)elem_p->name()));
-  
-  scm_unprotect_object (elem_p->self_scm_);
-}
-
-void
-Paper_score::add_column (Paper_column *p)
-{
-  p->set_rank (col_l_arr_.size ());
-  col_l_arr_.push (p);
-  typeset_element(p);
+  line_l_->pscore_l_ = this;
+  element_smob_list_ = gh_cons (l->self_scm_, element_smob_list_);
 }
 
-void
-Paper_score::print () const
-{
-#ifndef NPRINT
-  if (!flower_dstream)
-    return ;
-
-  DEBUG_OUT << "Paper_score { ";
-  DEBUG_OUT << "\n elements: ";
-
-  for (SCM p = gh_cdr (element_smob_list_);
-       p != SCM_EOL;
-       p = gh_cdr(p))
-    gh_display (gh_car (p));
-  DEBUG_OUT << "}\n";
-#endif
-}
-
-int
-Paper_score::find_col_idx (Paper_column const *c) const
+Paper_score::Paper_score (Paper_score const &s)
+  : Music_output (s)
 {
-  Paper_column const *what = c;
-
-  return col_l_arr_.find_i ((Paper_column*)what);
+  assert (false);
 }
 
 Array<Column_x_positions>
@@ -107,45 +61,28 @@ Paper_score::calc_breaking ()
 
 
 
+/*
+  urg. clean me
+ */
 void
 Paper_score::process ()
 {
-  print ();
   progress_indication (_ ("Preprocessing elements...") + " ");
 
-
   /*
     Be sure to set breakability on first & last column.
    */
-  col_l_arr_[0]->set_elt_property ("breakable", SCM_BOOL_T);
-  col_l_arr_.top ()->set_elt_property ("breakable", SCM_BOOL_T);
-
-  for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
-    unsmob_element (gh_car (s))->do_breakable_col_processing ();
-
-  fixup_refpoints ();
-
-  for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
-    {
-      Score_element* sc = unsmob_element (gh_car (s));
-      sc->calculate_dependencies (PRECALCED, PRECALCING, &Score_element::before_line_breaking);
-    }
-
-  progress_indication ("\n" + _ ("Calculating column positions...") + " " );
-  for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
-    unsmob_element (gh_car (s))->do_space_processing ();
+  Link_array<Paper_column> pc (line_l_->column_l_arr ());
+  
+  pc[0]->set_elt_property ("breakable", SCM_BOOL_T);
+  pc.top ()->set_elt_property ("breakable", SCM_BOOL_T);
 
+  line_l_->pre_processing ();
   Array<Column_x_positions> breaking = calc_breaking ();
   line_l_->break_into_pieces (breaking);
 
-  for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
-    {
-      unsmob_element (gh_car (s))->do_break_processing ();
-    }
-  for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
-    {
-      unsmob_element (gh_car (s))->handle_broken_dependencies ();
-    }
+  SCM lines =   line_l_->output_lines ();
   
   outputter_l_ = new Paper_outputter ;
   outputter_l_->output_header ();
@@ -161,38 +98,28 @@ Paper_score::process ()
 
   if (paper_l_->scope_p_)
     outputter_l_->output_scope (paper_l_->scope_p_, "mudelapaper");
-  
-  SCM scm = gh_list (ly_symbol2scm ("experimental-on"), SCM_UNDEFINED);
-  outputter_l_->output_scheme (scm);
+
+  SCM scm;
+  if(experimental_features_global_b)
+    {
+      SCM scm = gh_list (ly_symbol2scm ("experimental-on"), SCM_UNDEFINED);
+      outputter_l_->output_scheme (scm);
+    }
   scm = gh_list (ly_symbol2scm ("header-end"), SCM_UNDEFINED);
   outputter_l_->output_scheme (scm);
+  
+  SCM font_names = ly_quote_scm (all_fonts_global_p->font_descriptions ());  
+  outputter_l_->output_scheme (gh_list (ly_symbol2scm ("define-fonts"),
+                                       font_names,
+                                       SCM_UNDEFINED));
+  
+  for (SCM i = lines ; gh_pair_p (i); i = gh_cdr (i))
+    for (SCM j = gh_car (i) ; gh_pair_p (j); j = gh_cdr (j))
+      outputter_l_->output_scheme (gh_car (j));
 
+  scm = gh_list (ly_symbol2scm ("end-output"), SCM_UNDEFINED);
+  outputter_l_->output_scheme (scm);
 
-  /*
-    This is tricky: we have to put the font definitions before the
-    actual output, but we don't know all fonts in advanced: generating
-    the output might trigger loading of a new font.  So we store the
-    place to insert the font definitions, generate the output and then
-    insert the definitions
-    
-   */
-  SCM before_output = outputter_l_->last_cons_;
-  fixup_refpoints ();
-
-  /*
-    TODO: change this, so that each element ouputs its molecules into
-    its line, and then output all lines one by one; then we can do
-    
-    foreach element: output
-  */
-  line_l_->output_lines ();
-
-  SCM font_names = ly_quote_scm (all_fonts_global_p->font_descriptions ());
-  gh_set_cdr_x (before_output,
-               gh_cons  (gh_list (ly_symbol2scm ("define-fonts"),
-                                  font_names,
-                                  SCM_UNDEFINED),
-                         gh_cdr (before_output)));
   
   Paper_stream* psp = paper_l_->paper_stream_p ();
   outputter_l_->dump_onto (psp);
@@ -201,52 +128,4 @@ Paper_score::process ()
   delete outputter_l_;
   outputter_l_ = 0;
   delete psp;
-  
-}
-
-Link_array<Item>
-Paper_score::broken_col_range (Item const*l, Item const*r) const
-{
-  Link_array<Item> ret;
-
-  l = l->column_l ();
-  r = r->column_l ();
-  
-  int  start = l
-    ? find_col_idx (dynamic_cast<Paper_column*> ((Item*)l))+1
-    : 0;
-
-  int stop = r
-    ? find_col_idx (dynamic_cast<Paper_column*>((Item*)r))
-    : col_l_arr_.size ();
-
-  while (start < stop)
-    {
-      Paper_column *c = col_l_arr_[start];
-      if (c->breakable_b () && !c->line_l_)
-       ret.push (c);
-      start++;
-    }
-
-  return ret;
-}
-
-
-void
-Paper_score::fixup_refpoints ()
-{
-  for (SCM s = element_smob_list_; gh_pair_p (s); s = gh_cdr (s))
-    {
-      SCM e = gh_car (s);
-      if (SMOB_IS_TYPE_B(Score_element, e))
-       {
-         Score_element * se = unsmob_element (e);
-         se->fixup_refpoint ();
-             
-         if (!dynamic_cast<Line_of_score*> (se) && !se->parent_l (Y_AXIS))
-           {
-             programming_error ("No parent!");
-           }
-       }
-    }
 }
diff --git a/lily/piano-pedal-engraver.cc b/lily/piano-pedal-engraver.cc
deleted file mode 100644 (file)
index 6d0327d..0000000
+++ /dev/null
@@ -1,246 +0,0 @@
-/*   
-  piano-pedal-engraver.cc --  implement Piano_pedal_engraver
-  
-  source file of the GNU LilyPond music typesetter
-  
-  (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
-  
- */
-
-#include "engraver.hh"
-#include "musical-request.hh"
-#include "score-element.hh"
-#include "item.hh"
-#include "lookup.hh"
-#include "lily-guile.hh"
-#include "note-head.hh"
-#include "stem.hh"
-#include "side-position-interface.hh"
-#include "staff-symbol-referencer.hh"
-
-
-/*
-  TODO:
-    sostenuto
-    una-chorda / tre-corde
- */
-
-
-/*
-  Urg.
-  This is almost text
-  Problem is:
-    * we have no kerning
-    * symbols are at wrong place in font
-*/
-
-class Sustain_pedal : public Item
-{
-public:
-  VIRTUAL_COPY_CONS (Score_element);
-
-protected:
-  virtual Molecule do_brew_molecule () const;
-  virtual void after_line_breaking ();
-};
-
-void
-Sustain_pedal::after_line_breaking ()
-{
-  Side_position_interface i (this);
-  Direction d =  i.get_direction ();
-  i.set_direction (d);
-}
-
-Molecule
-Sustain_pedal::do_brew_molecule () const
-{
-  Molecule mol;
-  SCM glyph = get_elt_property ("glyph");
-  if (glyph == SCM_UNDEFINED)
-    return mol;
-  String text = ly_scm2string (glyph);
-
-  for (int i = 0; i < text.length_i (); i++)
-    {
-      // leuke koor dump door tiepo, snapnie helemaal:
-      //String idx = ("pedal-") + text[i];
-      // urg, Byte* ??
-      // braak: waarom vindt String het zo moeilijk om
-      // String + char te doen?
-      //String idx = "pedal-" + String (&text.byte_C ()[i], 1);
-      String idx = String ("pedal-") + String (&text.byte_C ()[i], 1);
-      Molecule m = lookup_l ()->afm_find (idx);
-      if (m.empty_b ())
-       continue;
-      Real kern = 0;
-      if (i)
-       {
-         SCM s = scm_eval (gh_list (ly_symbol2scm ("pedal-kerning"),
-                                    ly_str02scm (String (&text.byte_C ()[i - 1], 1).ch_C ()),
-                                    ly_str02scm (String (&text.byte_C ()[i], 1).ch_C ()),
-                                    SCM_UNDEFINED));
-         if (gh_number_p (s))
-           {
-             Staff_symbol_referencer_interface st (this);
-             Real staff_space = st.staff_space ();
-             kern = gh_scm2double (s) * staff_space;
-           }
-       }
-      mol.add_at_edge (X_AXIS, RIGHT, m, kern);
-    }
-    
-  return mol;
-}
-
-/**
-   engrave Piano pedals
- */
-class Piano_pedal_engraver : public Engraver
-{
-public:
-  VIRTUAL_COPY_CONS (Translator);
-  Piano_pedal_engraver ();
-
-protected:
-  virtual bool do_try_music (Music*);
-  virtual void do_process_music ();
-  virtual void do_pre_move_processing ();
-  virtual void do_post_move_processing ();
-  virtual void acknowledge_element (Score_element_info);
-
-private:
-  Span_req* sustain_start_req_l_;
-  Drul_array<Span_req*> sustain_req_l_drul_;
-  Sustain_pedal* sustain_p_;
-};
-
-ADD_THIS_TRANSLATOR(Piano_pedal_engraver);
-
-Piano_pedal_engraver::Piano_pedal_engraver ()
-{
-  sustain_p_ = 0;
-  sustain_req_l_drul_[START] = 0;
-  sustain_req_l_drul_[STOP] = 0;
-  sustain_start_req_l_ = 0;
-}
-
-/*
-  Urg: Code dup
-  I'm a script
- */
-void
-Piano_pedal_engraver::acknowledge_element (Score_element_info i)
-{
-  if (sustain_p_)
-    {
-      if (Note_head* n = dynamic_cast<Note_head*> (i.elem_l_))
-       {
-         Side_position_interface st (sustain_p_);
-         st.add_support (n);
-         if (st.get_axis( ) == X_AXIS
-             && !sustain_p_->parent_l (Y_AXIS))
-           sustain_p_->set_parent (n, Y_AXIS);
-       }
-      if (Stem* s = dynamic_cast<Stem*> (i.elem_l_))
-       {
-         Side_position_interface st (sustain_p_);
-         st.add_support (s);
-       }
-    }
-}
-
-bool
-Piano_pedal_engraver::do_try_music (Music *m)
-{
-  if (Span_req * s = dynamic_cast<Span_req*>(m))
-    {
-      if (s->span_type_str_ == "sustain")
-       {
-         sustain_req_l_drul_[s->span_dir_] = s;
-         return true;
-       }
-    }
-  return false;
-}
-
-void
-Piano_pedal_engraver::do_process_music ()
-{
-  SCM s = SCM_UNDEFINED;
-  if (sustain_req_l_drul_[STOP] && sustain_req_l_drul_[START])
-    {
-      if (!sustain_start_req_l_)
-       {
-         sustain_req_l_drul_[STOP]->warning (_ ("can't find start of piano_pedal"));
-       }
-      else
-       {
-         s = get_property ("stopStartSustain");
-         if (!gh_string_p (s))
-           s = ly_str02scm ("*Ped.");
-       }
-      sustain_start_req_l_ = sustain_req_l_drul_[START];
-    }
-  else if (sustain_req_l_drul_[STOP])
-    {
-      if (!sustain_start_req_l_)
-       {
-         sustain_req_l_drul_[STOP]->warning (_ ("can't find start of piano_pedal"));
-       }
-      else
-       {
-         s = get_property ("stopSustain");
-         if (!gh_string_p (s))
-           s = ly_str02scm ("*");
-       }
-      sustain_start_req_l_ = 0;
-    }
-  else if (sustain_req_l_drul_[START])
-    {
-      sustain_start_req_l_ = sustain_req_l_drul_[START];
-      s = get_property ("startSustain");
-      if (!gh_string_p (s))
-       s = ly_str02scm ("Ped.");
-    }
-  if (s != SCM_UNDEFINED)
-    {
-      sustain_p_ = new Sustain_pedal;
-      sustain_p_->set_elt_property ("glyph", s);
-
-
-      Side_position_interface si (sustain_p_);
-      si.set_axis (Y_AXIS);
-
-      /* Hmm,
-        If set to empty, it can't be centred
-        Howto centre non-fat text?
-        sustain_p_->set_empty (X_AXIS);
-      */
-      sustain_p_->set_elt_property ("self-alignment-X", gh_int2scm (0));
-      sustain_p_->add_offset_callback (Side_position_interface::aligned_on_self, X_AXIS);
-      sustain_p_->add_offset_callback (Side_position_interface::centered_on_parent, X_AXIS);
-      announce_element (Score_element_info (sustain_p_,
-                                           sustain_req_l_drul_[START]
-                                           ? sustain_req_l_drul_[START]
-                                           : sustain_req_l_drul_[STOP]));
-    }
-}
-
-void
-Piano_pedal_engraver::do_pre_move_processing ()
-{
-  if (sustain_p_)
-    {
-      side_position (sustain_p_).add_staff_support ();
-      typeset_element (sustain_p_);
-    }
-  sustain_p_ = 0;
-}
-
-void
-Piano_pedal_engraver::do_post_move_processing ()
-{
-  sustain_req_l_drul_[STOP] = 0;
-  sustain_req_l_drul_[START] = 0;
-}
index 444028b8dee20d7640061a05615ddae086d5081a..f5cfd9089587c05076fb5a470062cffd504faa9f 100644 (file)
@@ -15,7 +15,7 @@
 /*
   TODO:
     sostenuto
-    una-chorda / tre-corde
+    una-chorda ?
  */
 
 /**
@@ -36,27 +36,27 @@ protected:
 
 private:
   Link_array<Audio_piano_pedal> audio_p_arr_;
-  Span_req* sustain_start_req_l_;
-  Drul_array<Span_req*> sustain_req_l_drul_;
+  Span_req* span_start_req_l_;
+  Drul_array<Span_req*> span_req_l_drul_;
 };
 
 ADD_THIS_TRANSLATOR (Piano_pedal_performer);
 
 Piano_pedal_performer::Piano_pedal_performer ()
 {
-  sustain_req_l_drul_[START] = 0;
-  sustain_req_l_drul_[STOP] = 0;
-  sustain_start_req_l_ = 0;
+  span_req_l_drul_[START] = 0;
+  span_req_l_drul_[STOP] = 0;
+  span_start_req_l_ = 0;
 }
 
 void
 Piano_pedal_performer::do_process_music ()
 {
-  if (sustain_req_l_drul_[STOP])
+  if (span_req_l_drul_[STOP])
     {
-      if (!sustain_start_req_l_)
+      if (!span_start_req_l_)
        {
-         sustain_req_l_drul_[STOP]->warning (_ ("can't find start of piano_pedal"));
+         span_req_l_drul_[STOP]->warning (_ ("can't find start of piano_pedal"));
        }
       else
        {
@@ -64,12 +64,12 @@ Piano_pedal_performer::do_process_music ()
          p->type_b_ = false;
          audio_p_arr_.push (p);
        }
-      sustain_start_req_l_ = 0;
+      span_start_req_l_ = 0;
     }
 
-  if (sustain_req_l_drul_[START])
+  if (span_req_l_drul_[START])
     {
-      sustain_start_req_l_ = sustain_req_l_drul_[START];
+      span_start_req_l_ = span_req_l_drul_[START];
       Audio_piano_pedal* p = new Audio_piano_pedal;
       p->type_b_ = true;
       audio_p_arr_.push (p);
@@ -87,8 +87,8 @@ Piano_pedal_performer::do_pre_move_processing ()
 void
 Piano_pedal_performer::do_post_move_processing ()
 {
-  sustain_req_l_drul_[STOP] = 0;
-  sustain_req_l_drul_[START] = 0;
+  span_req_l_drul_[STOP] = 0;
+  span_req_l_drul_[START] = 0;
 }
 
 bool
@@ -96,9 +96,9 @@ Piano_pedal_performer::do_try_music (Music* r)
 {
   if (Span_req * s = dynamic_cast<Span_req*>(r))
     {
-      if (s->span_type_str_ == "sustain")
+      if (s-> span_type_str_ == "sustain")
        {
-         sustain_req_l_drul_[s->span_dir_] = s;
+         span_req_l_drul_[s->span_dir_] = s;
          return true;
        }
     }
index f551d0d2532fcd0e67da33ce147daf818e2760f9..df842f8f33cbdf5c273f687f9df7fd14adbd2617 100644 (file)
@@ -193,7 +193,7 @@ Rest_collision::Rest_collision()
   set_elt_property ("rests", SCM_EOL);
   set_elt_property ("notes", SCM_EOL);
   set_elt_property ("transparent", SCM_BOOL_T);
-  set_empty (X_AXIS);
-  set_empty (Y_AXIS);
+  set_extent_callback (0, X_AXIS);
+  set_extent_callback (0, Y_AXIS);
 }
 
index 868cc82aff2461811d857e80a75081e766575713..adede15101459055bd2fb31ff965e027a0e1eb97 100644 (file)
@@ -260,10 +260,9 @@ Score_element::calculate_dependencies (int final, int busy,
 void
 Score_element::output_processing () 
 {
-  if (to_boolean  (get_elt_property ("transparent")))
+  if (to_boolean (get_elt_property ("transparent")))
     return;
 
-  
   Molecule m (do_brew_molecule ());
   Offset o (relative_coordinate (0, X_AXIS), relative_coordinate (0, Y_AXIS));
 
@@ -275,7 +274,7 @@ Score_element::output_processing ()
       o[Y_AXIS] += il * gh_scm2double (gh_cdr (s));      
     }
   
-  pscore_l_->outputter_l_->output_molecule (m.expr_, o, classname(this));
+  line_l ()->output_molecule (m.expr_, o);
 }
 
 /*
@@ -499,12 +498,6 @@ Score_element::common_refpoint (Score_element const* s, Axis a) const
   return  dim ? dim->element_l () : 0;
 }
 
-void
-Score_element::set_empty (Axis a)
-{
-  dim_cache_[a]->extent_callback_l_ =0;
-}
-
 bool
 Score_element::empty_b (Axis a)const
 {
@@ -523,7 +516,6 @@ Score_element::extent (Axis a) const
   SCM extra = get_elt_property (a == X_AXIS ? "extra-extent-X"
                                : "extra-extent-Y");
 
-
   /*
     signs ?
    */
@@ -541,7 +533,6 @@ Score_element::extent (Axis a) const
     {
       ext.unite (Interval (s * gh_scm2double (gh_car (extra)),
                           s * gh_scm2double (gh_cdr (extra))));
-
     }
   
   return ext;
@@ -590,6 +581,13 @@ Score_element::has_offset_callback_b (Offset_cache_callback cb, Axis a)const
   return false;
 }
 
+void
+Score_element::set_extent_callback (Dim_cache_callback dc, Axis a)
+{
+  dim_cache_[a]->extent_callback_l_ = dc ;
+}
+
+                                   
 void
 Score_element::set_parent (Score_element *g, Axis a)
 {
index bb6f6424270ec2fabfa6d32eebd590ed395382a5..7b7dbe428a6f19fbc025a72f76272120b9cb9847 100644 (file)
@@ -92,7 +92,7 @@ void
 Score_engraver::announce_element (Score_element_info info)
 {
   announce_info_arr_.push (info);
-  pscore_p_->typeset_element (info.elem_l_);
+  pscore_p_->line_l_->typeset_element (info.elem_l_);
 }
 
 /* All elements are propagated to the top upon announcement. If
@@ -185,8 +185,8 @@ Score_engraver::set_columns (Paper_column *new_command_l,
        {
          if ((*current[i])->linked_b()) 
            {
-             pscore_p_->add_column ((*current[i]));
              scoreline_l_->add_column ((*current[i]));
+             
            }
          else
            {
index 879881583ae31df92013fd54425a57245ba0ec5d..3e78d6acd8a4d2ecd2fff26dfd522d3c61d22db7 100644 (file)
@@ -29,7 +29,7 @@ Script::get_molecule(Direction d) const
     }
   else if (key == ly_symbol2scm ("accordion"))
     {
-      return lookup_l ()->accordion (s, paper_l()->get_var("interline"));
+      return lookup_l ()->accordion (gh_cdr (s), paper_l()->get_var("interline"));
     }
 
   else assert (false);
index 54cce299963165a1b0fddc2c48eeed69d9513080..b03d4c59beb48e0061f8a80cf839bedff701dbdb 100644 (file)
@@ -17,8 +17,8 @@ Single_malt_grouping_item ::Single_malt_grouping_item()
   set_elt_property ("elements", SCM_EOL);
 
   // this is weird! , but needed!
-  set_empty (X_AXIS);
-  set_empty ( Y_AXIS);
+  set_extent_callback (0, X_AXIS);
+  set_extent_callback (0,  Y_AXIS);
 
 }
 
index a5e4140275710438054695c92a6bf85a82ea82e4..9b16216728c99ba1aef006bd1d54456c6de0c8fd 100644 (file)
@@ -371,8 +371,8 @@ Slur::set_extremities ()
   if (!encompass_arr.size ())
     {
       set_elt_property ("transparent", SCM_BOOL_T);
-      set_empty (X_AXIS);
-      set_empty (Y_AXIS);
+      set_extent_callback (0, X_AXIS);
+      set_extent_callback (0, Y_AXIS);
       return;
     }
 
@@ -546,6 +546,7 @@ Slur::get_encompass_offset_arr () const
     Group_interface__extract_elements (this, (Note_column*)0, "note-columns");
   
   Array<Offset> offset_arr;
+
 #if 0
   /*
     check non-disturbed slur
@@ -603,9 +604,9 @@ Slur::get_rods () const
 {
   Array<Rod> a;
   Rod r;
+  
   r.item_l_drul_[LEFT] = get_bound (LEFT);
   r.item_l_drul_[RIGHT] = get_bound (RIGHT);
-  
   r.distance_f_ = paper_l ()->get_var ("slur_x_minimum");
 
   a.push (r);
@@ -683,6 +684,14 @@ Slur::get_curve () const
 {
   Bezier b;
   int i = 0;
+
+  if (!directional_element (this).get ())
+    ((Slur*)this)->set_extremities ();
+  
+  if (!gh_pair_p (get_elt_property ("control-points")))
+    ((Slur*)this)->set_control_points ();
+  
+  
   for (SCM s= get_elt_property ("control-points"); s != SCM_EOL; s = gh_cdr (s))
     {
       b.control_[i] = ly_scm2offset (gh_car (s));
index edd41f5ae64c523bce7c85f3cad4473445814659..712ff4dd4dfd3be922ec3b4b0a845a76f5904e66 100644 (file)
@@ -18,8 +18,8 @@
 
 Spacing_spanner::Spacing_spanner ()
 {
-  set_empty (X_AXIS);
-  set_empty (Y_AXIS);  
+  set_extent_callback (0, X_AXIS);
+  set_extent_callback (0, Y_AXIS);  
   set_elt_property ("transparent", SCM_BOOL_T);
 }
 
index e8d771e263953601f8b78d7ce5e691bb84713a38..10d2c345a853de9d7f374b92fc8883ca15c117d8 100644 (file)
@@ -60,6 +60,7 @@ Span_bar_engraver::acknowledge_element (Score_element_info i)
        {
          spanbar_p_ = get_span_bar_p();
          spanbar_p_->set_parent (bar_l_arr_[0], Y_AXIS);
+         spanbar_p_->set_parent (bar_l_arr_[0], X_AXIS);
 
          /*
            UGH. UGH UUHGK GUHG G
index 494a90b2ffdb997ba050d27d1ac1e7fb157b540c..13e2491f9700bc57b6246811689638b187ad38f7 100644 (file)
@@ -59,38 +59,38 @@ void
 Span_bar::evaluate_empty ()
 { 
   if (!gh_pair_p (get_elt_property ("elements")))
-  {
-    set_elt_property ("transparent", SCM_BOOL_T);
-    set_empty (X_AXIS);
-    set_empty (Y_AXIS);   
-  }
+    {
+      set_elt_property ("transparent", SCM_BOOL_T);
+      set_extent_callback (0, X_AXIS);
+      set_extent_callback (0, Y_AXIS);   
+    }
   
   SCM gl = get_elt_property ("glyph");
   if (!gh_string_p (gl))
     {
       set_elt_property ("transparent", SCM_BOOL_T);
-      set_empty (X_AXIS);
-      set_empty (Y_AXIS);   
+      set_extent_callback (0, X_AXIS);
+      set_extent_callback (0, Y_AXIS);   
     }
   else {
     String type_str = ly_scm2string (gl);
     if (type_str == "|:") 
-    {
-      type_str= ".|";
-    }
-  else if (type_str== ":|")
-    {
-      type_str= "|.";
-    }
-  else if (type_str== ":|:")
-    {
-      type_str= ".|.";
-    }
+      {
+       type_str= ".|";
+      }
+    else if (type_str== ":|")
+      {
+       type_str= "|.";
+      }
+    else if (type_str== ":|:")
+      {
+       type_str= ".|.";
+      }
   }
 
   /*
     uhh. should do something with type_str ?!!
-   */
+  */
 }
 
 Interval
@@ -103,19 +103,22 @@ Span_bar::get_spanned_interval () const
 Real
 Span_bar::get_bar_size () const
 {
-   Interval iv (get_spanned_interval ());
-   if (iv.empty_b ())
-     {
-       programming_error("Huh? My children deflated (FIXME)");
-       iv = Interval (0,0);
-     }
-   return iv.length ();
+  Interval iv (get_spanned_interval ());
+  if (iv.empty_b ())
+    {
+      programming_error("Huh? My children deflated (FIXME)");
+      iv = Interval (0,0);
+    }
+  return iv.length ();
 }
 
 Span_bar::Span_bar ()
 {
   group (this).set_interface ();
   dim_cache_[X_AXIS]->set_extent_callback (width_callback);
-  dim_cache_[Y_AXIS]->set_extent_callback (Axis_group_interface::group_extent_callback);  
+  
+  // dim_cache_[Y_AXIS]->set_extent_callback (Axis_group_interface::group_extent_callback);
+
+  dim_cache_[Y_AXIS]->set_extent_callback (0);
 }
 
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8b137891791fe96927ad78e64b0aad7bded08bdc 100644 (file)
@@ -0,0 +1 @@
+
index 7b6a4d0f08418474370625103a7180fa8442ec57..9a8ed71038379a4cc4de36abed5e67c7144d7153 100644 (file)
@@ -64,19 +64,22 @@ Spanner::do_break_processing ()
       do
        {
          Item* bound = left->find_broken_piece (d);
-         Spanner * span_p = dynamic_cast<Spanner*>( clone ());
-         span_p->set_bound (LEFT, bound);
-         span_p->set_bound (RIGHT, bound);
+         if (bound->line_l ())
+           {
+             Spanner * span_p = dynamic_cast<Spanner*>( clone ());
+             span_p->set_bound (LEFT, bound);
+             span_p->set_bound (RIGHT, bound);
 
-         assert (span_p->line_l ()); 
-         pscore_l_->typeset_element (span_p);
-         broken_into_l_arr_.push (span_p);
+             assert (span_p->line_l ()); 
+             span_p->line_l ()->typeset_element (span_p);
+             broken_into_l_arr_.push (span_p);
+           }
        }
       while ((flip(&d))!= LEFT);
     }
   else
     {
-      Link_array<Item> break_points = pscore_l_->broken_col_range (left,right);
+      Link_array<Item> break_points = pscore_l_->line_l_->broken_col_range (left,right);
 
       break_points.insert (left,0);
       break_points.push (right);
@@ -100,8 +103,12 @@ Spanner::do_break_processing ()
          Spanner *span_p = dynamic_cast<Spanner*>(clone ());
          span_p->set_bound(LEFT,bounds[LEFT]);
          span_p->set_bound(RIGHT,bounds[RIGHT]);
-      
-         pscore_l_->typeset_element (span_p);
+
+
+         assert (bounds[LEFT]->line_l () ==
+                 bounds[RIGHT]->line_l ());
+
+         bounds[LEFT]->line_l ()->typeset_element (span_p);
          broken_into_l_arr_.push (span_p);
        }
     }
index 54f9c0e9cd921613052652da736474064c3a745f..22344c6099bad318a42127d60c679cabc8ff9867 100644 (file)
@@ -385,8 +385,8 @@ Stem::before_line_breaking ()
   if (invisible_b ())
     {
       set_elt_property ("transparent", SCM_BOOL_T);
-      set_empty (Y_AXIS);      
-      set_empty (X_AXIS);      
+      set_extent_callback (0, Y_AXIS);      
+      set_extent_callback (0, X_AXIS);      
     }
 
   set_spacing_hints ();
index bc942774434830452eb5a34b5f4944898b12f918..130a6328fc9e50f5ef3c5e950a578eb4e8940bb9 100644 (file)
@@ -41,7 +41,8 @@ System_start_delimiter::staff_bracket (Real height) const
 
 System_start_delimiter::System_start_delimiter ()
 {
-  set_empty (Y_AXIS);
+  set_extent_callback (0, Y_AXIS);
+  Group_interface (this).set_interface();
 }
 
 Molecule
@@ -64,8 +65,8 @@ System_start_delimiter::do_brew_molecule ()const
     {
       System_start_delimiter * me = (System_start_delimiter*)this;
       me->set_elt_property ("transparent", SCM_BOOL_T);
-      me->set_empty (X_AXIS);
-      me->set_empty (Y_AXIS);
+      me->set_extent_callback (0, X_AXIS);
+      me->set_extent_callback (0, Y_AXIS);
       return m;
     }
 
index 97b7a18a24055e383eb235b569e815ef8afe3dbb..0f222daab1bd2f1d6022c20729ed0fe437647a96 100644 (file)
@@ -104,7 +104,7 @@ Text_engraver::do_process_music ()
       
       SCM empty = get_property ("textNonEmpty");
       if (!to_boolean (empty))
-       text->set_empty (X_AXIS);
+       text->set_extent_callback (0, X_AXIS);
 
       announce_element (Score_element_info (text, r));
       texts_.push (text);
index 78d6b487c3134d555e4b375d4adc588e1b31c77f..78f398d1e0c4d996fbbcc212aaef65c1c81e357b 100644 (file)
@@ -16,8 +16,8 @@
 Tie_column::Tie_column ()
 {
   set_elt_property ("ties", SCM_EOL);
-  set_empty (X_AXIS);
-  set_empty (Y_AXIS);  
+  set_extent_callback (0, X_AXIS);
+  set_extent_callback (0, Y_AXIS);  
   set_elt_property ("transparent", SCM_BOOL_T);
 }
 
index 6735059d29813a65e99e66a4ea10ae094925b8f8..2b0e032b7c835688d4df01b1657a31a3829841dd 100644 (file)
@@ -98,8 +98,8 @@ Tie::after_line_breaking ()
     {
       programming_error ("Tie without heads.");
       set_elt_property ("transparent", SCM_BOOL_T);
-      set_empty (X_AXIS);
-      set_empty (Y_AXIS);
+      set_extent_callback (0, X_AXIS);
+      set_extent_callback (0, Y_AXIS);
       return;
     }
 
index 1669899c181c4a3b88cd20234f2ca845a89c8939..bfe7fb2c2d87bf2df74a1c0ef71f36bc35a6fce2 100644 (file)
 Tuplet_spanner::Tuplet_spanner ()
 {
   set_elt_property ("beams", SCM_EOL);
-  set_elt_property ("columns", SCM_EOL);  
+  set_elt_property ("columns", SCM_EOL);
+
+  // ugh.
+  set_elt_property ("delta-y", gh_int2scm (0));
 }
 
 /*
@@ -197,11 +200,11 @@ Tuplet_spanner::after_line_breaking ()
   if (!column_arr.size ())
     {
       set_elt_property ("transparent", SCM_BOOL_T);
-      set_empty (X_AXIS);
-      set_empty (Y_AXIS);
+      set_extent_callback (0, X_AXIS);
+      set_extent_callback (0, Y_AXIS);
     }
 
-  Direction d =   directional_element (this).get ();
+  Direction d = directional_element (this).get ();
   if (!d)
     {
       d = get_default_dir ();
@@ -210,8 +213,7 @@ Tuplet_spanner::after_line_breaking ()
     }
   Real dy, offset;
 
-calc_position_and_height  (&offset,&dy);
-  // calc_position (&offset, dy);
+  calc_position_and_height  (&offset,&dy);
   
   set_elt_property ("delta-y", gh_double2scm (dy));
 
index d16bdd161b87edccb3d8800df4a022401257fce2..9718a8a53b51b7d4d3e825c90ad2310e7905e0e8 100644 (file)
@@ -86,21 +86,6 @@ Vertical_align_engraver::acknowledge_element (Score_element_info i)
     {
       Align_interface(valign_p_).add_element (i.elem_l_);
     }
-
-#if 1                          // 
-  /*
-    should junk this, but (crossstaff?) Beam doesn't have a clue yet
-    ...  */
-  
-  /*
-     Add make sure spanbars (whose size depends on vertical alignment)
-     depend on the vertical alignment element
-   */
-  else if (dynamic_cast<Span_bar*>(i.elem_l_) && i.origin_trans_l_arr (this).size ())
-    {
-      i.elem_l_->add_dependency (valign_p_);
-    }
-#endif
 }
 
 
index 28594619039a6a475cbe8ffb9323047e01436d8c..68a8c9df2e149cb79699642d9dd072455e1acf9e 100644 (file)
@@ -144,7 +144,6 @@ VoiceContext = \translator {
        \consists "Melisma_engraver";
        textScriptPadding = #3.0
        \consists "Text_engraver";
-       \consists "Piano_pedal_engraver";
        \consists "Script_engraver";
        \consists "Script_column_engraver";
        \consists "Rhythmic_column_engraver";
index ae9f3ce4f1a5cacf8e0f17a45f6422d369f0de4d..a21fbd7c0bfb74fbcd36f0cfde7db98ce969f2c8 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.3.43
-Entered-date: 10APR00
+Version: 1.3.44
+Entered-date: 12APR00
 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.43.tar.gz 
+       1000k lilypond-1.3.44.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.3.43.tar.gz 
+       1000k lilypond-1.3.44.tar.gz 
 Copying-policy: GPL
 End
index 1cc5b1784816f4095b4a76e6abe1073b663cd6ef..2fe5d2fcb8dc4c51e3051909e7fdba64652ad5cc 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.3.43
+Version: 1.3.44
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.43.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.44.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 # Icon: lilypond-icon.gif
index 2cbdcded23de56ab6df7ce43f2d9fba1b84cabab..4549535290795d1fd6bab790c163ef4f80ecec19 100644 (file)
@@ -3,18 +3,14 @@
 depth = ..
 
 STEPMAKE_TEMPLATES=metafont metapost asciifont install install-out
-include $(depth)/make/stepmake.make 
 
 AF_FILES = $(wildcard *.af) 
 
 EXTRA_DIST_FILES += README feta.tex
 
-# don't try to make fonts from test files
-TEST_FILES = $(wildcard *test*.mf)
-FET_FILES = $(filter-out $(TEST_FILES),$(wildcard feta[0-9]*.mf))
-FONT_FILES = $(filter-out $(TEST_FILES),$(wildcard feta*[0-9].mf))
-
-XPM_FONTS = feta20 feta-nummer10 feta-braces20
+FET_FILES = $(wildcard feta[0-9]*.mf)
+FONT_FILES = $(wildcard feta*[0-9].mf)
+XPM_FONTS = feta20
 
 LOG_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log))
 TEXTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.tex))
@@ -22,11 +18,6 @@ AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm) $(AF_FILES:.af=.afm))
 TFM_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.tfm))
 PFA_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.pfa)) 
 
-foo:
-       @echo fof: $(FONT_FILES)
-       @echo fef: $(FET_FILES)
-       @echo tfm: $(TFM_FILES)
-
 # Make tfm files first, log files last, 
 # so that normally log files aren't made twice
 ALL_GEN_FILES= $(TFM_FILES) $(TEXTABLES) $(AFM_FILES) $(TFM_FILES) $(PFA_FILES) $(LOG_FILES)
@@ -51,7 +42,9 @@ INSTALLATION_OUT_FILES3=$(TFM_FILES)
 INSTALLATION_OUT_DIR4=$(datadir)/pfa
 INSTALLATION_OUT_FILES4=$(PFA_FILES)
 
+
 export MFINPUTS:=.:$(MFINPUTS)
+include $(depth)/make/stepmake.make 
 
 default: $(ALL_GEN_FILES)
 
index c06618dc37341594f15c05b153ba85a569c21450..e08c90bf009866e07955d68c4a2f6ff9b38ae674 100644 (file)
@@ -1,7 +1,5 @@
 % -*- Fundamental -*-
 
-fet_begingroup("accordion")
-
 accreg_dot_size# := .5staff_space#;
 accreg_linethickness# := 1.3stafflinethickness#;
 
@@ -152,28 +150,16 @@ def def_some_vars =
 enddef;
 
 def print_penpos (suffix $)=
-       message "z"&str $ &"l = ("&decimal x.$.l&", "&decimal y.$.l&"); z"&str $ &"r = ("&decimal x.$.r&", "&decimal y.$.r&");";
+       message str $ &": ("&decimal x.$.l&", "&decimal y.$.l&"); ("&decimal x.$.r&", "&decimal y.$.r&");";
 enddef;
 
-%fet_beginchar("accTEST", "accTEST", "accTEST")
-%      set_char_box(.4staffsize#, .4staffsize#, 0, 2.4staff_space#);
-%      def_some_vars;
-%      penlabels(10, 11, 12, 13, 14);
-%      penstroke z10e--z11e{right}..z12e..z13e{left}--z14e;
-%fet_endchar;
-
 fet_beginchar("accSB", "accSB", "accSB")
        set_char_box(.4staffsize#, .4staffsize#, 0, 2.4staff_space#);
        def_some_vars;
        def_B(.35width, .7height);
 
-       %print_penpos (10);
-       %print_penpos (11);
-       %print_penpos (12);
-       %print_penpos (13);
-       %print_penpos (14);
-       penlabels(10, 11, 12, 13, 14);
        penstroke z10e--z11e{right}..z12e..z13e{left}--z14e;
+       penlabels(10, 11, 12, 13, 14);
 
        penstroke z13e{right}..z15e{up}..z16e{left}--z17e;
        penstroke z18e--z19e;
@@ -297,5 +283,3 @@ fet_beginchar("accOldEES", "accOldEES", "accOldEES")
        currentpicture := currentpicture shifted (-w/2, -shy*h);
        currentpicture := currentpicture shifted (0, r);
 fet_endchar;
-
-fet_endgroup("accordion")
index 4d01e53bf7c427fb2ebce86c8aab89247432ab6b..94c8c67611edbb8778ccb66c8025d0e5edb1d821 100644 (file)
@@ -22,7 +22,8 @@ make_pen_stack;
 make_picture_stack;
 input feta-params;
 
-font_x_height  staff_space#;
+
+
 
 if test = 0: 
        input feta-eindelijk;
@@ -33,17 +34,13 @@ if test = 0:
        input feta-banier;
        input feta-klef;
        input feta-timesig;
-       input feta-pendaal;
-       input feta-accordion;
 else:
 %      input feta-bolletjes;   
 %      input feta-banier;
 %      input feta-eindelijk;
 %      input feta-klef;
 %      input feta-toevallig;
-%      input feta-schrift;
+       input feta-schrift;
 %      input feta-haak;
 %      input feta-timesig;
-       input feta-pendaal;
-%      input feta-accordion;
 fi
index 814c82a16dbc77649a3197b3903c33285a72fc17..47e415c70da45a5b36dfeb607bd5b35305389a80 100644 (file)
@@ -214,11 +214,7 @@ def draw_bulb(expr turndir, zl, zr, bulb_rad, radius_factor)=
        save rad, ang;
 
        ang = angle(zr-zl);
-
-       % don't get near infinity
-       %z0 = zr + bulb_rad * (zl-zr)/length(zr -zl);
-       z0 = zr + bulb_rad /length(zr -zl) * (zl-zr);
-
+       z0 = zr + bulb_rad * (zl-zr)/length(zr -zl);
        rad =  bulb_rad;
 
        z1 = z0 + radius_factor* rad * dir(ang + turndir* 100);
index c171f9b42d624a1890c9ee68635fd2722eb0dad8..cdd56736c3843e1304e2214fe34375547fd196e1 100644 (file)
@@ -5,16 +5,14 @@ test:=0;
 
 input feta-autometric;
 input feta-macros;
-input feta-params;
 
-%blot_diameter# = .4pt#;
+blot_diameter# = .4pt#;
 
 fet_beginfont("feta-nummer", size);
 mode_setup;
 
 height#:=designsize;
 
-font_x_height height#;
 
 save b,h; 4h+b=1.15; 10h+b=1;
 fatten:=designsize*h+b;
index a7664589eff43aa50624e68165de664fdb0a8085..b66cc177a57ba098ebbd0644685fd76c306e28c7 100644 (file)
@@ -6,7 +6,7 @@
 % 
 % (c) 1997--2000 Jan Nieuwenhuizen <janneke@gnu.org>
 
-fet_begingroup("number")
+fet_begingroup("nummer")
 
 define_pixels(height,thick,thick,thin,hair,flare);
 define_pixels(foot_top,foot_width);
@@ -85,8 +85,7 @@ save dot_diam;
 dot_diam# = 7/8flare#;
 define_pixels(dot_diam);
 
-
-code := 43;  % , = 44 
+code := 43;
 
 % urg
 fet_beginchar("Numeral comma", ",", "comma")
@@ -122,7 +121,7 @@ fet_endchar;
 
 % skip slash
 
-code := 47; % 0 = 48
+code := 47;
 
 fet_beginchar("Numeral 0", "0", "zero")
 %      set_char_box(0, 4/5height#*widen, 0, height#);
@@ -417,5 +416,5 @@ fet_beginchar("Numeral 9", "9", "nine")
        currentpicture := currentpicture shifted (w,h);
 fet_endchar;
 
-fet_endgroup("number")
+fet_endgroup("nummer")
 
index 702604002ac6788fdc2aedc31968270b15da30d5..21b365958f6df4ed5ee2c29d1104e92de9bb18cc 100644 (file)
@@ -4,7 +4,7 @@ stafflines = 5;
 staff_space#:=staffsize#/(stafflines-1);
 
 % URG!
-%font_x_height  staff_space# ;
+font_x_height  staff_space# ;
 
 %
 %  [D.K.Roush & J.S.Gourlay] say this should be 0.072
@@ -39,10 +39,4 @@ overdone_heads = 0.0;
 %
 numeric blot_diameter;
 blot_diameter# = .4pt#;
-if (blot_diameter# * hppp) < 1:
-       blot_diameter# := 1/hppp;
-fi
-if (blot_diameter# * vppp) < 1:
-       blot_diameter# := 1/vppp;
-fi
 define_pixels(blot_diameter);
diff --git a/mf/feta-pendaal.mf b/mf/feta-pendaal.mf
deleted file mode 100644 (file)
index 2cdbddc..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-% feta-pendaal.mf -- piano pedal markings
-%
-% part of LilyPond's pretty-but-neat music font
-%
-% source file of the Feta (not the Font-En-Tja) music font
-% 
-% (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
-%
-% Voor Cup
-
-% Kerning
-%
-% Pe = -0.034 pedalh == -0.07 staff-space
-% ed = -0.27 pedalh == -0.53 staff-space
-
-fet_begingroup("pedal")
-
-pedalpha = 40;
-pedbeta = 25;
-
-penh#=0.7stafflinethickness#;
-penw#=4penh#;
-%penw#=penh#;
-define_pixels (penh,penw);
-
-pedalh# = 2staff_space#;
-pedalbh# = 4/7pedalh#;
-define_pixels (pedalh,pedalbh);
-
-% code values for own pedal font commented out
-% code := 41;  % * = 42
-
-def draw_asterisk_bulb (expr w, h, i) =
-       begingroup;
-       clearxy;
-       save bulb, p;
-       path p;
-       bulb = 4/3penw;
-
-       pickup pencircle scaled penh;
-       penpos 1 (bulb, 180);
-       penpos 2 (bulb, 0);
-       penpos 3 (penh, 0);
-       penpos 4 (penw, 0);
-
-       z0 = (1/2w, h - 1/2w);
-       z1 = (1/2w, h-1/2bulb);
-       z2 = z1;
-       z3 = (x1, y1-penw);
-       z4 = (x1, y3-2penh);
-
-       penlabels (1,2,3,4);
-%      penstroke z1e{up}..z2e{down}..z3e{down}..z4e;
-       p = z1l{up}..z2l{down}..z3l{down}..z4l..z4r
-               ..z3r{up}..z2r{up}..z1r{down}..cycle;
-       p := p rotatedaround (z0, 360/8i);
-       fill p;
-       endgroup;
-       enddef;
-
-fet_beginchar("Pedal asterisk", "*", "pedal-asterisk")
-       set_char_box(0, 7/9pedalh#, 0, pedalh#);
-       z0 = (1/2w, h - 1/2w);
-       for i = 0 upto 7:
-               draw_asterisk_bulb (w, h, i);
-               pickup pencircle scaled penw;
-               undraw z0;
-       endfor
-fet_endchar;
-
-% skip + and ,
-
-% code := 44;  % - = 45
-
-fet_beginchar("Pedal dash", "-", "pedal-dash")
-       set_char_box(0, 3penw#, 0, pedalbh#);
-       pickup pencircle scaled penh;
-
-       penpos 1 (penw, 60);
-       penpos 2 (penw, 60);
-       z1l = (0, 2/3h - 1/2penw);
-       z2r = (w, y1l + 1.2penw);
-       penlabels (1,2);
-       penstroke z1e{dir 40}..tension 1.2 ..z2e{dir 40};
-fet_endchar;
-
-fet_beginchar("Pedal dot", ".", "pedal-dot")
-       set_char_box(0, penw#, 0, penw#);
-       pickup pencircle scaled penw;
-       draw (1/2penw,1/2penw);
-fet_endchar;
-
-% code := 79;  % P = 80
-
-fet_beginchar("Pedal P", "P", "pedal-P")
-       set_char_box(0, 5/6pedalh#, 0, pedalh#);
-       pickup pencircle scaled penh;
-
-       penpos 1 (penh, 0);
-       penpos 2 (penw, 55);
-       penpos 3 (penw, pedalpha);
-       penpos 4 (1.2penh, -pedalpha);
-       penpos 5 (penh, -pedalpha);
-       penpos 6 (penh, 180-pedalpha);
-       penpos 7 (2penh, 180-pedalpha);
-       penpos 8 (penh, 90);
-       penpos 9 (4/3penw,50);
-       penpos 10 (1.4penw,50);
-       penpos 11 (penh, 90+pedalpha);
-
-       z1r = (0.6w, h);
-       x2l = x1l - penw;
-       y2 = 0.7h;
-       x3r = x2l + 2penw;
-       y3r = 0.4h;
-       z4l = z5r + 1/4(z3r - z5r);
-       x5 = 1/4w;
-       y5r = 0;
-       z6 = z5;
-       z7 = z6r + 1/3(z8r - z6r);
-       z8r = z5r + 3/5(z3r - z5r);
-       x9l = x10l - penh;
-       y9l = 1/4penh;
-       x10l = w - tand (90-pedalpha)*y11l;
-       y10l = 1/4penh;
-       x11l = w;
-       y11 = 1/5h;
-
-       penlabels (1,2,3,4,5,6,7,8,9,10,11);
-       penstroke z1e..tension 2.5 .. z2e.. tension 1.5 .. z3e ..tension 2.5
-               ..z4e..tension 1.5
-               ..z5e..z6e..tension 1.5
-               ..z7e..tension 1.5
-               ..z8e{right}..tension 1.5
-               ..z9e{dir -pedalpha}
-               ..z10e..tension 2.5..z11e;
-
-       penpos 12 (penh, 0);
-       penpos 13 (penw, -90-pedbeta);
-       penpos 14 (penh, 90);
-       penpos 15 (penw, -90+pedbeta);
-       penpos 16 (penh, 180+pedbeta);
-       z12 = (5/9x1, y2);
-       z13l = (1/2x12r, y15r);
-       z14r = z1r;
-       z15l = (1/2[x16,w], y2l + 0.5penw);
-       x16 = 1/4[x1, w];
-       y16r = y2r;
-
-       penlabels (12,13,14,15,16);
-       penstroke z12e{down}..tension 1.1
-               ..z13e{dir (180-pedbeta)}..tension 1.1
-               ..z14e{right}..tension 1.1
-               ..z15e{dir (180+pedbeta)}..tension 1.1
-               ..z16e{dir (90+pedbeta)};
-fet_endchar;
-
-
-% code := 99;  % d = 100
-
-if 0 = 1:
-
-fet_beginchar("Pedal d", "d", "pedal-d")
-       set_char_box(2/9pedalh#, 4/9pedalh#, 0, 7/8pedalh#);
-       pickup pencircle scaled penh;
-
-       penpos 1 (penh, -70);
-       penpos 2 (3/4penw, 0);
-       penpos 3 (2penh, 90);
-       penpos 4 (penw, 190);
-       penpos 5 (penh, -10-90);
-
-       z1l = (1/2w, pedalbh);
-       z2l = (0, 1/2pedalbh);
-       z3l = (1/2w, 0);
-       z4 = (w - 1/2penw, 1/2pedalbh + penh);
-       x5r = -b;
-       y5l = h;
-
-       penlabels (1,2,3,4,5);
-
-       penstroke z1e{dir (-70-90)}..tension 1.1
-               ..z2e{down}..tension 1.1
-               ..z3e{right}..tension 1.1
-               ..z4e{dir (90+10)}..tension 1.1
-               ..z5e{dir (180-10)};
-fet_endchar;
-
-else:
-
-fet_beginchar("Pedal d", "d", "pedal-d")
-       set_char_box(0, 2/3pedalh#, 0, 7/8pedalh#);
-       pickup pencircle scaled penh;
-
-       penpos 1 (penh, -70);
-       penpos 2 (3/4penw, 0);
-       penpos 3 (2penh, 90);
-       penpos 4 (penw, 190);
-       penpos 5 (penh, -10-90);
-
-       z1l = (2/3w, pedalbh);
-       z2l = (1/3w, 1/2pedalbh);
-       z3l = (x1l, 0);
-       z4 = (w - 1/2penw, 1/2pedalbh + penh);
-       x5r = 0;
-       y5l = h;
-
-       penlabels (1,2,3,4,5);
-
-       penstroke z1e{dir (-70-90)}..tension 1.1
-               ..z2e{down}..tension 1.1
-               ..z3e{right}..tension 1.1
-               ..z4e{dir (90+10)}..tension 1.1
-               ..z5e{dir (180-10)};
-fet_endchar;
-
-fi
-
-fet_beginchar("Pedal e", "e", "pedal-e")
-       set_char_box(0, 2/5pedalh#, 0, pedalbh#);
-       pickup pencircle scaled penh;
-
-       penpos 1 (penh, pedalpha-90);
-       penpos 2 (penh, pedalpha-90);
-       penpos 3 (3/5penw, pedalpha);
-       penpos 4 (1.2penh, 90+pedalpha);
-       penpos 5 (2/3penw, 180);
-       penpos 6 (penw, 180+pedalpha);
-       penpos 7 (2/3penw, -90-20);
-       penpos 8 (penh, pedalpha-90);
-
-       z1l = (0, 1/5pedalh);
-       z2 = z1 + dir pedalpha * penw;
-       z3 = (3/5w, 8/9h);
-
-       z4 = (2/9w,  y3);
-
-       x5r = 0;
-       y5 = y2;
-
-       x6 = 3/8w;
-       y6r = 1/2penh;
-
-       z7l = (x6l+penh, y6l);
-
-       x8r = w;
-       y8 = 1/5pedalh;
-
-       penlabels (1,2,3,4,5,6,7,8);
-       penstroke z1e{dir pedalpha}
-               ..z2e{dir pedalpha}.. tension 1.1
-               %urg
-               ..z3e..tension 1.05
-               ..z4e..tension 1.1
-               ..z5e..tension 1.5
-               ..z6e{dir -pedalpha}..tension 1.1
-               ..z7e.. tension 2.5
-               ..z8e;
-fet_endchar;
-
-fet_endgroup("pedal")
-
index 481e378e501d2b81d860d94a778ce696b2eb807e..b72653b4adca3bbd42124292c43041f581c4a429 100644 (file)
@@ -699,6 +699,7 @@ fet_beginchar("Coda", "coda", "coda")
 fet_endchar;
 
 input feta-slag;
+input feta-accordion;
 
 fet_endgroup("scripts");
 
diff --git a/mf/feta-test11.mf b/mf/feta-test11.mf
deleted file mode 100644 (file)
index eaaa862..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-% feta-test16
-% part of LilyPond's pretty-but-neat music font
-
-input feta-autometric;
-fet_beginfont("feta-test", 23);
-staffsize#:=23pt#;
-test:=1;
-
-% smoked cheese
-% test := -1;
-
-
-% dem piksels.
-%test := 1;
-
-input feta-generic;
-
-fet_endfont("feta");
-
-end.
-
index ce1e04cf856b0ec7a8a1e2f21bf61d1c2a402586..3d2ed3cea24a5753346a70045d28856d0e9be4d3 100644 (file)
@@ -2,8 +2,8 @@
 % part of LilyPond's pretty-but-neat music font
 
 input feta-autometric;
-fet_beginfont("feta-test", 13);
-staffsize#:=13pt#;
+fet_beginfont("feta-test", 16);
+staffsize#:=16pt#;
 test:=1;
 
 % smoked cheese
diff --git a/mf/feta-test23.mf b/mf/feta-test23.mf
deleted file mode 100644 (file)
index e4656d6..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-% feta-test23
-% part of LilyPond's pretty-but-neat music font
-
-
-input feta-autometric;
-fet_beginfont("feta-test", 23);
-staffsize#:=23pt#;
-test:=1;
-
-% smoked cheese
-% test := -1;
-
-
-% dem piksels.
-%test := 1;
-
-input feta-generic;
-
-fet_endfont("feta");
-
-end.
-
index 212d63fa4a7bf31af8424b81c6defd99d2263704..e51a6ce12a319b519a6cf6c2bdd7d828dd2c0d59 100644 (file)
@@ -2,7 +2,7 @@
 % part of LilyPond's pretty-but-neat music font
 
 input feta-autometric;
-fet_beginfont("feta-test", 26);
+fet_beginfont("feta-test", 16);
 staffsize#:=26pt#;
 test:=1;
 
index 2f78af2aa7613015bdeb85cddb63f77f11e1a5c8..2e432c85c30e145debaf46ad51b4c8a5047a1391 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "violoncello.ly"
index 232a85cbc5b9a5464fa0b46e913c772af509e70b..ddac5c36aa11904ec8de643395f65577d17f4919 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "clarinetti.ly"
index 6b7a39c24398042b2d90aaca019e1e6f47c5eafd..5e1a2db34a8e5b97167a4737fe5c52de72fb6379 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "clarinetto-1.ly"
 \include "clarinetto-2.ly"
index 33ba9491ef06ad5a63a6933d67626d7469ee981e..8e55f54f4b26d94d796bf950b2607b39c982f327 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 clarinetto1 = \notes \relative c {
        R1 *2 |
index acfad81c95d9c8eb0fef678689c20ab6403ee762..5699d11076e9de07c6e866b5d3b1f48af89f0586 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 clarinetto2 = \notes \relative c { 
        R1*2 bes''4-.\ff r r2 |
index 6f0efdd471feb3cd1e3a2ccf01c02ccc08f1c8c5..35e2ab00452611185c89706de6f2446ad78a5087 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "contrabasso.ly"
index eeb66e6349d9f30a12346ef9732d8cae15b19929..6001098b529ebf908dca60662fb7f03b893d1485 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 contrabasso = \notes \relative c {
 %      \translator Staff=violoncello
index 453fc314a5d34bac8aa7d370819b19076c0f7fa6..67d127646d12a8b7600653db1c89aee75a876a8d 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "paper16.ly"
index b3bd30b812ae50b205fc888f429c53fa904dd5c1..404e0178e5d519338a2172a1921c41d0bea8f608 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "corni.ly"
index 165fb0af949b387c5de1b7f1b76d889ce3d0f531..470f00c463cf925f48aa6f1c376c0fc9dbac8c34 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "corno-1.ly"
 \include "corno-2.ly"
index efaf24e060bc6d3bd64dc9e58e4dddef95cecea6..1313558389c5f0fd60f7cb793a8fbaa0727c68d9 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 corno1 = \notes \relative c {
        R1*2 |
index 71b0d44526c1a4e3f346f04f42eb92d583242390..f04d8fdb934e1eef0b61e52c9ea7dfbec45ba6c3 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 corno2 = \notes \relative c {
        R1*2 |
index 9f1ccb09ed7abf6a652f580b6250bb156a3c6e94..d9228f5b10e102a5b258217080b999977343bab9 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "fagotti.ly"
index f6d6995a172ffd13168de0118f5791bd5264a4fb..5e104877591463e89987ec4d6133500a804bc8dc 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "fagotto-1.ly"
 \include "fagotto-2.ly"
index 05de181984345ad76429f08cfd86532eca3c77b7..30d77e9953e60586f586673fabc497205f914d81 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 fagotto1 = \notes \relative c {
        R1*2 |
index 165e89d3bec4e36e23288b56a952a26faeea8ca3..54b9a9d5ea2a62f784aad20e641604195a046002 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 fagotto2 = \notes \relative c {
        R1*2 |
index b364324e805e6302173dc028cbb341eea3ad273b..5b93e92dd4ac918125983424443d92b34171d362 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "flauti.ly"
index efd4afb5952f5f307415af9f4907c7fcde863ece..4e3e991a65bbadde21782ea66ce98789b82007f9 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "flauto-1.ly"
 \include "flauto-2.ly"
index fb64ff1d5f7edaaaf16d3f362304498b9b222770..589c0e53d8a8d0eaabc3db35413b2a3a3f0abc62 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 flauto1 = \notes \relative c {
        R1 *2 |
index f1b70a133a0174abf3b7172e86649c0825f90c9f..bb150d5b8799224a7f482c5dfc742bb06d4f2973 100644 (file)
@@ -6,7 +6,7 @@ composer =       "Ludwig van Beethoven (1770-1827)";
 enteredby =     "JCN";
 copyright =     "public domain";
 }
-\version "1.3.4";
+\version "1.3.42";
 flauto2 = \notes \relative c {
        R1 *2 |
        as'''4-.\ff r r2 |
index 7bc4c0f93d5d850d7cda17195aef4229815645e7..3c1799526a14ff9d8994a2e25e5fc8589d6065a6 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 global = \notes {
        \time 4/4;
index d652792f9f05347d7c1d49618ddf87bc9d936992..ab1ede99f12812e70597120dd2f87852cb900353 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 oboe1 = \notes \relative c'' {
        R1*2 |
index 32870617b330ab6f9f2557fb629fe18382ed55f2..dead69de2e86b8350fb01857b9d299617c699e79 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 oboe2 = \notes \relative c{
        R1*2|
index 7cdaf531c77b34485a6ef1e6f1e94ae677b6aa1e..27dd5295fe927d64673d70d910a9004749403044 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "oboi.ly"
index e85361f99fd89cdb1b08c705fa4aa1714497a56c..75f4c8962bba7effaa530af9f2c3bbbbb3938207 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "oboe-1.ly"
 \include "oboe-2.ly"
index 4c853c9567738af7a80c10fe002465966c16fc62..ac21d1281a4146bb7be7b56fedeb0b6cf4347c93 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "timpani.ly"
index bd5acb4455d4d5bc393d1a7c24bee82d5520a4f4..576e6da21e2e4c727b44dc58b8e4d65e95fcb74c 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 timpani = \notes \relative c {
        R1*2 |
index 0a6dd05ddafe652d9df79ed89c83631559cdd9b7..6bd558eecdf10024efa22e7184c5facc051fb55f 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "trombe.ly"
index 1d6d6f2f7779202c1ce3f0fcdda851a9d8538f4e..34fd0f5680f00768edff11d3a6ea1e5669784951 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "trombo-1.ly"
 \include "trombo-2.ly"
index a3c1300de7bf5af06663f5b314f3002fcbd74ff0..6770593652018def49fa8a3f96f1a0c4210893e5 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 trombo1 = \notes \relative c {
        R1*2 |
index 658fb7a8bfd3d853a3e9b4278e5a25523d85115f..65801e02d4de2dd2165ad6dea1745f66bdce63d5 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 trombo2 = \notes \relative c {
        R1*2 |
index d288e3212a7f07df46fd98113b17c56a610a0085..fa89bff6e4c057a572ee3e394a87249544bdf60b 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 viola1 = \notes \relative c {
        c'1\ff ~ |
index e2dd6f56d346c6e02863d77674ca4e6e52e7f3e2..d9be550c738a82f5e24fb1d69d98412bb57966dc 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 viola2 = \notes \relative c {
        % starts on (actualy, most part is on) same staff as viola1
index 3e8ccbcbeffeab9e812ee420cbae6d7dcb8d3ce1..fc9712f64d25ad57528f4922572d8f11b091b1be 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "viola-1.ly"
index 1a1dc9deaa14ef80c83a9bae3372426a7bd7d708..dead91e2c423cc468e47eca29cc9cccabbeb29d2 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "violino-1.ly"
index a08871954818c779c588d702787081f44bdbfa68..fe8bcc17a258bfecf5ce342d0405ffb6e100d229 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 violino1 = \notes \relative c {
        c'1\ff ~ |
index 73ca4ce66177a62554a9743a81c11d4082883407..717263d6659cc202abdfd9f627fea224ee409bb0 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "violino-2.ly"
index be10cbd5e4e6c5da8f574e0f582da0d4dc8a2d47..c2ed90d9642f80e3fe9cd35bc093cb5e0dfd0e0e 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 violino2 = \notes \relative c {
        c'1\ff ~ |
index bdfec72a649a1b47e379ad4e31fa2d926ce29896..5f9bf94ae7316604a19acd15d458300fc424db5f 100644 (file)
@@ -7,7 +7,7 @@ enteredby =      "JCN";
 copyright =     "public domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "global.ly"
 \include "violoncello.ly"
index 7609b49090eda77d19b97921ea10f1ec3ba6c996..56a09f23454c947163c692ac98d419cfd5de0767 100644 (file)
@@ -9,7 +9,7 @@ copyright =      "public domain";
 
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 violoncello = \notes \relative c {
        c1\ff ~ |
index b865ab858ad4be3c909c93d3be2ed5161e1a988a..13df9f73f7e2db99fd6d57d51a3e219dd91da910 100644 (file)
@@ -17,7 +17,7 @@ title = "Verso II";
        under the Gnu Public Licence.
 %}
        
-\version "1.3.4";
+\version "1.3.42";
 
 $voice_one = \notes \relative c' {
        a'2 bes4. [c16 bes] | a4 d ~ d c ~ | c b ~ [b8 a] a4 ~|
index 4d4b75c0cc5a651bf3b7e06346c6637a84769678..71fb470337a56a0502ae2d1151c496b7088bcdfb 100644 (file)
@@ -11,7 +11,7 @@
  Tested Features: cross staff auto beams and slurs, grace notes, no bars
 %}
 
-\version "1.3.5";
+\version "1.3.42";
 
 global = \notes {
        \key a \minor;
index 240a44542b7e8840e6bb92fac535124075bdddae..e542fcf9c149112290ec3468264e2999902c0a56 100644 (file)
@@ -12,7 +12,7 @@
  Tested Features:
 %}
 
-\version "1.3.5";
+\version "1.3.42";
 
 \include "nederlands.ly"
 
index 31e896e01d480f525ecef944703cadb4e2e55fac..803a7d94843e4dd452093bd4b3c323d4e49143cc 100644 (file)
@@ -9,6 +9,6 @@ description = "A schubert song in 16 pt";
 copyright =     "public domain";
 } 
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "standchen.ly"
index 221c232bfce21e3363abeca5c1bd484fd82a7b33..2431ec24149ff6ae3c6e6a2940d568715b97b84a 100644 (file)
@@ -10,7 +10,7 @@ enteredby =    "JCN";
 copyright =     "public domain";
 } 
 
-\version "1.3.4";
+\version "1.3.42";
 
 % fool make-website
 % \include "standchen.ly";
index ebf68cfbf47372c9306b8d4654030737960a45cf..1e334f5783e9afbef53eabebc3d1f4e9f3b4df3f 100644 (file)
@@ -41,7 +41,7 @@ multiple \paper{}s in one \score
 Note: Original key f.
 %}
 
-\version "1.3.4";
+\version "1.3.42";
 
 vocalVerse = \notes\relative c''{
        \property Voice.dynamicDirection=\up
index 265a65cac44aaaa3bba0834b7f9af405c6cbb497..8928666b3f10c78e9996d66b0198ac8d70facc6e 100644 (file)
@@ -7,7 +7,7 @@
   metre = "6 6. 8 6. D";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 sop=\notes \transpose c''{
        ees2  ees4 ees4 g2 g2 |  c'1.
index b997362317266383430a394f0042971ab13fe700..589c8b63b429524ee8d2e2b5bf6dbeba48fd4751 100644 (file)
@@ -4,7 +4,7 @@ composer = "Parry";
 metre = "10 10 . 11 11";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 sop = \notes \transpose c''{
        f4 | d' bes c' | f2 \bar "||";
index 364f3ec10808258d665b1a7113f135fe9367700e..4e0aea2199231257b72c8f747047ccb94620b8e9 100644 (file)
@@ -7,7 +7,7 @@ title = "Maccabaeus";
 metre = "10 11. 11 11. and refrain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 sop=\notes \relative c'' {
        b2 gis4. a8  |b2 e,2 |
index 693a4caf3e0ecace08e28b573bd02cd1fcab7e10..fc4735dcd735cd714bf12233212e3323c1c85885 100644 (file)
@@ -7,7 +7,7 @@
   metre = "8 7 8 7 D";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 sop=\notes \relative c'' {
        b4 b c d | d c b a | g g a b | b4. a8 a2 |
index 0341e3484b7703d5aa0757c041d41f4b18803832..0b41a2d486bf6172bf4221e24962a36df260636d 100644 (file)
@@ -8,7 +8,7 @@
 }
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 %{
        Note:  there are other verses, but the three here seem to be
index e0591c715b533d71bf8030d3c7586e7138d16f78..d1ac8a9ec5c892e42d798095183b92a708525baf 100644 (file)
@@ -4,7 +4,7 @@
        piece = "Allemande";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 global = \notes{
        \time 4/4;
index d4ee80c11569b80410e041339bd6202e437273ca..ca85c32ddeba5e10a3395195ffa2911b9a043e82 100644 (file)
@@ -10,7 +10,7 @@
 %% 
 %% Noe liknende skjer ogsÃ¥ i mellom andre og tredje stemme i takt 28
 
-\version "1.3.4";
+\version "1.3.42";
 
 global = \notes{
        \time 2/4;
index 79617ee8770f342e2c9046cdddad19e236c48239..037146d7b53cdb688717a3345b6ec4ed6d0b56f5 100644 (file)
@@ -10,7 +10,7 @@
   copyright =   "Public Domain";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 global = \notes {
        \time 4/4;
index db61c1a7f1aa9086d24c246fd27b5c0130dc95ec..3f8948524f2aecfc340f64b15c49e68208f476fa 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.3.5";
+\version "1.3.42";
 
 $global_i = \notes{
        \time 12/8;
index e83492890ab50abda5408bfab4ff4bcb7e6ea307..4c1f3080aa9c305ef65db76f7f37b4388134976e 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.3.5";
+\version "1.3.42";
 
 $global_ii = \notes{
        \time 4/4;
index 72c59dec065070b96a2e0999144107f7da0e451e..552deed2f01975eace845a8d2d997f38adecd257 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "jcn";
 copyright =     "Public Domain";
 }
 
-\version "1.3.5";
+\version "1.3.42";
 
 \include "global-i.ly"
 \include "violoncello-i.ly";
index 6e4fd421040b8f26c3effc26f5d78519e267c356..868bcf2475a46ac265b24c82e9baeb41030c4404 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "jcn";
 copyright =     "Public Domain";
 }
 
-\version "1.3.5";
+\version "1.3.42";
 
 \include "global-ii.ly"
 \include "violoncello-ii.ly";
index 2f6c10bfb4056b8b84e6093ad17b78f9387b747f..2181cdf54906be7db78af86f34dabfcc7b155a99 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "jcn";
 copyright =     "Public Domain";
 }
 
-\version "1.3.5";
+\version "1.3.42";
 
 % {
 
index 5242d770073b19579ce5e9317ee027858d09dab7..396a043f4c56910ad8b3fccc79f066a368834d48 100644 (file)
@@ -8,7 +8,7 @@ enteredby =     "jcn";
 copyright =    "Public Domain";
 }
 
-\version "1.3.5";
+\version "1.3.42";
 
 $violino_i = \notes\relative c'' {
   \property Voice.beamAutoEnd = "3/8"
index 9a9fed15f4a9bdbb437b8298f2ce640ec31d21e1..5cfc44518964fb7c3cf46480434c5ed59df3013f 100644 (file)
@@ -8,7 +8,7 @@ enteredby =     "jcn";
 copyright =    "Public Domain";
 }
 
-\version "1.3.5";
+\version "1.3.42";
 
 $violino_ii = \notes\relative c''{
   R1*8 |
@@ -101,4 +101,4 @@ $violino_ii_staff = \context Staff = violino <
   \$violino_ii
   \$global_ii
 >
-\version "1.3.5";
+\version "1.3.42";
index 798567be9b42174babb10b54f5eee908f928b2d2..c2e417bd0eb0ebb26987584a6b1f19b4b81f2457 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "jcn";
 copyright =     "Public Domain";
 }
 
-\version "1.3.5";
+\version "1.3.42";
 
 % {
 
index 54adae15c8140cac082e6a448bb7338eb9803be4..1d8068455e67e189a13f0f4ba4eadc600ee7ceec 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "jcn";
 copyright =     "Public Domain";
 }
 
-\version "1.3.5";
+\version "1.3.42";
 
 % { 
 \include "violino-i.ly";
index a48730fc5eaece958613c2958e76f0940b3053aa..e194b469ad83ba1b458a70713ecd3cffde6e7a03 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "jcn";
 copyright =     "Public Domain";
 }
 
-\version "1.3.5";
+\version "1.3.42";
 
 % {
 \include "violino-i.ly";
index a37c92ff3b18746e34d48f7274facfe9bb083846..6a420c3e0b2b81bcf5a01351717cd4658484bff6 100644 (file)
@@ -8,7 +8,7 @@ enteredby =     "jcn";
 copyright =    "Public Domain";
 }
 
-\version "1.3.5";
+\version "1.3.42";
 
 $violoncello_i = \notes\relative c{
   \property Voice.beamAutoEnd = "3/8"
index c6c786d631836602ea36018306f5bc352d105182..191e097e7eb7658025ac0291982e3b0b46291cc7 100644 (file)
@@ -8,7 +8,7 @@ enteredby =     "jcn";
 copyright =    "Public Domain";
 }
 
-\version "1.3.5";
+\version "1.3.42";
 
 $violoncello_ii = \notes\relative c{
   r2 a'2|c e,| f8(e)d2 e8()fis| g a bes2 a8()gis|
index 2d24632ce696725e1c4aad89d575a0aab2494c45..b290408a20da4a084e6e7fe4ac34ef793685a5c2 100644 (file)
@@ -8,7 +8,7 @@ enteredby =      "jcn";
 copyright =     "Public Domain";
 }
 
-\version "1.3.5";
+\version "1.3.42";
 
 % {
 
index 2df908e8c8e815efa4d3e4c73598026c4eb4ce9c..7d0341b60d6185bd9395dc665f30de1776a2ebaa 100644 (file)
@@ -44,7 +44,7 @@ Lemoine puts fermatas on ending bar lines everywhere.
 
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 
 lowstaff = \translator "Staff" = "lower"
index 4495fb290d47e11a68ffe16e412308d0b200e905..599c21b2d140cc607a737206ccefba91039ea888 100644 (file)
@@ -42,7 +42,7 @@ Old versions of LilyPond include this prelude with dynamics and fingerings.
 
 
 
-\version "1.3.4";
+\version "1.3.42";
 upper = \context Staff \notes\relative c{
        \context Voice=i
        \property Voice . textStyle = "italic"
index bf6d499d252063fef588fdc467e8a8c2954b607c..0e5eed7da5457569aea71c3a99018efd50743e97 100644 (file)
@@ -45,7 +45,7 @@ note, some have dotted half notes.
 
 
 %}
-\version "1.3.4";
+\version "1.3.42";
 
 
 upper =  \notes \transpose c'' {
index bdc0b6e3c17e50193be1825cd59154fc4e34df20..7c09bc86c7031589040dd35972273f63d308b8f8 100644 (file)
@@ -31,7 +31,7 @@
   
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 upper = \context Staff \notes\relative c
        \context Voice=i {
index f807964bd8373b9019d059ffa6a0ee565248216c..fe112bdd32bfee5fca37d0160683377e30cd6f57 100644 (file)
@@ -31,7 +31,7 @@
   
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 
 
index b2a4e655ab6fc78eb079b741ffdd24f671188d18..1fead8ac0ba7f254f7a8d3af1b99ed62bc9d51a9 100644 (file)
@@ -1,6 +1,6 @@
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "allemande-urtext.ly";
 
index ce797d3dbdc8e5fd81c018c7d444fec0a586a5fc..1076affa1de17770a8dd678ce70e3fbfcb4be973 100644 (file)
@@ -99,4 +99,4 @@ allemande = \context Staff \notes<
 >
 
 
-\version "1.3.4";
+\version "1.3.42";
index f152601f4e5a3da313960c6bd73dfec87aca5749..0e1ffaa596801aa6ffb7d0ecb76f85b51fd0ab93 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "allemande-urtext.ly";
 
index 216cd0176a0adf44e614f469ef9bb563aadecf07..e4aeb50c91cedb62063f5f30ae29dd289e6cc2de 100644 (file)
@@ -1,5 +1,5 @@
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "courante-urtext.ly";
 
index e7abdfe37a4578ea5bb6515df0b287fead295b32..a3fcd4d70bf15b805b2c249999fef520409bb7f5 100644 (file)
@@ -88,4 +88,4 @@ courante = \context Staff \notes<
  \$courante_b
 >
 
-\version "1.3.4";
+\version "1.3.42";
index 75d83d657c357d77ce23f4d27be97c09cb7c9f0e..3b901141eff8cb836ad841a59c5998fc89c95c05 100644 (file)
@@ -1,7 +1,7 @@
 
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "courante-urtext.ly";
 
index 840b9f02cfcb1fa9d9f9712c599f585c4dcbac17..0c58fe97f2ae0d58de6524348c1a09c0784a0be0 100644 (file)
@@ -1,7 +1,7 @@
 
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "gigue-urtext.ly";
 
index 630b9b0a6dde5d26cf6756726ade1a50b8a7a841..fd684047196e23b15cb3ede069f8a479ab963b95 100644 (file)
@@ -102,4 +102,4 @@ gigue = \notes<
        \$gigue_b
 >
 
-\version "1.3.4";
+\version "1.3.42";
index ee57409f0a08e6e42dedf9f37429e93e4682cd8c..777524b1324f688ab21271f67f669f0b9bc7a579 100644 (file)
@@ -1,6 +1,6 @@
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "gigue-urtext.ly";
 
index 7b4de133ec989073750f32c47aba6f3123d5e9e3..d656bbc05c096413c87ab88bbd48ce96de92e083 100644 (file)
@@ -1,7 +1,7 @@
 
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "menuetto-urtext.ly";
 
index 07e1531223f0b01eba397798a519d05f2c5648c0..2fa2d5dc0e81a9979ee5c7bfd3206d1b24a160f1 100644 (file)
@@ -148,4 +148,4 @@ menuetto_ii = \context Staff\notes \relative c {
        d2.
 }
 
-\version "1.3.4";
+\version "1.3.42";
index 48f12f5270fd7c408c21c849f5e5deea51c1b930..3c166c43bb3b41613b153b23a530942315300aae 100644 (file)
@@ -1,7 +1,7 @@
 
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "menuetto-urtext.ly";
 
index 88d0f2158ef7f014c47b9128e086d622be87a968..36799386682235580885ce5f83aa7a136ef5a5c3 100644 (file)
@@ -1,7 +1,7 @@
 
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "prelude-urtext.ly";
 
index 1b9fd3ef769e1f29cf8090a51929748027ea9967..833c0196962763d97299a4a59a17c17a8e09994a 100644 (file)
@@ -194,4 +194,4 @@ prelude = \context Staff \notes<
        \$prelude_b
 >
 
-\version "1.3.4";
+\version "1.3.42";
index de544f4f9c1b956087a93aca90c03c8ed8e4284f..9de8497143303451be282b53e1f31d55f8d51ee7 100644 (file)
@@ -1,7 +1,7 @@
 
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "prelude-urtext.ly";
 
index 5949715a5121c3d84c0220dba9513ff3a8cb13c4..d3e8a6b44922d77a0129e1ae9c83ba80af44c66e 100644 (file)
@@ -1,7 +1,7 @@
 
 
 
-\version "1.3.4";
+\version "1.3.42";
 
 \include "sarabande-urtext.ly";
 
index 8a6f7eae165e77618440600b72f1e8000877f5a9..714a945536111dce6919524e476f2c463cb7f080 100644 (file)
@@ -89,4 +89,4 @@ sarabande = \context Staff \notes<
        \$sarabande_b
 >
 
-\version "1.3.4";
+\version "1.3.42";
index 111625d701b42c114a211997ed9abc6fe6d7d919..63a0fcd7120db6fb697231af71727568f5a9918c 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.3.4";
+\version "1.3.42";
 
 \include "sarabande-urtext.ly";
 
index f18a619e85a40bfe9963debae421da6511033a8e..47a19d4b23196135847f75fb92c18bd01c60996a 100644 (file)
@@ -19,7 +19,7 @@ enteredby =    "Shay Rojansky";
 %{
 TODO: use autobeaming. 
 %}
-\version "1.3.4";
+\version "1.3.42";
 
 
 tenor =
index 74133ef99df112aaa363b212d2e7319cad3c75b5..abf6daf7c95ab60dc942e2f31233c3b3cadab86e 100644 (file)
@@ -21,7 +21,7 @@
 % It would be nice to squeeze this onto two pages, but I am not sure
 % if it would work with US paper.
 
-\version "1.3.4";
+\version "1.3.42";
 
   
 dux = \context Voice=two \notes \relative c''{
index 6c4a53559e35ef563196ff3aff41b3608591cd8d..c4562082b24e7dbe32065b2a8e7dbfd09cf4520d 100644 (file)
@@ -15,7 +15,7 @@ enteredby =    "Shay Rojansky";
   lastupdated = "1999/Oct/14";
 }
 
-\version "1.3.4";
+\version "1.3.42";
 
 % should do programmable input.
 soprane =
index c0ad2ad5a7a1ed93f186612bf684d7f2b1631443..567669efb3c4519b289f54d5da81c7ee0be5da32 100644 (file)
@@ -45,7 +45,7 @@ Voice engraver by uncommenting the lines in the paper
 definition below. --MB
 %} 
 
-\version "1.3.4";
+\version "1.3.42";
 
 global = \notes {
   \property StaffGroup.timeSignatureStyle = "old"
index adbf00a735192e837f14a02b2674ff13bf9bac97..554408caffd6325f867686baa9272a921c5e1d73 100644 (file)
                     )
        ))
 
-(define generic-sustain-pedal-properties
-  (cons "Sustain_pedal" (list
-                        (list 'textScriptPadding number? 'padding)
-                        (list 'sustainPedalPadding number? 'padding))))
-
 (define generic-crescendo-properties
   (cons "Crescendo" (list
                     (list 'verticalDirection dir? 'direction)
    generic-slur-properties
    generic-beam-properties
    generic-text-properties
-   generic-sustain-pedal-properties
    generic-note-column-properties
    generic-script-properties
    generic-All-properties
index c5bdbbeba4b577fae647d11ab15850adfe31ddc6..a615f9564f13c9b38b8d4c16a9d3164cb2920d43 100644 (file)
        (beta (/ (* pi r-0) (* 2.0 h-inf))))
     (* alpha (atan (* beta b)))))
  
-;; see mf/feta-pendaal.mf
-(define pedal-kerning-alist '())
-(set! pedal-kerning-alist
-      (append 
-      '(
-       (("P" . "e") . -0.07)
-       (("e" . "d") . -0.53)
-       (("*" . "P") . 0.2)
-       )
-      pedal-kerning-alist))
-
-(define (pedal-kerning l r)
-  (let ((entry (assoc (cons l r) pedal-kerning-alist)))
-    (if entry
-       (cdr entry))))
-
index 96af1473119e62441b59c86ec34651393d2ff7a3..7beeca41101efd215390e7aba7b5578880e776a7 100644 (file)
@@ -1,5 +1,6 @@
 
 MF_FILES := $(wildcard *.mf)
+FONT_FILES = $(wildcard *[0-9].mf)
 EXTRA_DIST_FILES += $(MF_FILES)
 MF_TFM_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.tfm))
 MF_DVI_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.dvi))
diff --git a/tex/p.tex b/tex/p.tex
deleted file mode 100644 (file)
index 2f61694..0000000
--- a/tex/p.tex
+++ /dev/null
@@ -1,39 +0,0 @@
-% pedal.tex
-
-\hsize = 296mm
-\vsize = 210mm
-
-% fix chord.cc::banter_str before removing these
-\def\fetdef#1#2{%
-  \def#1{\hbox{\char#2}}}
-
-\fetdef\pedalasterisk{101}
-\fetdef\pedaldash{102}
-\fetdef\pedaldot{103}
-\fetdef\pedalP{104}
-\fetdef\pedald{105}
-\fetdef\pedale{106}
-
-%\font\fetatwentysixfontt=feta26 scaled \magstep 4
-%\font\fetatwentysixfontt=feta26 scaled 18842
-\font\fetatwentysixfontt=feta26 scaled 2407
-\magnification \magstep 4
-
-\def\fetafont{\fetatwentysixfontt}
-
-\baselineskip 12mm
-
-\vbox{
-\kern 50mm
-
-\hbox{
-\fetatwentysixfontt
-\hbox { \pedalP\kern-0.06ex\pedale\kern -0.55ex\pedald\pedaldot}
-\kern 100mm
-\pedalasterisk
-}
-}
-
-\end
-
-%\endinput
diff --git a/tex/pedal.tex b/tex/pedal.tex
deleted file mode 100644 (file)
index a4c7616..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-% pedal.tex
-
-% fix chord.cc::banter_str before removing these
-\def\fetdef#1#2{%
-  \def#1{\hbox{\char#2}}}
-
-\fetdef\pedalasterisk{101}
-\fetdef\pedaldash{102}
-\fetdef\pedaldot{103}
-\fetdef\pedalP{104}
-\fetdef\pedald{105}
-\fetdef\pedale{106}
-
-
-\font\fetaelevenfont=feta11
-\font\fetathirteenfont=feta13
-\font\fetasixteenfont=feta16
-\font\fetatwentyfont=feta20
-\font\fetatwentythreefont=feta23
-\font\fetatwentysixfont=feta26
-
-\font\fetaelevenfontt=feta11 scaled \magstep 4
-\font\fetathirteenfontt=feta13 scaled \magstep 4
-\font\fetasixteenfontt=feta16 scaled \magstep 4
-\font\fetatwentyfontt=feta20 scaled \magstep 4
-\font\fetatwentythreefontt=feta23 scaled \magstep 4
-\font\fetatwentysixfontt=feta26 scaled \magstep 4
-
-\def\fetafont{\fetasixteenfont}
-
-\def\test{
-\hbox {
-\hbox { \pedalP\kern-0.05ex\pedale\kern -0.6ex\pedald\pedaldot}
-\kern 1ex
-\pedalasterisk
-\kern 1ex
-\hbox {\pedaldash\pedalP}
-}
-}
-
-\magnification \magstep 4
-\baselineskip 12mm
-
-\vbox{
-\fetaelevenfont \test
-\fetathirteenfont \test
-\fetasixteenfont \test
-\fetatwentyfont \test
-\fetatwentythreefont \test
-\fetatwentysixfont \test
-
-%\fetaelevenfontt \test
-%\fetathirteenfontt \test
-\fetasixteenfontt \test
-\fetatwentyfontt \test
-\fetatwentythreefontt \test
-\fetatwentysixfontt \test
-}
-
-\end
-
-%\endinput