]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.99
authorfred <fred>
Wed, 27 Mar 2002 00:01:36 +0000 (00:01 +0000)
committerfred <fred>
Wed, 27 Mar 2002 00:01:36 +0000 (00:01 +0000)
23 files changed:
Documentation/topdocs/README.texi
buildscripts/tfmtoafm.sh
input/emacs-lily.fly
input/les-nereides.ly
input/scarlatti-properties.ly
input/test/american-chords.ly
input/test/bagpipe.ly
input/test/cue-notes.ly
input/test/jazz-chords.ly
input/test/markup.ly
input/test/pushproperty.ly
lily/break-algorithm.cc
lily/include/slur-bezier-bow.hh
lily/score-element.cc
lily/slur-bezier-bow.cc
lily/slur.cc
lily/spacing-spanner.cc
ly/engraver.ly
mf/GNUmakefile
scm/chord-names.scm
scm/generic-property.scm
scm/slur.scm
scripts/convert-mudela.py

index dc612fb7eee3c4723f14e108e48d3ce7a6479c1f..f1b3d8ded86558fb7e18fb05e149c332406f337e 100644 (file)
@@ -15,9 +15,13 @@ the GNU Project.
 
 LilyPond uses a versioning scheme similar to the Linux kernel.  In a
 version "x.y.z", an even second number 'y' denotes a stable version.
-For development versions 'y' is odd.  For using straightforward score
-production, please use the latest stable version.  Development versions
-may not produce good or nice scores.
+For development versions 'y' is odd.  Sh, in theory, version 1.2 is stable,
+which means that there are no glaring errors in it. In practice 1.2.x is also
+unmaintained.
+
+1.3.x is in healthy development: lots of problems turn up, but they're
+fixed quickly. Therefore we recommend you try 1.2.x, if you have any
+problem with it, upgrade to the latest 1.3.x release.
 
 @section Requirements
 
@@ -50,8 +54,7 @@ on how to make the HTML documentation.
   make -C Documentation/user/ dvi 
 @end example 
 
-You need a working LilyPond binary to create the DVI sources  .
+You need a working LilyPond binary to create the DVI and HTML sources.
 
 @item  use ASCII. Do
 using @example 
@@ -71,8 +74,20 @@ criticism, comments, bugreports, patches, etc., but please,
  
 @end example 
 
-and @emph{not} to us personally.  See @file{Documentation/mail.texi} for
-more info.
+and @emph{not} to us personally. We have the following mailing lists:
+
+@itemize @bullet
+@item @uref{http://mail.gnu.org/mailman/listinfo/info-gnu-music,info-gnu-music@@gnu.org}
+is a low-volume list for information on the GNU Music project.
+    This list is moderated; ask 
+    @email{drl@@gnu.org, David R. Linn} or
+    @email{hanwen@@cs.uu.nl, Han-Wen} to send announcements for this list.
+@item @uref{http://mail.gnu.org/mailman/listinfo/help-gnu-music,help-gnu-music@@gnu.org}
+    For help with using LilyPond.
+@item @uref{http://mail.gnu.org/mailman/listinfo/bug-gnu-music,bug-gnu-music@@gnu.org}
+If you have bugreports, you should send them to this list.
+@end itemize
+
 
 @section Windows 32
 
index 42c0bf6ee24dcb36e23c4f741c8f5d8a90991094..3b4f224822d31fd7aed4189da903a3ac8f32b099 100644 (file)
@@ -1,17 +1,19 @@
 #!@SHELL@
 # tfmtoafm.sh --urg
 
-if [ $# -ne 1 ]; then
-       echo "Usage: tfmtoafm FONT"
+tfm=$1
+font=`basename $1 .tfm`
+
+if [ $# -ne 1 -o "$tfm" = "$font" ]; then
+       echo "Usage: tfmtoafm TFM-FILE"
        echo
-       echo "example: tfmtoafm cmr10"
+       echo "example: tfmtoafm cmr10.tfm"
        exit 2
 fi
 
-font=$1
 size=`echo $font | sed "s/[^0-9]*//"`
-afm=$1.afm
-fontfile=`kpsewhich $1.tfm`
+afm=$font.afm
+fontfile=`kpsewhich $font.tfm`
 t1=/tmp/tfmtoafm1-$$
 t2=/tmp/tfmtoafm2-$$
 rm -f $t1 $t2 $font $afm
@@ -23,19 +25,22 @@ scaling=`awk -v OFMT='%.5f' '/designsize/ {print $2/'$size/1000} $font`
 tail -127 $font | cut -f 1-2 > $t1
 cat $t1 | cut -d, -f 1-2 > $t2
 rm $t1
-nl -ba $t2 | awk -F '[ \t,]+' '{print "C "$2";\t"$3";\tB 0.00 0.00 "$4/'"$scaling"'" "$5/'"$scaling"'";"}' > $t1
+#nl -ba $t2 | awk -F '[ \t,]+' '{print "C "$2";\t"$3";\tB 0.00 0.00 "$4/'"$scaling"'" "$5/'"$scaling"'";"}' > $t1
+nl -ba $t2 | awk -F '[ \t,]+' '{print "C "$2" ; WX 0 ; N "$3" ; B 0.00 0.00 "$4/'"$scaling"'" "$5/'"$scaling"'" ;"}' > $t1
 
+count=`cat $t1 | wc -l`
+count=$((count + 1))
 cat > $afm <<EOF
 FontName cmr
 StartFontMetrics
-StartCharMetrics
+StartCharMetrics $count
 EOF
 # urg 0 is difficult but we need it
-head -1 $t1 | sed "s/1;/0;/g" >> $afm
+head -1 $t1 | sed -e "s/C 1 ;/C 0 ;/" -e "s/-1 ;/-0 ;/" >> $afm
 cat $t1 >> $afm
 cat >> $afm <<EOF
 EndCharMetrics
 EndFontMetrics
 EOF
-rm $t1 $t2
+rm $t1 $t2 $font
 
index 1fda480437068b00a4030c4eb20ad7e77ed1cd10..39a93dd20476743d6f49dd7ef732d163416a4d05 100644 (file)
@@ -1 +1 @@
-cpp -P -traditional -o l-fake.ly  -DFAKE_GRACE les-nereides.ly
\ No newline at end of file
+cpp -P -traditional -o l-fake.ly  -DFAKE_GRACE les-nereides.ly
index 36eeadb3c2328702ee915668f33744436e0320e9..585c3e424d66975418b6737c2970439a7697680b 100644 (file)
@@ -120,19 +120,19 @@ treble = \context Voice=treble \notes\relative c''{
 
     \property Score.PaperColumn  \push #'space-factor = #0.6
     \property Score.PaperColumn  \push #'to-musical-spacing-factor = #0.04
-    \property Voice.NoteHead \push #'font-size = #-1
-    \property Voice.Stem \push #'font-size = #-1
+    \property Voice.NoteHead \push #'font-relative-size = #-1
+    \property Voice.Stem \push #'font-relative-size = #-1
     \property Voice.Stem \push #'length = #6
     \property Voice.Stem \push #'beamed-lengths =
         #(map (lambda (x) (* 1.25 x)) '(0.0 2.5 2.0 1.5))
     \property Voice.Stem \push #'beamed-minimum-lengths =
         #(map (lambda (x) (* 1.25 x)) '(0.0 1.5 1.25 1.0))
 
-    \property Voice.Beam \push #'font-size = #-1
-    \property Voice.TextScript \push #'font-size = #-1
-    \property Voice.Fingering \push #'font-size = #-1
-    \property Voice.Slur \push #'font-size = #-1
-    \property Staff.Accidentals \push #'font-size = #-1
+    \property Voice.Beam \push #'font-relative-size = #-1
+    \property Voice.TextScript \push #'font-relative-size = #-1
+    \property Voice.Fingering \push #'font-relative-size = #-1
+    \property Voice.Slur \push #'font-relative-size = #-1
+    \property Staff.Accidentals \push #'font-relative-size = #-1
     \property Voice.Beam \push #'space-function = #grace-beam-space-function
 
     )cis16
@@ -144,16 +144,16 @@ treble = \context Voice=treble \notes\relative c''{
     \property Staff."c0-position" = #-6
     [cis32 a^1 fis^4 dis] [cis a )fis-2] s % s s
 
-    \property Voice.NoteHead \pop #'font-size
-    \property Voice.Stem \pop #'font-size
+    \property Voice.NoteHead \pop #'font-relative-size
+    \property Voice.Stem \pop #'font-relative-size
     \property Voice.Stem \pop #'length
     \property Voice.Stem \pop #'beamed-lengths
     \property Voice.Stem \pop #'beamed-minimum-lengths
-    \property Voice.Beam \pop #'font-size
-    \property Voice.TextScript \pop #'font-size
-    \property Voice.Fingering \pop #'font-size
-    \property Voice.Slur \pop #'font-size
-    \property Staff.Accidentals \pop #'font-size
+    \property Voice.Beam \pop #'font-relative-size
+    \property Voice.TextScript \pop #'font-relative-size
+    \property Voice.Fingering \pop #'font-relative-size
+    \property Voice.Slur \pop #'font-relative-size
+    \property Staff.Accidentals \pop #'font-relative-size
     \property Voice.Beam \pop #'space-function
     \property Score.PaperColumn  \pop #'space-factor
     \property Score.PaperColumn \pop #'to-musical-spacing-factor
@@ -266,17 +266,17 @@ bass = \context Voice=bass \notes\relative c{
     s4 s8 s32 s  s \clef bass;
     \property Score.PaperColumn  \push #'space-factor = #0.6
     \property Score.PaperColumn  \push #'to-musical-spacing-factor = #0.1
-    \property Voice.NoteHead \push #'font-size = #-1
-    \property Voice.Stem \push #'font-size = #-1
+    \property Voice.NoteHead \push #'font-relative-size = #-1
+    \property Voice.Stem \push #'font-relative-size = #-1
     \property Voice.Stem \push #'length = #6
-    \property Voice.Slur \push #'font-size = #-1
+    \property Voice.Slur \push #'font-relative-size = #-1
     \property Voice.Slur \push #'attachment-offset = #'((-0.5 . 0) . (0.5 . 0))
     <e,,,32( e,>
 
-    \property Voice.NoteHead \pop #'font-size
-    \property Voice.Stem \pop #'font-size
+    \property Voice.NoteHead \pop #'font-relative-size
+    \property Voice.Stem \pop #'font-relative-size
     \property Voice.Stem \pop #'length
-    \property Voice.Slur \pop #'font-size
+    \property Voice.Slur \pop #'font-relative-size
     \property Score.PaperColumn  \pop #'space-factor
     \property Score.PaperColumn \pop #'to-musical-spacing-factor
      <)gis'2 e>
@@ -440,7 +440,7 @@ lowerDynamics = \context Dynamics=lower \notes{
            \consists "Text_engraver";
            %GURGURGU, text is initialised using TextScript
            TextScript \push #'style = #"italic"
-           %%% TextScript \push #'font-size = #2
+           %%% TextScript \push #'font-relative-size = #2
 
            \consists "Skip_req_swallow_translator";
 
index 52e9c4fb8a06517dbb4472a9e382ef5c32b3b6f9..5584a545213b37a297551a46a80e4e85a81b0b72 100644 (file)
@@ -6,8 +6,8 @@
 rh=\property Thread.NoteHead \push #'style = #'default
 lh=\property Thread.NoteHead \push #'style = #'diamond
 
-n = \property Thread.NoteHead \pop #'font-size % = #'diamond %\property Thread.fontSize=#0  
-sm=\property Thread.NoteHead \push #'font-size = #-1 
+n = \property Thread.NoteHead \pop #'font-relative-size % = #'diamond %\property Thread.fontSize=#0  
+sm=\property Thread.NoteHead \push #'font-relative-size = #-1 
 
 % su=\property Voice.verticalDirection=#1  
 % sd=\property Voice.verticalDirection=#-1
index bc20a85f4c09cfaa6219335add89d0d2a65b3f88..760ab2ab7d26226b20ad7f2becfb8f625015d219 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.3.96"
+\version "1.3.98"
 %{
   See scm/chord-names.scm: chord::names-alist-american
   James Hammons <jlhamm@pacificnet.net>
 
 chord = \notes\transpose c''\chords{
        \property ChordNames.ChordNames \push #'style = #"american"
-c
-cs:m
-df:m5-
-c:5^3
-c:4^3
-c:5+
-c:2^3
-c:m5-.7-
-c:7+
-c:7.4^3
-c:5+.7
-c:m5-.7
-c:5-.7+
-c:m7+
-c:m7
-c:7
-c:6
-c:m6
-c:9^7
-c:6.9^7
-c:9
-c:7+.9
-c:m7.9
+c         % Major triad
+cs:m      % Minor triad
+df:m5-    % Diminished triad
+c:5^3     % Root-fifth chord
+c:4^3     % Suspended fourth triad
+c:5+      % Augmented triad
+c:2^3     % "2" chord
+c:m5-.7-  % Diminished seventh
+c:7+      % Major seventh
+c:7.4^3   % Dominant seventh suspended fourth
+c:5+.7    % Augmented dominant seventh
+c:m5-.7   % "Half" diminished seventh
+c:5-.7    % Dominant seventh flat fifth
+c:5-.7+   % Major seventh flat fifth
+c:m7+     % Minor-major seventh
+c:m7      % Minor seventh
+c:7       % Dominant seventh
+c:6       % Major sixth
+c:m6      % Minor sixth
+c:9^7     % Major triad w/added ninth
+c:6.9^7   % Six/Nine chord
+c:9       % Dominant ninth 
+c:7+.9    % Major ninth
+c:m7.9    % Minor ninth
 }
 
 \score{
@@ -53,5 +54,3 @@ c:m7.9
                }
     }
 }
-
-%    (((0 . 0) (2 . -1) (4 . 0)) . ("Bar" . ("script" . "Baz")))
index e9be547c7a0ee66a3a4ecd98f3f2e360a740e76e..04a13098bee22b4bd9b983d5f9e81548b102a0de 100644 (file)
   \translator {
        \GraceContext
 
-       NoteHead \push #'font-size = #-2
-       NoteHead \push #'font-size = #-2        
+       NoteHead \push #'font-relative-size = #-2
+       NoteHead \push #'font-relative-size = #-2       
         Stem \push #'flag-style = ##f
     % The following determines the length of stems without beams
     % default is between 2.8 and 4.0 depending on the number of flags
          Stem \push #'length = #6      
-        Stem \push #'font-size = #-2
+        Stem \push #'font-relative-size = #-2
        GraceAlignItem \push #'horizontal-space = #1
        Stem \push #'flag-style = #""
  
index 7dba0a417ef81d589effd0bcd5bf01a395a2035d..876c5b9307e7f5bbf2fd3f45f41259ed4f5e8986 100644 (file)
@@ -4,12 +4,12 @@
        CueVoiceContext = \translator {
             \VoiceContext
             \name CueVoice;
-            basicNoteHeadProperties \push #'font-size = #-1
-            basicStemProperties \push #'font-size = #-1
-            basicBeamProperties \push #'font-size = #-1
-            basicTextScriptProperties \push #'font-size = #-1
-            basicSlurProperties \push #'font-size = #-1
-            basicLocalKeyProperties \push #'font-size = #-1
+            basicNoteHeadProperties \push #'font-relative-size = #-1
+            basicStemProperties \push #'font-relative-size = #-1
+            basicBeamProperties \push #'font-relative-size = #-1
+            basicTextScriptProperties \push #'font-relative-size = #-1
+            basicSlurProperties \push #'font-relative-size = #-1
+            basicLocalKeyProperties \push #'font-relative-size = #-1
        };
        \translator{ \CueVoiceContext }
        StaffContext = \translator{\StaffContext
index 8bcafc2aea2a6fbf9b6e90cc3e1579c8c9ec8c77..5c79a485d5d915ba72b8bba8d559bc2188c9158e 100644 (file)
@@ -16,8 +16,8 @@
 
         ;(((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (super "o7"))
         ;jazz: the delta, see jazz-chords.ly
-        (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) .  (super ((font-family . "math") "N")))
-        (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((raise . 0.5) ((kern . -0.5) ((font-size . "-3") "/"))) "7")) ; slashed o
+        (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) .  (super ((font-family . math) "N")))
+        (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((raise . 0.5) ((kern . -0.5) ((font-relative-size . -3) "/"))) "7")) ; slashed o
 
         ;(((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (super "x7"))
         ; slashed o
index 9d7703fdf043929be8076db94e1de9cca661e036..6ca28e3d5d7cdb276f4c2a836230fd9ae4be685d 100644 (file)
 
                d-\textscript #'(lines "one" "two" "three")
                e-\textscript #'(lines (bold "one") 
-                 (rows "and" "there" "is" ((font-family . "number") "2"))
+                 (rows "and" "there" "is" ((font-family . number) "2"))
                  (italic "three"))
                f-\textscript #'(finger "3")
-               g-\textscript #'(music (named "noteheads-2"))
+               g-\textscript #'(music (named "noteheads-2" "flags-u3"))
        }
        \paper{
                linewidth = -1.\mm;
                \translator{
                        \ScoreContext
-                       TextScript \push #'font-family = #"roman"
+                       TextScript \push #'font-family = #'roman
                        TextScript \pop #'no-spacing-rods
                        TextScript \push #'direction = #1
                }
index c91a964ede06ab1232f6af7f8bdb81794ad31b58..2fb31b21ce53cc2ffd8355839764a26c968fb3c4 100644 (file)
@@ -77,7 +77,7 @@ You can use identifiers, eg.
 
 \paper {
 \translator { \VoiceContext
-       NoteHead \push #'font-size =  #-2
+       NoteHead \push #'font-relative-size =  #-2
 }
 }
 }
index 4802e0507c9ed2420495d5a0221605388158fa93..5bf45d838450967da7633df0bc461fd6b91e9756 100644 (file)
@@ -60,7 +60,12 @@ Break_algorithm::generate_spacing_problem (Link_array<Score_element> curline, In
 {
   Simple_spacer * sp =  new Simple_spacer;
   Paper_def * d = pscore_l_->paper_l_;
-  sp->default_space_f_ = d->get_var ("loose_column_distance");
+  /*
+    this is hardcoded, but this shouldn't happen anyway.
+    used to be g et_var ("loose_column_distance");        
+   */
+  sp->default_space_f_ = 1.0;
+
 
   sp->indent_f_ = line[LEFT];
 
index a899dc46f664ddb7d2259d3c006caa90684ddc89..e5f529a6e369e6e5139947253d536cece16b6095 100644 (file)
@@ -34,7 +34,7 @@ public:
                   Real hinf, Real r0);
   Bezier get_bezier () const;
 
-  void minimise_enclosed_area (Paper_def* paper_l, Real beauty);
+  void minimise_enclosed_area (Paper_def* paper_l, Real beauty, SCM props);
   Real fit_factor () const;
   void blow_fit ();
   Real enclosed_area_f () const;
index 6f5f97bd65582ee562be32a318167328bf2f708f..b489d299896b5d7aab16332bd37599443affcf68 100644 (file)
@@ -230,7 +230,7 @@ Score_element::lookup_l () const
   if (!lookup_l_)
     {
       Score_element * urg = (Score_element*)this;
-      SCM sz = urg->remove_elt_property ("font-size");
+      SCM sz = urg->remove_elt_property ("font-relative-size");
       int i = (gh_number_p (sz))
        ? gh_scm2int  (sz)
        : 0;
index 5e611e7c179969b5c44a286dfb838e3155feafae..c3fc491d50c12a8ef47c44aef196bfaa3dbf08e2 100644 (file)
@@ -144,7 +144,8 @@ Slur_bezier_bow::area_x_gradients_array (Real area)
   algorithm, instead of this homebrew.
 */
 void
-Slur_bezier_bow::minimise_enclosed_area (Paper_def* paper_l, Real beauty)
+Slur_bezier_bow::minimise_enclosed_area (Paper_def* paper_l, Real beauty,
+                                        SCM bezier_props)
 {
   Real length = curve_.control_[3][X_AXIS]; 
   Real beautiful = beauty * length * slur_height (length, h_inf_, r_0_);
@@ -153,11 +154,11 @@ Slur_bezier_bow::minimise_enclosed_area (Paper_def* paper_l, Real beauty)
   if (fit_factor () > 1.0)
     blow_fit ();
   
-  Real pct_c0 = paper_l->get_var ("bezier_pct_c0");
-  Real pct_c3 = paper_l->get_var ("bezier_pct_c3");
-  Real pct_in_max = paper_l->get_var ("bezier_pct_in_max");
-  Real pct_out_max = paper_l->get_var ("bezier_pct_out_max");
-  Real steps = paper_l->get_var ("bezier_area_steps");
+  Real pct_c0 = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-c0"), bezier_props)));
+  Real pct_c3 = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-c3"), bezier_props)));
+  Real pct_in_max =  gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-in-max"), bezier_props)));
+  Real pct_out_max = gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-pct-out-max"), bezier_props)));
+  Real steps =  gh_scm2double (gh_cdr (scm_assoc (ly_symbol2scm ("bezier-area-steps"),bezier_props)));
 
   for (int i=0; i < steps; i++)
     {
index f52240d327dbda2a8a39822ceb9aefe035c423de..25518e8d2f3272b9456b43098004ed8e0dd9b237 100644 (file)
@@ -555,7 +555,7 @@ Slur::set_control_points (Score_element*me)
       if (gh_number_p (ssb))
        sb = gh_scm2double (ssb);
 
-      bb.minimise_enclosed_area (me->paper_l(), sb);
+      bb.minimise_enclosed_area (me->paper_l(), sb, details);
       SCM sbf = scm_assq (ly_symbol2scm ("force-blowfit"), details);
       Real bff = 1.0;
       if (gh_pair_p (sbf) && gh_number_p (gh_cdr (sbf)))
index c5b306092a74d5b26ded8c9fc9b02238cbb73ea6..71178a000493961d33696734f2c8a5803a61a883 100644 (file)
@@ -65,7 +65,7 @@ Spacing_spanner::do_measure (Score_element*me, Link_array<Score_element> cols)
     }
   mean_shortest /= n;
 
-  Real non_musical_space_strength = me->paper_l ()->get_var ("breakable_column_space_strength");
+
   for (int i= 0; i < cols.size () - 1; i++)
     {
       Item * l = dynamic_cast<Item*> (cols[i]);
@@ -129,7 +129,10 @@ Spacing_spanner::do_measure (Score_element*me, Link_array<Score_element> cols)
          */
          SCM sfac =lc->get_elt_property ("space-factor");
          if (Item::breakable_b (lc) || lc->original_l_)
-           s.strength_f_ =  non_musical_space_strength;
+           {
+             s.strength_f_ =
+               gh_scm2double (lc->get_elt_property ("column-space-strength"));
+           }
          else if (gh_number_p (sfac))
            left_distance *= gh_scm2double (sfac);
 
@@ -151,7 +154,7 @@ Spacing_spanner::do_measure (Score_element*me, Link_array<Score_element> cols)
          if (rc->musical_b ())
           {
              if (to_boolean (rc->get_elt_property ("contains-grace")))
-               right_dist *= me->paper_l ()->get_var ("before_grace_spacing_factor"); // fixme.
+               right_dist *= gh_scm2double (rc->get_elt_property ("before-grace-spacing-factor")); // fixme.
              else
                right_dist *= gh_scm2double (lc->get_elt_property ("before-musical-spacing-factor"));
           }
@@ -227,10 +230,10 @@ Real
 Spacing_spanner::get_duration_space (Score_element*me, Moment d, Moment shortest) 
 {
   Real log =  log_2 (shortest);
-  Real k=   me->paper_l ()->get_var ("arithmetic_basicspace")
+  Real k = gh_scm2double (me->get_elt_property  ("arithmetic-basicspace"))
     - log;
   
-  return (log_2 (d) + k) * me->paper_l ()->get_var ("arithmetic_multiplier");
+  return (log_2 (d) + k) * gh_scm2double (me->get_elt_property ("arithmetic-multiplier")) * me->paper_l ()->get_var ("staffspace");
 }
 
 
@@ -308,8 +311,9 @@ Spacing_spanner::stem_dir_correction (Score_element*me, Score_element*l, Score_e
 
 
   Real correction = 0.0;
-  Real ssc = me->paper_l ()->get_var("stemSpacingCorrection");
+  Real ssc = gh_scm2double (me->get_elt_property("stem-spacing-correction"));
 
+  ssc *= me->paper_l ()->get_var ("staffspace");
 
   if (d1 && d2 && d1 * d2 == -1)
     {
@@ -350,8 +354,6 @@ Spacing_spanner::set_springs (SCM smob)
 
 
 
-
-
 /*
   maximum-duration-for-spacing
 From: bf250@freenet.carleton.ca (John Sankey)
index 60c71da79679865b9a67b87eca7fb8f145955fcf..acfd960192c73fe48857f5acfebb287819c60134 100644 (file)
@@ -158,13 +158,13 @@ GraceContext=\translator {
        Stem \push  #'stem-length = #6.0
        Stem \push  #'direction = #1
 
-       NoteHead \push #'font-size = #-1
-       Stem \push #'font-size = #-1
+       NoteHead \push #'font-relative-size = #-1
+       Stem \push #'font-relative-size = #-1
        Stem \push #'stem-shorten = #'(0)
-       Beam \push #'font-size = #-1
-       TextScript \push #'font-size = #-1
-       Slur \push #'font-size = #-1
-       Accidentals \push #'font-size = #-1
+       Beam \push #'font-relative-size = #-1
+       TextScript \push #'font-relative-size = #-1
+       Slur \push #'font-relative-size = #-1
+       Accidentals \push #'font-relative-size = #-1
        Beam \push #'thickness = #0.3
        Beam \push #'space-function = #(lambda (x) 0.5)
 
index 027f47c8830a0097c7fab174447b69744221081b..220f84ef341f3bc7ad3f59c02e10a7d59e9e0db9 100644 (file)
@@ -15,10 +15,15 @@ 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
+#CM_AFM_FILES = cmr10
+
+$(outdir)/cmr10.afm:
+       -$(BASH) $(buildscripts)/tfmtoafm.sh `kpsewhich cmr10.tfm`
+       -mv $(@F) $@
 
 LOG_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.log))
 TEXTABLES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.tex))
-AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm) $(AF_FILES:.af=.afm))
+AFM_FILES = $(addprefix $(outdir)/, $(FET_FILES:.mf=.afm) $(AF_FILES:.af=.afm) $(addsuffix .afm, $(CM_AFM_FILES)))
 TFM_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.tfm))
 PFA_FILES = $(addprefix $(outdir)/, $(FONT_FILES:.mf=.pfa)) 
 
index a0cd520bf98b98bf0ee32428738cdbf6d06b1560..14b8de6192f2599310f3115b8a7ecf70d34ccf03 100644 (file)
         ;jazz: the delta, see jazz-chords.ly
         ;;(((0 . 0) (2 . -1) (4 . -1) (6 . -2)) .  (super ((font-family . "math") "N"))
         ;; slashed o
-        (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((raise . 0.5) ((kern . -0.5) ((font-size . "-3") "/"))) "7")) ; slashed o
+        (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (rows ((raise . 1) "o") ((raise . 0.5) ((kern . -0.5) ((font-relative-size . -3) "/"))) "7")) ; slashed o
         (((0 . 0) (2 . 0) (4 . 1) (6 . -1)) . ("aug7"))
-        (((0 . 0) (2 . 0) (4 . -1) (6 . 0)) . (rows "maj7" (music (named ("accidentals--1"))) "5"))
+        (((0 . 0) (2 . 0) (4 . -1) (6 . 0)) . (rows "maj7" ((font-relative-size . -2) ((raise . 0.2) (music (named "accidentals--1")))) "5"))
+        (((0 . 0) (2 . 0) (4 . -1) (6 . -1)) . (rows "7" ((font-relative-size . -2) ((raise . 0.2) (music (named "accidentals--1")))) "5"))
         (((0 . 0) (3 . 0) (4 . 0) (6 . -1)) . ("7sus4"))
         ;; Common ninth chords
         (((0 . 0) (2 . 0) (4 . 0) (5 . 0) (1 . 0)) . ("6/9")) ;; we don't want the '/no7'
-        (((0 . 0) (2 . 0) (4 . 0) (5 . 0)) . ("maj6"))
+        (((0 . 0) (2 . 0) (4 . 0) (5 . 0)) . ("6"))
         (((0 . 0) (2 . -1) (4 . 0) (5 . 0)) . ("m6"))
         (((0 . 0) (2 . 0) (4 . 0) (1 . 0)) . ("add9"))
         (((0 . 0) (2 . 0) (4 . 0) (6 . 0) (1 . 0)) . ("maj9"))
         )
       chord::names-alist-american))
 
+;; Jazz chords, by Atte AndrĂ© Jensen
+;; Note: This uses the american list as a base
+
+(define chord::names-alist-jazz '())
+(set! chord::names-alist-jazz
+      (append 
+      '(
+         ; half diminished seventh chord = slashed o
+         (((0 . 0) (2 . -1) (4 . -1) (6 . -1)) . (("o" (type . "super")) ("/" (size . -2) (offset . (-0.58 . 0.5))) ))
+         ; diminished seventh chord =  o
+         (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . (("o" (type . "super"))))
+         ; major seventh chord = triangle
+         (((0 . 0) (2 . 0) (4 . 0) (6 . 0)) .  ((super ((font-family . "math") "N")) (size . -3)))
+         ; minor major seventh chord = m triangle
+         (((0 . 0) (2 . -1) (4 . 0) (6 . 0)) .  (("m") ((super ((font-family . math) "N")) (size . -3))))
+         ; augmented dominant = +7
+         (((0 . 0) (2 . 0) (4 . +1) (6 . -1)) . (super "+7"))
+
+;; Missing jazz chord definitions go here (note new syntax: see american for hints)
+
+       )
+      chord::names-alist-american))
+
 ;;;;;;;;;;
 
 
               (list
                (append '(named)
                        (list
-                         (append '((font-size . "-2"))
+                         (append '((font-relative-size . -2))
+                               (list (append '((raise . 0.6))
                                  (list
                                   (string-append "accidentals-" 
-                                                 (number->string (caddr pitch)))))))))))))
-
+                                                 (number->string (caddr pitch)))))))))))))))
 
 (define (step->text pitch)
   (string-append
        (subtractions #f))
     (chord::inner-name-banter tonic user-name additions subtractions base-and-inversion)))
 
+;; Jazz style--basically similar to american with minor changes
+(define (chord::name-jazz tonic user-name pitches base-and-inversion)
+  (let ((additions (chord::additions pitches))
+       (subtractions #f))
+    (chord::inner-name-banter tonic user-name additions subtractions base-and-inversion)))
+
 ;; C++ entry point
 ;; 
 ;; Check for each subset of chord, full chord first, if there's a
index 2903c24d0c2ac966e28f01a7b2c2f2e061328d71..882f083290146a0e9f6b099647ccf04a1039d2cd 100644 (file)
 
 (define generic-All-properties
   (cons 'all
-       (list (list 'fontSize number? 'font-size))))
+       (list (list 'fontSize number? 'font-relative-size))))
 
 
 (define generic-notehead-properties
index a17cf91fd029e8923a61ca704e19d4e3e532a445..f22bc5131e259cce290136a937fc0f383bd11472 100644 (file)
    (extremity-rules . ,default-slur-extremity-rules)
    (extremity-offset-alist . ,default-slur-extremity-offset-alist)
    (de-uglify-parameters . ( 1.5  0.8  -2.0))
-   (details . ((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5)))
+   (details . ((height-limit . 2.0) (ratio . 0.333) (force-blowfit . 0.5)
+       (bezier-pct-c0 . -0.2) (bezier-pct-c3 . 0.000006)
+       (bezier-pct-out-max . 0.8) (bezier-pct-in-max . 1.2)
+       (bezier-area-steps . 1.0)))
    (beautiful . 0.5)
    (y-free . 0.75)
    (attachment-offset . ((0 . 0) . (0 . 0)))
index 3dfc56f3b523b8311ab67124157a14a31c240548..c6d70e2e4c6a68c63a3a0fd7eb92773586e880fc 100644 (file)
@@ -117,7 +117,7 @@ if 1:                                       # need new a namespace
                        sys.stderr.write ('\nNot smart enough to convert \\octave')
                        raise FatalConversionError()
                
-               return lines
+               return str
 
        conversions.append (
                ((0,1,19), conv, 'deprecated \\octave; can\'t convert automatically'))
@@ -148,7 +148,7 @@ if 1:
 
 if 1:
        def conv (str):
-               return lines
+               return str
 
        conversions.append (
                ((1,0,0), conv, '0.1.21 -> 1.0.0 '))
@@ -168,9 +168,9 @@ if 1:
 
 if 1:
        def conv(str):
-               if re.search ('\\\\header', lines):
+               if re.search ('\\\\header', str):
                        sys.stderr.write ('\nNot smart enough to convert to new \\header format')
-               return lines
+               return str
        
        conversions.append ((1,0,2), conv, '\\header { key = concat + with + operator }')
 
@@ -233,7 +233,7 @@ if 1:
 
 if 1:
        def conv(str):
-               return lines
+               return str
        conversions.append ((1,0,12), conv, 'Chord syntax stuff')
 
 
@@ -541,6 +541,10 @@ if 1:
 if 1:
        def conv (str):
                str = re.sub ('ChordNames*', 'ChordNames', str)
+               if re.search ('\\\\textscript "[^"]* *"[^"]*"', str):
+                       sys.stderr.write ('\nNot smart enough to convert to new \\textscript markup text')
+
+               str = re.sub ('\\textscript +\("[^"]*"\)', '\\textscript #\1', str)
 
                return str