]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.3.3 release/1.3.3
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 3 Nov 1999 15:06:40 +0000 (16:06 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Wed, 3 Nov 1999 15:06:40 +0000 (16:06 +0100)
61 files changed:
CHANGES
Documentation/topdocs/INSTALL.texi
INSTALL.txt
TODO
VERSION
aclocal.m4
configure
flower/include/array.hh
flower/include/array.icc
input/test/banter-chords.ly [deleted file]
input/test/chords.ly
input/test/tie-accidental.ly
lily/bar-script-engraver.cc
lily/beam.cc
lily/bezier.cc
lily/bow.cc
lily/breathing-sign.cc
lily/chord-name-engraver.cc
lily/chord.cc
lily/directional-spanner.cc
lily/dynamic-engraver.cc
lily/include/bezier.hh
lily/include/breathing-sign.hh
lily/include/chord-name-engraver.hh
lily/include/chord.hh
lily/include/directional-spanner.hh
lily/include/request.hh
lily/include/staff-side.hh
lily/include/stem-info.hh
lily/include/stem.hh
lily/musical-request.cc
lily/note-column.cc
lily/script-column.cc
lily/script-engraver.cc
lily/script.cc
lily/slur-engraver.cc
lily/slur.cc
lily/staff-margin-engraver.cc
lily/staff-side.cc
lily/stem-engraver.cc
lily/stem-info.cc
lily/stem-staff-side.cc
lily/stem-tremolo.cc
lily/stem.cc
lily/text-engraver.cc
lily/tie-engraver.cc
lily/tie.cc
lily/tuplet-spanner.cc
ly/chord-modifiers.ly
ly/paper11.ly
ly/paper13.ly
ly/paper16.ly
ly/paper20.ly
ly/paper23.ly
ly/paper26.ly
make/out/lilypond.lsm
make/out/lilypond.spec
mf/GNUmakefile
scm/chord-names.scm [deleted file]
scm/lily.scm
stepmake/aclocal.m4

diff --git a/CHANGES b/CHANGES
index 068c46dcaf1f963b293dded3014712aba4daa8d6..a236328eae7c18987eacdd1c9d1a666ee241d771 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,14 +1,8 @@
-pl 2.jcn3
-       - chords:
-         * Chord is item
-         * junked TeX hacking
-         * configurable with styled strings from scm
-         * fixes: dim, /no X, tonic != C
+pl 2.hwn1
+       - bf: dynamic style.
+       - prepare to move dir_ into SCM. 
 
 pl 2.jcn2
-       - chords from  scm 
-
-pl 2.jcn1
        - chord fixes: 
           * inversion request: no inversion guessing for chord entry
           * bass request: c/+b to add bass note not part of chord
@@ -17,10 +11,11 @@ pl 2.jcn1
           * C:m5- displays as "Cdim"
           * C:m5-7- displays as "Co"
 
-pl 3.jcn1
+pl 2.jcn1
        - moved bracket vars to params
        - reverted broken lilypond-devel
 
+*************
 pl 1.uu1
        - David's patches:
        * mfplain.mp detection
index 1e40606d897364adb112e6c0e05ab490d19c319f..f4cd0c6efd9a084b7099bca2182183fb9b0b13e0 100644 (file)
@@ -80,9 +80,13 @@ Available at
 @uref{ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry,ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry}
 or at mirror site @uref{ftp://ftp.dante.de,ftp://ftp.dante.de}
 
-@item MetaPost, if you want to use direct PostScript output. Please
-note  that  tetex-0.4pl8 (included with Redhat 5.x) does not include
-@file{mfplain.mp}, which is needed  for producing the scaleable font files.
+@item MetaPost, needed for generating PostScript fonts. Please
+note that tetex-0.4pl8 (included with Redhat 5.x) does not include
+@file{mfplain.mp}, which is needed for producing the scalable font
+files.
+
+If you do not want to use PostScript output, edit @file{mf/GNUmakefile}.
+
 
 @end itemize
 
index 5021801990a0a87e28e8e9b7ca9595ba624b3e5f..b4ed349865fb5a10c5e1687cec07ac2a6a14c526 100644 (file)
@@ -76,11 +76,13 @@ Prerequisites
      (ftp://ftp.ctan.org/tex-archive/macros/latex/contrib/supported/geometry)
      or at mirror site ftp://ftp.dante.de (ftp://ftp.dante.de)
 
-   * MetaPost, if you want to use direct PostScript output. Please note
-     that  tetex-0.4pl8 (included with Redhat 5.x) does not include
-     `mfplain.mp', which is needed  for producing the scaleable font
+   * MetaPost, needed for generating PostScript fonts. Please note that
+     tetex-0.4pl8 (included with Redhat 5.x) does not include
+     `mfplain.mp', which is needed for producing the scalable font
      files.
 
+     If you do not want to use PostScript output, edit `mf/GNUmakefile'.
+
 
 Running
 =======
diff --git a/TODO b/TODO
index 95366c40c26455e9f92a6d3051aab525e911f708..07f05fc75b2091ffbc2a5d3b6431192d28b0787d 100644 (file)
--- a/TODO
+++ b/TODO
@@ -18,10 +18,6 @@ Grep -i for TODO, FIXME and ugh/ugr/urg.
        ctor_dict["Score_element"]->create_func ();
 
 . * acc at tied note after linebreak.
-. * fix font-naming and selecting
-. * fix naming: \interline Context.staffLineLeading, staff_line_leading (),
-staff_position staff_space
-. * chord tonic: placement of accidental  C#, Cb (from scm and C++)
 . * note head on stem err msg in dutch.
 . *  why need to run -C mf twice?
 . * setting indent to 0 with \shape fails
diff --git a/VERSION b/VERSION
index 0d7c252ced24a6f4bc92e72f6fc3b1195bb8b268..5b55b3beb13c1725b0bd2537e97c3d2bbe27eef7 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
-PATCH_LEVEL=2
-MY_PATCH_LEVEL=jcn3
+PATCH_LEVEL=3
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 3bd68ad62f397a1d07402f5e7b2951f2b0280d24..c3aad4ba2156cf7a7040ad330f7cefe9f567adfc 100644 (file)
@@ -565,7 +565,7 @@ AC_DEFUN(AC_STEPMAKE_TEXMF, [
     #
     # For now let people define these in their environments
     #
-    : ${MFPLAIN_MP=`kpsewhich mfplain.mp`}
+    : ${MFPLAIN_MP=`kpsewhich mp mfplain.mp`}
     : ${INIMETAPOST_FLAGS='-interaction=nonstopmode'}
 
     rm -f mfput.*
index c59995198b1b1f0ddeee99182f02e1684dd3c69f..394dda912c856a06751a0eecc3970deffcce2131 100755 (executable)
--- a/configure
+++ b/configure
@@ -2553,7 +2553,7 @@ echo "configure:2545: checking for working metafont mode" >&5
     #
     # For now let people define these in their environments
     #
-    : ${MFPLAIN_MP=`kpsewhich mfplain.mp`}
+    : ${MFPLAIN_MP=`kpsewhich mp mfplain.mp`}
     : ${INIMETAPOST_FLAGS='-interaction=nonstopmode'}
 
     rm -f mfput.*
index f8f6e352fdc7a0a92c7b609bfb7b2c1ea2f70c62..d6349588aa03324d0c81e3a14573f9abf012e570 100644 (file)
@@ -13,7 +13,7 @@
 #endif
 
 /// copy a bare (C-)array from #src# to #dest# sized  #count#
-template<class T> void arrcpy (T*dest, T const*src, int count);
+template<class T> void arrcpy (T*dest, T*src, int count);
 
 /**
   Scaleable array/stack template, for a type T with default constructor.
@@ -241,7 +241,7 @@ public:
       set_size (size_ + src.size_);
       arrcpy (array_p_+s,src.array_p_, src.size_);     
     }
-  Array<T> slice (int lower, int upper) const; 
+  Array<T> slice (int lower, int upper) ;
   void reverse();
 };
 
index 71de84a8acb485f9111560a96f9bac5426c92cb0..8b876ce85d2bca4e43ef1841ecec755f28f4d68e 100644 (file)
@@ -19,7 +19,7 @@
  */
 
 template<class T> INLINE void 
-arrcpy (T*dest, T const* src, int count)
+arrcpy (T*dest, T*src, int count)
 {
   for (int i_shadows_local=0; i_shadows_local < count ; i_shadows_local++)
 #ifdef __powerpc__
@@ -98,7 +98,7 @@ Array<T>::remove_array_p ()
 
 template<class T> INLINE
 Array<T>
-Array<T>::slice (int lower, int upper) const
+Array<T>::slice (int lower, int upper)
 {
   assert (lower >= 0 && lower <=upper&& upper <= size_);
   Array<T> r;
diff --git a/input/test/banter-chords.ly b/input/test/banter-chords.ly
deleted file mode 100644 (file)
index 307b865..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-\version "1.3.2";
-
-\header{
-enteredby =     "jcn";
-copyright =     "public domain";
-TestedFeatures =        "Banter named chords";
-}
-
-% test German (Banter) naming
-% for more conventional naming, comment scm stuff out
-
-% {
-#(set! pitch-names-alist
-      (append 
-      '(
-       ; use these for German naming
-       ((6 . 0) . ("H" ""))
-       ((6 . -1) . ("B" ("feta-1" . "\12")))
-       )
-      pitch-names-alist))
-
-#(set! chord-names-alist
-      (append 
-      '(
-        (((0 . 0) (2 . -1) (4 . -1)) . ("m" . ("script" . "5-")))
-       ; Co iso Cm5-7-
-       ; urg, niet te pruimen
-        ; (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . ("" . ("feta-1" . ".")))
-        (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . ("" . ("script" . "o")))
-       )))
-% }
-
-chord = \notes\transpose c''\chords{
-       % dim modifier means: lower all implicit additions
-       c:dim9
-       c:dim
-       c:dim7
-       % explicit additions are taken as entered:
-       c:m5-.7-
-       % note that 7 is a special case: it's always lowered by 1...
-       c:dim7-.9
-       c:dim9-.11
-
-       % test German names
-       b:dim7
-       bes:m5-
-
-       \break
-
-       c:sus2  %?
-       c:sus4
-       c^3
-       c^3.5
-       c:2.6^5
-       c:dim^5-
-       c:dim7^5-
-       cis:m5-
-}
-
-\score{
-       <
-               \context ChordNames \chord
-               \context Staff \chord
-       >
-}
-
index cf6251d30d3e0479e2b0b48ab6c4e96b95ed32d9..c74d5024304f974f5f42f14fb7c90d8d143e89e6 100644 (file)
@@ -1,4 +1,4 @@
-\version "1.3.2";
+\version "1.2.0";
 
 %{
 Would this be acceptable/good enough/convenient for entry?
@@ -9,7 +9,7 @@ Would this be acceptable/good enough/convenient for entry?
    Cb                     ces
    Cm; Cmin               c:3-; c:m; c:min
    Caug                   c:5+; c:aug;
-   Cdim                   c:3-.5-; c:dim
+   Cdim                   c:3-:5-; c:dim
    Cmaj7                  c:7+; c:maj
    C7                     c:7
    Csus; Csus4            c:4; c:sus
index 572fb97d7e0da16854bf0d7c1dba9c53482873fc..15722ba40309977f9fbd5dd4561657cad5304657 100644 (file)
@@ -9,4 +9,4 @@ g2 gis ~ |
 gis g4 gis |
 g2 gis( |
 )g gis4 gis |
-}
+}}
index 412f0390bb62efd81a775f0b2cd2cb0fdb507679..21de711e9ac5f435e263e466a0c4227ceaf44d17 100644 (file)
@@ -144,11 +144,11 @@ Bar_script_engraver::create_items (Request *rq)
   SCM prop = get_property (type_ + "Direction", 0);
   if (isdir_b (prop))
     {
-      staff_side_p_->dir_ = to_dir (prop);
+      staff_side_p_->set_direction ( to_dir (prop));
     }
   else 
     {
-      staff_side_p_->dir_ = UP;
+      staff_side_p_->set_direction ( UP);
     }
 
   staff_side_p_->set_victim(text_p_);
index d75f7906f2aa59343a4a6eecefd7e9080400b89e..0d7b93157f654be423184360cc1270220cad7835 100644 (file)
@@ -158,7 +158,7 @@ Beam::auto_knee (SCM gap, bool interstaff_b)
         {
          int y = (int)(stems_[i]->chord_start_f () / internote_f)
            + (int)sinfo_[i].interstaff_f_;
-         stems_[i]->dir_ = y < knee_y ? UP : DOWN;
+         stems_[i]->set_direction ( y < knee_y ? UP : DOWN);
          stems_[i]->set_elt_property ("dir-forced", SCM_BOOL_T);
        }
     }
@@ -182,10 +182,10 @@ Beam::do_pre_processing ()
     urg: it seems that info on whether beam (voice) dir was forced
          is being junked here?
   */
-  if (!dir_)
-    dir_ = get_default_dir ();
+  if (!get_direction ())
+    set_direction ( get_default_dir ());
   
-  set_direction (dir_);
+  set_direction (get_direction ());
 }
 
 void
@@ -213,8 +213,8 @@ Beam::do_post_processing ()
        if auto-knee did its work, most probably stem directions
        have changed, so we must recalculate all.
        */
-      dir_ = get_default_dir ();
-      set_direction (dir_);
+      set_direction ( get_default_dir ());
+      set_direction (get_direction ());
 
       /* auto-knees used to only work for slope = 0
         anyway, should be able to set slope per beam
@@ -255,8 +255,8 @@ Beam::get_default_dir () const
   for (int i=0; i <stems_.size (); i++)
     do {
       Stem *s = stems_[i];
-      int current = s->dir_ 
-       ? (1 + d * s->dir_)/2
+      int current = s->get_direction () 
+       ? (1 + d * s->get_direction ())/2
        : s->get_center_distance ((Direction)-d);
 
       if (current)
@@ -312,7 +312,7 @@ Beam::get_default_dir () const
 void
 Beam::set_direction (Direction d)
 {
-  dir_ = d;
+  set_direction ( d);
   for (int i=0; i <stems_.size (); i++)
     {
       Stem *s = stems_[i];
@@ -320,7 +320,7 @@ Beam::set_direction (Direction d)
 
       SCM force = s->remove_elt_property ("dir-forced");
       if (force == SCM_UNDEFINED)
-       s->dir_ = d;
+       s->set_direction ( d);
     }
 }
 
@@ -359,21 +359,21 @@ Beam::check_stemlengths_f (bool set_b)
       Real y = sinfo_[i].x_ * slope_f_ + left_y_;
 
       // correct for knee
-      if (dir_ != sinfo_[i].dir_)
+      if (get_direction () != sinfo_[i].get_direction ())
        {
          Real internote_f = sinfo_[i].stem_l_->staff_line_leading_f ()/2;
-         y -= dir_ * (beam_f / 2
+         y -= get_direction () * (beam_f / 2
                       + (sinfo_[i].mult_i_ - 1) * interbeam_f) / internote_f;
          if (!i && sinfo_[i].stem_l_->staff_symbol_l () !=
              sinfo_.top ().stem_l_->staff_symbol_l ())
-           y += dir_ * (multiple_i_ - (sinfo_[i].stem_l_->flag_i_ - 2) >? 0)
+           y += get_direction () * (multiple_i_ - (sinfo_[i].stem_l_->flag_i_ - 2) >? 0)
              * interbeam_f / internote_f;
        }
 
       if (set_b)
        sinfo_[i].stem_l_->set_stemend (y - sinfo_[i].interstaff_f_);
        
-      y *= dir_;
+      y *= get_direction ();
       if (y > sinfo_[i].maxy_f_)
        dy_f = dy_f <? sinfo_[i].maxy_f_ - y;
       if (y < sinfo_[i].miny_f_)
@@ -404,7 +404,7 @@ Beam::set_steminfo ()
       s->set_default_extents ();
       if (s->invisible_b ())
        continue;
-      if (((int)s->chord_start_f ()) && (s->dir_ != s->get_default_dir ()))
+      if (((int)s->chord_start_f ()) && (s->get_direction () != s->get_default_dir ()))
         forced_count_i++;
       total_count_i++;
     }
@@ -433,7 +433,7 @@ Beam::set_steminfo ()
       if (leftx == 0)
        leftx = info.x_;
       info.x_ -= leftx;
-      if (info.dir_ == dir_)
+      if (info.get_direction () == get_direction ())
         {
          if (forced_count_i == total_count_i)
            info.idealy_f_ -= shorten_f;
@@ -453,7 +453,7 @@ Beam::calculate_slope ()
     {
       slope_f_ = 0;
       left_y_ = sinfo_[0].idealy_f_;
-      left_y_ *= dir_;
+      left_y_ *= get_direction ();
     }
   else
     {
@@ -496,8 +496,8 @@ Beam::calculate_slope ()
       Real damped_slope_dy_f = (solved_slope_f - slope_f_) * dx_f / 2;
       left_y_ += damped_slope_dy_f;
 
-      left_y_ *= dir_;
-      slope_f_ *= dir_;
+      left_y_ *= get_direction ();
+      slope_f_ *= get_direction ();
     }
 }
 
@@ -597,7 +597,7 @@ Beam::quantise_left_y (bool extend_b)
   // isn't this asymmetric ? --hwn
   
   // dim(left_y_) = internote
-  Real dy_f = dir_ * left_y_ * internote_f;
+  Real dy_f = get_direction () * left_y_ * internote_f;
 
   Real beamdx_f = stems_.top ()->hpos_f () - stems_[0]->hpos_f ();
   Real beamdy_f = beamdx_f * slope_f_ * internote_f;
@@ -630,7 +630,7 @@ Beam::quantise_left_y (bool extend_b)
     quanty_f = iv[BIGGER];
 
   // dim(left_y_) = internote
-  left_y_ = dir_ * quanty_f / internote_f;
+  left_y_ = get_direction () * quanty_f / internote_f;
 }
 
 void
@@ -645,7 +645,7 @@ Beam::set_stemlens ()
   Real dy_f = check_stemlengths_f (false);
   for (int i = 0; i < 2; i++)  // 2 ?
     { 
-      left_y_ += dy_f * dir_;
+      left_y_ += dy_f * get_direction ();
       quantise_left_y (dy_f);
       dy_f = check_stemlengths_f (true);
       if (abs (dy_f) <= epsilon_f)
@@ -745,7 +745,7 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
       for (int j = 0; j  < lhalfs; j++)
        {
          Molecule b (a);
-         b.translate_axis (-dir_ * dy * (lwholebeams+j), Y_AXIS);
+         b.translate_axis (-get_direction () * dy * (lwholebeams+j), Y_AXIS);
          leftbeams.add_molecule (b);
        }
     }
@@ -770,7 +770,7 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
          for (; j  < nogap; j++)
            {
              Molecule b (a);
-             b.translate_axis (-dir_ * dy * j, Y_AXIS);
+             b.translate_axis (-get_direction () * dy * j, Y_AXIS);
              rightbeams.add_molecule (b);
            }
          // TODO: notehead widths differ for different types
@@ -783,9 +783,9 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
        {
          Molecule b (a);
          if (!here->invisible_b ())
-           b.translate (Offset (gap_f, -dir_ * dy * j));
+           b.translate (Offset (gap_f, -get_direction () * dy * j));
          else
-           b.translate (Offset (0, -dir_ * dy * j));
+           b.translate (Offset (0, -get_direction () * dy * j));
          rightbeams.add_molecule (b);
        }
 
@@ -796,7 +796,7 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
       for (; j  < rwholebeams + rhalfs; j++)
        {
          Molecule b (a);
-         b.translate_axis (-dir_ * dy * j, Y_AXIS);
+         b.translate_axis (-get_direction () * dy * j, Y_AXIS);
          rightbeams.add_molecule (b);
        }
 
index 3bc35d2da4f9c76ed0f635b7f9dd44ab896379e6..024db5f7b84b55edfaf2d1398327db84cf6960f9 100644 (file)
@@ -338,8 +338,8 @@ Bezier_bow::calc_clipping ()
   Real end_dy = 0 >? end_h - clip_h;
   
   Real pi = M_PI;
-  Real begin_alpha = (control_[1] - control_[0]).arg () + dir_ * alpha_;
-  Real end_alpha = pi -  (control_[2] - control_[3]).arg () - dir_ * alpha_;
+  Real begin_alpha = (control_[1] - control_[0]).arg () + get_direction () * alpha_;
+  Real end_alpha = pi -  (control_[2] - control_[3]).arg () - get_direction () * alpha_;
 
   Real max_alpha = clip_angle / 90 * pi / 2;
   if ((begin_dy < 0) && (end_dy < 0)
@@ -354,8 +354,8 @@ Bezier_bow::calc_clipping ()
     {
       Real dy = (begin_dy + end_dy) / 4;
       dy *= cos (alpha_);
-      encompass_[0][Y_AXIS] += dir_ * dy;
-      encompass_[encompass_.size () - 1][Y_AXIS] += dir_ * dy;
+      encompass_[0][Y_AXIS] += get_direction () * dy;
+      encompass_[encompass_.size () - 1][Y_AXIS] += get_direction () * dy;
     }
   else
     {
@@ -366,8 +366,8 @@ Bezier_bow::calc_clipping ()
       if (end_alpha >= max_alpha)
        end_dy = 0 >? c * end_alpha / max_alpha * end_h;
 
-      encompass_[0][Y_AXIS] += dir_ * begin_dy;
-      encompass_[encompass_.size () - 1][Y_AXIS] += dir_ * end_dy;
+      encompass_[0][Y_AXIS] += get_direction () * begin_dy;
+      encompass_[encompass_.size () - 1][Y_AXIS] += get_direction () * end_dy;
 
       Offset delta = encompass_[encompass_.size () - 1] - encompass_[0];
       alpha_ = delta.arg ();
@@ -466,8 +466,6 @@ Bezier_bow::calc_tangent_controls ()
       end_p = ijk_p;
       end_rc = default_rc;
     }
-  BEZIER_BOW_DEBUG_OUT << "begin " << begin_p[X_AXIS] << ", " << begin_p[Y_AXIS] << endl;
-  BEZIER_BOW_DEBUG_OUT << "end " << end_p[X_AXIS] << ", " << end_p[Y_AXIS] << endl;
 
   Real height =control_[1][Y_AXIS]; 
   for (int i = 0; i < encompass_.size (); i++ )
@@ -507,17 +505,10 @@ Bezier_bow::calc_tangent_controls ()
   Real c3 = begin_p[Y_AXIS] > end_p[Y_AXIS] ? begin_p[Y_AXIS] 
     - rc3 * begin_p[X_AXIS] : end_p[Y_AXIS] - rc3 * end_p[X_AXIS];
 
-  BEZIER_BOW_DEBUG_OUT << "y1 = " << rc1 << " x + 0" << endl;
-  BEZIER_BOW_DEBUG_OUT << "y2 = " << rc2 << " x + " << c2 << endl;
-  BEZIER_BOW_DEBUG_OUT << "y3 = " << rc3 << " x + " << c3 << endl;
   control_[1][X_AXIS] = c3 / (rc1 - rc3);
   control_[1][Y_AXIS] = rc1 * control_[1][X_AXIS];
   control_[2][X_AXIS] = (c3 - c2) / (rc2 - rc3);
-  BEZIER_BOW_DEBUG_OUT << "c2[X_AXIS] = " << control_[2][X_AXIS] << endl;
-  BEZIER_BOW_DEBUG_OUT << "(c3 - c2) = " << (c3 - c2) << endl;
-  BEZIER_BOW_DEBUG_OUT << "(rc2 - rc3) = " << (rc2 - rc3) << endl;
   control_[2][Y_AXIS] = rc2 * control_[2][X_AXIS] + c2;
-  BEZIER_BOW_DEBUG_OUT << "c2[Y_AXIS]" << control_[2][Y_AXIS] << endl;
 
   calc_return (begin_alpha, end_alpha);
 }
@@ -561,9 +552,9 @@ Bezier_bow::print () const
 }
 
 void
-Bezier_bow::set (Array<Offset> points, int dir)
+Bezier_bow::set (Array<Offset> points, Direction dir)
 {
-  dir_ = dir;
+  set_direction (dir);
   encompass_ = points;
 }
 
@@ -578,14 +569,14 @@ Bezier_bow::transform ()
 
   encompass_.rotate (-alpha_);
 
-  if (dir_ == DOWN)
+  if (get_direction () == DOWN)
     encompass_.flipy ();
 }
 
 void
 Bezier_bow::transform_back ()
 {
-  if (dir_ == DOWN)
+  if (get_direction () == DOWN)
     {
       control_.flipy ();
       return_.flipy ();
index a3214f281ea48bf718fa18ba3cfe11a883101f2c..6033cfe926b4dd0190dbc9233c06abfe2f63af05 100644 (file)
@@ -67,7 +67,7 @@ Drul_array<Interval>
 Bow::curve_extent_drul () const
 {
   Bezier_bow b (paper_l ());
-  b.set (get_encompass_offset_arr (), dir_);
+  b.set (get_encompass_offset_arr (), get_direction ());
   b.calc ();
   return b.curve_extent_drul_;
 }
@@ -76,7 +76,7 @@ Array<Offset>
 Bow::get_controls () const
 {
   Bezier_bow b (paper_l ());
-  b.set (get_encompass_offset_arr (), dir_);
+  b.set (get_encompass_offset_arr (), get_direction ());
   b.calc ();
   Array<Offset> controls;
   controls.set_size (8);
index 7c8e44b4e5add4d08bc6b418d6b14be8216fa667..2e6ebde757dc5b369d45b8c74cd5a866ff7c7371 100644 (file)
@@ -21,7 +21,7 @@ TODO: --> see breathing-sign-engraver.cc
 
 Breathing_sign::Breathing_sign ()
 {
-  dir_ = UP;
+  set_direction (UP);
   set_elt_property ("breakable", SCM_BOOL_T);
   set_elt_property ("visibility-lambda",
                    ly_ch_C_eval_scm ("non_postbreak_visibility"));
@@ -33,7 +33,7 @@ Breathing_sign::set_vertical_position (Direction updown)
   assert(updown >= -1 && updown <= +1);
 
   if(updown != 0)
-    dir_ = updown;
+    set_direction (updown);
 }
 
 Molecule*
@@ -53,6 +53,6 @@ Breathing_sign::do_post_processing()
 {
   Real dl = staff_line_leading_f();
 
-  translate_axis(2.0 * dl * dir_, Y_AXIS);
+  translate_axis(2.0 * dl * get_direction (), Y_AXIS);
 }
 
index 21f0a99f1ad7f4fa239b76293bc60574e0ba0233..ef0744d627219e1092001232021a8c859d383043 100644 (file)
@@ -20,7 +20,6 @@ ADD_THIS_TRANSLATOR (Chord_name_engraver);
 
 Chord_name_engraver::Chord_name_engraver ()
 {
-  chord_p_ = 0;
   tonic_req_ = 0;
   inversion_req_ = 0;
   bass_req_ = 0;
@@ -62,7 +61,7 @@ Chord_name_engraver::do_try_music (Music* m)
 void
 Chord_name_engraver::do_process_requests ()
 {
-  if (chord_p_)
+  if (text_p_arr_.size ())
     return;
   if (!pitch_arr_.size ())
     return;
@@ -72,20 +71,36 @@ Chord_name_engraver::do_process_requests ()
   if (gh_boolean_p (chord_inversion))
     find_inversion_b = gh_scm2bool (chord_inversion);
 
-  chord_p_ = new Chord (to_chord (pitch_arr_, tonic_req_, inversion_req_, bass_req_, find_inversion_b));
+  Chord chord = to_chord (pitch_arr_, tonic_req_, inversion_req_, bass_req_, 
+    find_inversion_b);
     
-  announce_element (Score_element_info (chord_p_, 0));
+  Text_item* item_p =  new Text_item;
+
+  /*
+   TODO:
+     - switch on property, add american (?) chordNameStyle:
+       Chord::american_str (...)
+
+  SCM chordNameStyle = get_property ("chordNameStyle", 0);
+  if (chordNameStyle == "Banter")
+    item_p->text_str_ = chord.banter_str (inversion);
+   */
+
+  item_p->text_str_ = chord.banter_str ();
+  
+  text_p_arr_.push (item_p);
+  announce_element (Score_element_info (item_p, 0));
 }
 
 void
 Chord_name_engraver::do_pre_move_processing ()
 {
-  if (chord_p_)
+  for (int i=0; i < text_p_arr_.size (); i++)
     {
-      typeset_element (chord_p_);
+      typeset_element (text_p_arr_[i]);
     }
+  text_p_arr_.clear ();
   pitch_arr_.clear ();
-  chord_p_ = 0;
   tonic_req_ = 0;
   inversion_req_ = 0;
   bass_req_ = 0;
index 8dbc57a6c72bc6608f22fe2dfd931f516214e808..adef8d4991c5e2f35ab1edd645515c788a6b3212 100644 (file)
@@ -9,16 +9,7 @@
 #include "chord.hh"
 #include "musical-request.hh"
 #include "warn.hh"
-#include "debug.hh"
-#include "molecule.hh"
-#include "paper-def.hh"
-#include "lookup.hh"
 
-SCM
-pitch2scm (Musical_pitch p)
-{
-  return gh_cons (gh_int2scm (p.notename_i_), gh_int2scm (p.accidental_i_));
-}
 
 /*
   construct from parser output
@@ -26,7 +17,7 @@ pitch2scm (Musical_pitch p)
 Chord
 to_chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p, Array<Musical_pitch>* sub_arr_p, Musical_pitch* inversion_p, Musical_pitch* bass_p)
 {
-  // urg: catch dim modifier: 3rd, 5th, 7th, .. should be lowered
+  // urg: catch dim modifier: 5th and 7th should be lowered
   bool dim_b = false;
   for (int i=0; i < add_arr_p->size (); i++)
     {
@@ -37,10 +28,12 @@ to_chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p, Array<Musical_pi
          dim_b = true;
        }
     }
-  Chord::rebuild_transpose (add_arr_p, tonic, true);
-  Chord::rebuild_transpose (sub_arr_p, tonic, true);
+  Chord::rebuild_transpose (add_arr_p, tonic);
+  Chord::rebuild_transpose (sub_arr_p, tonic);
 
-  Musical_pitch fifth = Chord::base_arr (tonic).top ();
+  Musical_pitch fifth = tonic;
+  fifth.transpose (Musical_pitch (2));
+  fifth.transpose (Musical_pitch (2, -1));
 
   /*
     remove double adds (urg: sus4)
@@ -75,21 +68,19 @@ to_chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p, Array<Musical_pi
   if (highest_step < 5)
     missing_arr.push (fifth);
 
-  /*
-    if dim modifier is given: lower all missing
-   */
   if (dim_b)
     {
       for (int i=0; i < missing_arr.size (); i++)
         {
-         missing_arr[i].accidental_i_--;
+          missing_arr[i].accidental_i_--;
        }
     }
 
   /*
     if additions include some 3, don't add third
    */
-  Musical_pitch third = Chord::base_arr (tonic)[1];
+  Musical_pitch third = tonic;
+  third.transpose (Musical_pitch (2));
   if (Chord::find_notename_i (add_arr_p, third) != -1)
     {
       int i = Chord::find_pitch_i (&missing_arr, third);
@@ -209,7 +200,6 @@ Chord::Chord (Array<Musical_pitch> pitch_arr, Musical_pitch* inversion_p, Musica
 }
 
 Chord::Chord (Chord const& chord)
-  : Item (chord)
 {
   pitch_arr_ = chord.pitch_arr_;
   inversion_p_ = chord.inversion_p_ ? new Musical_pitch (*chord.inversion_p_) : 0;
@@ -220,33 +210,19 @@ Chord::~Chord ()
 {
   delete inversion_p_;
   delete bass_p_;
-  // AAARGH, why doesn't Score_elt do this?
-  unsmobify_self ();
-}
-
-Array<Musical_pitch>
-Chord::base_arr (Musical_pitch p)
-{
-  Array<Musical_pitch> base;
-  base.push (p);
-  p.transpose (Musical_pitch (2));
-  base.push (p);
-  p.transpose (Musical_pitch (2, -1));
-  base.push (p);
-  return base;
 }
 
 void
-Chord::rebuild_transpose (Array<Musical_pitch>* pitch_arr_p, Musical_pitch tonic, bool fix7_b)
+Chord::rebuild_transpose (Array<Musical_pitch>* pitch_arr_p, Musical_pitch tonic)
 {
   for (int i = 0; i < pitch_arr_p->size (); i++)
     {
       Musical_pitch p = tonic;
       Musical_pitch q = (*pitch_arr_p)[i];
-      p.transpose (q);
       // duh, c7 should mean <c bes>
-      if (fix7_b && (step_i (tonic, p) == 7))
-        p.accidental_i_--;
+      if (q.notename_i_ == 6)
+        q.accidental_i_--;
+      p.transpose (q);
       (*pitch_arr_p)[i] = p;
     }
   pitch_arr_p->sort (Musical_pitch::compare);
@@ -371,28 +347,24 @@ Chord::to_pitch_arr () const
 }
 
 void
-Chord::find_additions_and_subtractions (Array<Musical_pitch> pitch_arr, Array<Musical_pitch>* add_arr_p, Array<Musical_pitch>* sub_arr_p) const
+Chord::find_additions_and_subtractions (Array<Musical_pitch>* add_arr_p, Array<Musical_pitch>* sub_arr_p) const
 {
-  Musical_pitch tonic = pitch_arr[0];
+  Musical_pitch tonic = pitch_arr_[0];
   /*
     construct an array of thirds for a normal chord
    */
   Array<Musical_pitch> all_arr;
   all_arr.push (tonic);
-  if (step_i (tonic, pitch_arr.top ()) >= 5)
-    all_arr.push (pitch_arr.top ());
-  else
-    all_arr.push (base_arr (tonic).top ());
+  all_arr.push (pitch_arr_.top ());
   all_arr.concat (missing_thirds_pitch_arr (&all_arr));
   all_arr.sort (Musical_pitch::compare);
   
   int i = 0;
   int j = 0;
-  Musical_pitch last_extra = tonic;
-  while ((i < all_arr.size ()) || (j < pitch_arr.size ()))
+  while ((i < all_arr.size ()) || (j < pitch_arr_.size ()))
     {
       Musical_pitch a = all_arr [i <? all_arr.size () - 1];
-      Musical_pitch p = pitch_arr[j <? pitch_arr.size () - 1];
+      Musical_pitch p = pitch_arr_ [j <? pitch_arr_.size () - 1];
       /*
         this pitch is present: do nothing, check next
        */
@@ -400,7 +372,6 @@ Chord::find_additions_and_subtractions (Array<Musical_pitch> pitch_arr, Array<Mu
        {
          i++;
          j++;
-         last_extra = tonic;
        }
       /*
         found an extra pitch: chord addition
@@ -408,221 +379,115 @@ Chord::find_additions_and_subtractions (Array<Musical_pitch> pitch_arr, Array<Mu
       else if ((p < a) || (p.notename_i_ == a.notename_i_))
        {
          add_arr_p->push (p);
-         last_extra = p;
-         (j < pitch_arr.size ()) ? j++ : i++;
+         (j < pitch_arr_.size ()) ? j++ : i++;
        }
       /*
         a third is missing: chord subtraction
        */
       else
        {
-         if (last_extra.notename_i_ != a.notename_i_)
-           sub_arr_p->push (a);
+         sub_arr_p->push (a);
          (i < all_arr.size ()) ? i++ : j++;
-         last_extra = tonic;
        }
     }
       
-  /* add missing basic steps */
-  if (step_i (tonic, pitch_arr.top ()) < 3)
-    sub_arr_p->push (base_arr (tonic)[1]);
-  if (step_i (tonic, pitch_arr.top ()) < 5)
-    sub_arr_p->push (base_arr (tonic).top ());
-
   /*
-    add highest addition, because it names chord, if greater than 5
-    or non-standard
-    (1, 3 and) 5 not additions: part of normal chord
+    add highest addition, because it names chord
+    (1, 3 and) 5 not an addition: part of normal chord
    */
-  if ((step_i (tonic, pitch_arr.top ()) > 5)
-       || pitch_arr.top ().accidental_i_)
-    add_arr_p->push (pitch_arr.top ());
+  if (step_i (tonic, pitch_arr_.top () > 5))
+    add_arr_p->push (pitch_arr_.top ());
 }
 
-
 /*
-  word is roman text or styled text:
-   "text"
-   ("style" . "text")
+  TODO:
+   reduce guess work: dim chord
+   other naming conventions `American'?
+   don't use TeX constructs
+   user defined chords-names for specific chords:
+      tonic, additions, subtractions, inversion, bass -> "my-chord-name"
  */
-Molecule
-Chord::ly_word2molecule (SCM scm) const
-{
-  String style;
-  if (gh_pair_p (scm))
-    {
-      style = ly_scm2string (gh_car (scm));
-      scm = gh_cdr (scm);
-    }
-  String text = ly_scm2string (scm);
-  return lookup_l ()->text (style, text, paper_l ());
-}
-
-/*
- scm is word or list of words:
-   word
-   (word word)
- */
-Molecule
-Chord::ly_text2molecule (SCM scm) const
-{
-  Molecule mol;
-  if (gh_list_p (scm))
-    {
-      while (gh_cdr (scm) != SCM_EOL)
-        {
-         mol.add_at_edge (X_AXIS, RIGHT, 
-            ly_word2molecule (gh_car (scm)), 0);
-         scm = gh_cdr (scm);
-       }
-      scm = gh_car (scm);
-    }  
-  mol.add_at_edge (X_AXIS, RIGHT, 
-    ly_word2molecule (scm), 0);
-  return mol;
-}
-
-Molecule
-Chord::pitch2molecule (Musical_pitch p) const
-{
-  SCM name = scm_eval (gh_list (gh_symbol2scm ("user-pitch-name"), ly_quote_scm (pitch2scm (p)), SCM_UNDEFINED));
-
-  if (name != SCM_UNSPECIFIED)
-    {
-      return ly_text2molecule (name);
-    }
-
-  Molecule mol = lookup_l ()->text ("", p.str ().left_str (1).upper_str (), paper_l ());
-  if (p.accidental_i_)
-    // urg, how to select the feta-1 font?
-    mol.add_at_edge (X_AXIS, RIGHT, 
-                    lookup_l ()->accidental (p.accidental_i_, 0), 0);
-  return mol;
-}
-
-Musical_pitch
-diff_pitch (Musical_pitch tonic, Musical_pitch  p)
+String
+Chord::banter_str () const
 {
-  Musical_pitch diff (p.notename_i_ - tonic.notename_i_, 
-    p.accidental_i_ - tonic.accidental_i_, 
-    p.octave_i_ - tonic.octave_i_);
-
-  while  (diff.notename_i_ >= 7)
-    {
-      diff.notename_i_ -= 7;
-      diff.octave_i_ ++;
-    }
-  while  (diff.notename_i_ < 0)
-    {
-      diff.notename_i_ += 7;
-      diff.octave_i_ --;
-    }
-
-  diff.accidental_i_ -= (tonic.semitone_pitch () + diff.semitone_pitch ())
-    - p.semitone_pitch ();
-
-  return diff;
-}
-
-bool
-Chord::user_chord_name (Array<Musical_pitch> pitch_arr, Chord_name* name_p) const
-{
-  SCM chord = SCM_EOL;
-  Array<Musical_pitch> chord_type = pitch_arr;
-  rebuild_transpose (&chord_type, diff_pitch (pitch_arr[0], Musical_pitch (0)), false);
-
-  for (int i= chord_type.size (); i--; )
-    chord = gh_cons (pitch2scm (chord_type[i]), chord);
+  Musical_pitch tonic = pitch_arr_[0];
 
-  SCM name = scm_eval (gh_list (gh_symbol2scm ("user-chord-name"), ly_quote_scm (chord), SCM_UNDEFINED));
-  if (name != SCM_UNSPECIFIED)
-    {
-      name_p->modifier_mol = ly_text2molecule (gh_car (name));
-      name_p->addition_mol = ly_text2molecule (gh_cdr (name));
-      return true;
-    }
-  return false;
-}
+  //urg, should do translation in scheme.
+  char const *acc[] = {"\\textflat\\textflat ", "\\textflat ", "", "\\textsharp " , "\\textsharp\\textsharp "};
+  String tonic_str = tonic.str ();
+  tonic_str = tonic_str.left_str (1).upper_str ()
+    + acc[tonic.accidental_i_ + 2];
 
-void
-Chord::banter (Array<Musical_pitch> pitch_arr, Chord_name* name_p) const
-{
   Array<Musical_pitch> add_arr;
   Array<Musical_pitch> sub_arr;
-  find_additions_and_subtractions (pitch_arr, &add_arr, &sub_arr);
+  find_additions_and_subtractions (&add_arr, &sub_arr);
                           
+
   Array<Musical_pitch> scale;
   for (int i=0; i < 7; i++)
     scale.push (Musical_pitch (i));
 
-  Musical_pitch tonic = pitch_arr[0];
-  rebuild_transpose (&scale, tonic, true);
-  
-  /*
-    Does chord include this step?  -1 if flat
-   */
-  int has[16];
-  for (int i=0; i<16; i++)
-    has[i] = 0;
+  // 7 always means 7-...
+  //  scale.push (Musical_pitch (6, -1)); // b
 
-  String mod_str;
-  String add_str;
+  rebuild_transpose (&scale, tonic);
+  
+  bool has3m_b = false;
+  bool has4_b = false;
+  bool has5m_b = false;
+  String str;
+  String minor_str;
   String sep_str;
   for (int i = 0; i < add_arr.size (); i++)
     {
       Musical_pitch p = add_arr[i];
       int step = step_i (tonic, p);
+      if (step == 4)
+       has4_b = true;
       int accidental = p.accidental_i_ - scale[(step - 1) % 7].accidental_i_;
-      if ((step < 16) && (has[step] != -1))
-        has[step] = accidental == -1 ? -1 : 1;
       if ((step == 3) && (accidental == -1))
        {
-         mod_str = "m";
+         minor_str = "m";
+         has3m_b = true;
        }
       /*
-        urg.
-       This routine gets a lot simpler, if we don't try to be catch
-       the 'dim' chords.  However, we'll have to list every exceptional
-       'dim' chord in scm: otherwise we'll get stuff like Cdim7-, iso
-       Cdim7, etc
+       have Cdim rather than Cm5-, even if it's a prefix
        */
-#ifdef SMART_DIM
-      else if ((step == 5) && (accidental == -1) && (has[3] == -1))
+      else if ((step == 5) && (accidental == -1) && has3m_b)
        {
-         mod_str = "dim";
+         minor_str = "dim";
+         has5m_b = true;
        }
-#endif
       else if (accidental
-              || (!(step % 2) 
-              || ((i == add_arr.size () - 1) && (step > 5))))
+              || (!(step % 2) || ((i + 1 == add_arr.size ()) && (step > 5))))
         {
-         add_str += sep_str;
+         str += sep_str;
          sep_str = "/";
           if ((step == 7) && (accidental == 1))
            {
-              add_str += "maj7";
+              str += "maj7";
            }
          else
-#ifdef SMART_DIM
-           {
-             if ((step % 2) && (accidental == -1) 
-                && (has[3] == -1) && (has[5] == -1))
-               {               
-                 if (i != add_arr.size () - 1)
-                   sep_str = "";
+            {
+             /* 
+               if has3m_b and has5m_b, assume dim
+               don't mention dim-addition, except for chord-namer
+              */
+              if (((step/2) && (accidental == -1))
+                 && has3m_b && has5m_b)
+               {
+                 if (i == add_arr.size () - 1)
+                    str += to_str (step);
                  else
-                   add_str += to_str (step);
+                   sep_str = "";
                }
              else
-#endif
                {
-                 add_str += to_str (step);
-                 if (accidental)
-                   add_str += accidental < 0 ? "-" : "+";
+                  str += to_str (step);
+                  if (accidental)
+                    str += accidental < 0 ? "-" : "+";
                }
-#ifdef SMART_DIM
-           }
-#endif
+            }
        }
     }
 
@@ -631,27 +496,48 @@ Chord::banter (Array<Musical_pitch> pitch_arr, Chord_name* name_p) const
       Musical_pitch p = sub_arr[i];
       int step = step_i (tonic, p);
       /*
-       if additions include 2 or 4, assume sus2/4 and don't display 'no3'
+       if chord has 3-, assume minor and don't display 'no3'
+       if additions include 4, assume sus4 and don't display 'no3'
+       if has3m_b and has5m_b, assume 'dim' chord
       */
-      if (!((step == 3) && (has[2] || has[4])))
+      if (!((step == 3) && (has3m_b || has4_b))
+         && !((step/2) && (step !=3) && (step !=7 ) && (p.accidental_i_ == 0) && has3m_b && has5m_b)
+         && !((step == 7) && (p.accidental_i_ == -1) && has3m_b && has5m_b))
        {
-         add_str += sep_str + "no" + to_str (step);
+         str += sep_str + "no" + to_str (step);
          sep_str = "/";
        }
     }
 
-  if (mod_str.length_i ())
-    name_p->modifier_mol.add_at_edge (X_AXIS, RIGHT, 
-      lookup_l ()->text ("roman", mod_str, paper_l ()), 0);
-  if (add_str.length_i ())
+  /*
+   have Co rather than Cdim7
+   */
+  if (minor_str + str == "dim7")
     {
-      if (!name_p->addition_mol.empty_b ())
-        add_str = "/" + add_str;
-      name_p->addition_mol.add_at_edge (X_AXIS, RIGHT,
-       lookup_l ()->text ("script", add_str, paper_l ()), 0);
+      minor_str = "";
+      str = "o";
     }
-}
+    
 
+  String inversion_str;
+  if (inversion_p_)
+    {
+      inversion_str = inversion_p_->str ();
+      inversion_str = "/" + inversion_str.left_str (1).upper_str ()
+       + acc[inversion_p_->accidental_i_ + 2];
+    }
+
+  String bass_str;
+  if (bass_p_)
+    {
+      bass_str = bass_p_->str ();
+      bass_str = "/" + bass_str.left_str (1).upper_str ()
+       + acc[bass_p_->accidental_i_ + 2];
+
+    }
+
+  return tonic_str + minor_str + "$^{" + str + "}$" + inversion_str + bass_str;
+}
 
 int
 Chord::find_tonic_i (Array<Musical_pitch> const* pitch_arr_p)
@@ -762,83 +648,3 @@ Chord::rebuild_with_bass (Array<Musical_pitch>* pitch_arr_p, int bass_i)
       bass.octave_i_--;
   pitch_arr_p->insert (bass, 0);
 }
-
-Molecule*
-Chord::do_brew_molecule_p () const
-{
-  Musical_pitch tonic = pitch_arr_[0];
-  
-  Chord_name name;
-  name.tonic_mol = pitch2molecule (tonic);
-
-  /*
-    if user has explicitely listed chord name, use that
-    
-    TODO
-    urg
-    maybe we should check all sub-lists of pitches, not
-    just full list and base triad?
-   */
-  if (!user_chord_name (pitch_arr_, &name))
-    {
-      /*
-        else, check if user has listed base triad
-       use user base name and add banter for remaining part
-       */
-      if ((pitch_arr_.size () > 2)
-         && user_chord_name (pitch_arr_.slice (0, 3), &name))
-        {
-         Array<Musical_pitch> base = base_arr (tonic);
-         base.concat (pitch_arr_.slice (3, pitch_arr_.size ()));
-         banter (base, &name);
-       }
-      /*
-        else, use pure banter
-       */
-      else
-       {
-         banter (pitch_arr_, &name);
-       }
-    }
-
-  if (inversion_p_)
-    {
-      name.inversion_mol = lookup_l ()->text ("", "/", paper_l ());
-      // zucht  const&
-      Molecule mol = pitch2molecule (*inversion_p_);
-      name.inversion_mol.add_at_edge (X_AXIS, RIGHT, mol, 0);
-    }
-
-  if (bass_p_)
-    {
-      name.bass_mol = lookup_l ()->text ("", "/", paper_l ());
-      Molecule mol = pitch2molecule (*bass_p_);
-      name.bass_mol.add_at_edge (X_AXIS, RIGHT, mol, 0);
-    }
-
-  // urg, howto get a good superscript_y?
-  Real super_y = lookup_l ()->text ("", "x", paper_l ()).dim_.y ().length ()/2;
-  if (!name.addition_mol.empty_b ())
-    name.addition_mol.translate (Offset (0, super_y));
-
-  Molecule* mol_p = new Molecule;
-  mol_p->add_at_edge (X_AXIS, RIGHT, name.tonic_mol, 0);
-  // huh?
-  if (!name.modifier_mol.empty_b ())
-    mol_p->add_at_edge (X_AXIS, RIGHT, name.modifier_mol, 0);
-  if (!name.addition_mol.empty_b ())
-    mol_p->add_at_edge (X_AXIS, RIGHT, name.addition_mol, 0);
-  if (!name.inversion_mol.empty_b ())
-    mol_p->add_at_edge (X_AXIS, RIGHT, name.inversion_mol, 0);
-  if (!name.bass_mol.empty_b ())
-    mol_p->add_at_edge (X_AXIS, RIGHT, name.bass_mol, 0);
-  return mol_p;
-}
-
-void
-Chord::do_print () const
-{
-#ifndef NPRINT
-  //DEBUG_OUT <<  "chord = " ...
-#endif
-}
index e6e4f55947f5f0b94392f6177c2c5107a46a87ef..be9676c4d1a31b015e45c6f6c416890dacde7c0b 100644 (file)
@@ -9,13 +9,13 @@ Directional_spanner::get_default_dir() const
 void
 Directional_spanner::do_pre_processing()
 {
-  if (!dir_)
-    dir_ = get_default_dir();
+  if (!get_direction ())
+    set_direction (get_default_dir());
 }
 
 Directional_spanner::Directional_spanner()
 {
-  dir_ = CENTER;
+  set_direction (CENTER);
 }
 
 Offset
index ce2c068c6403211ca35ee5a90c841a5bf5e669d4..8202c7157b7297978d8664db0ef64a5242f66475 100644 (file)
@@ -114,6 +114,7 @@ Dynamic_engraver::do_process_requests()
 
          text_p_ = new Text_item;
          text_p_->text_str_ =  loud; // ugh
+         text_p_->set_elt_property ("style", gh_str02scm ("dynamic"));
 
          staff_side_p_ = new Staff_side_item;
          staff_side_p_->set_elt_property ("script-priority",
@@ -121,23 +122,23 @@ Dynamic_engraver::do_process_requests()
                                           
          staff_side_p_->set_victim (text_p_);
          staff_side_p_->axis_ = Y_AXIS;
-         staff_side_p_->dir_ = DOWN;
+         staff_side_p_->set_direction (DOWN);
 
          
          SCM prop = get_property ("verticalDirection", 0);
          if (isdir_b (prop))
            {
-             staff_side_p_->dir_ = to_dir (prop);
+             staff_side_p_->set_direction (to_dir (prop));
            }
 
          prop = get_property ("dynamicDirection", 0);
          if (gh_number_p(prop))
            {
-             staff_side_p_->dir_ = to_dir (prop);
+             staff_side_p_->set_direction (to_dir (prop));
            }
-         if (absd->dir_)
+         if (absd->get_direction ())
            {
-             staff_side_p_->dir_ = absd->dir_;
+             staff_side_p_->set_direction (absd->get_direction ());
            }
 
          prop = get_property ("dynamicPadding", 0);
@@ -172,12 +173,12 @@ Dynamic_engraver::do_process_requests()
                  SCM prop = get_property ("verticalDirection", 0);
                  if (isdir_b (prop))
                    {
-                     to_end_ss_span_p_->dir_ = to_dir (prop);
+                     to_end_ss_span_p_->set_direction (to_dir (prop));
                    }
                  prop = get_property ("dynamicDirection", 0);
                  if (isdir_b (prop))
                    {
-                     to_end_ss_span_p_->dir_ = to_dir (prop);
+                     to_end_ss_span_p_->set_direction (to_dir (prop));
                    }
                  prop = get_property ("dynamicPadding", 0);
                  if (gh_number_p(prop))
index 1122e2c8cc293a07bf09637f587af843fd488c53..73b6079104f7411e3f5d515610c03f880830017a 100644 (file)
@@ -64,13 +64,16 @@ public:
   bool check_fit_bo ();
   Real check_fit_f ();
   void print () const;
-  void set (Array<Offset> points, int dir);
+  void set (Array<Offset> points, Direction dir);
   void transform ();
   void transform_back ();
 
   Paper_def* paper_l_;
   Curve encompass_;
-  int dir_;
+  Direction dir_;
+  void set_direction (Direction d ) { dir_ =  d; }
+  Direction get_direction () const { return dir_; }
+
   Real alpha_;
   Offset origin_;
   Curve return_;
index 41de60c64d187511c62993b440e000a6c27f2708..6e861a905c06f46a8b71884df912d9ebfcb7ac09 100644 (file)
@@ -20,6 +20,9 @@ public:
   Breathing_sign ();
 
   void set_vertical_position (Direction);
+  void set_direction (Direction d ) { dir_ =  d; }
+  Direction get_direction () const { return dir_; }
+
 
 protected:
   virtual void do_post_processing ();
index f5e52ee7823e0a048f68fe1d4bf8ffb8ccd2679d..4843fae8e999b32668af8af6fe1660eddc4af931 100644 (file)
@@ -28,7 +28,8 @@ protected:
 
 private:
   Array<Musical_pitch> pitch_arr_;
-  Chord* chord_p_;
+  Link_array<Item> text_p_arr_;
+  Array<Musical_pitch> rebuild_pitch_arr (int tonic_i) const;
   Tonic_req* tonic_req_;
   Inversion_req* inversion_req_;
   Bass_req* bass_req_;
index e568f709854c704ff1f949bbf33df4d83a84b334..871189fafc1c958deea2962691daf27cbb1c76a0 100644 (file)
 #include "array.hh"
 #include "musical-pitch.hh"
 #include "lily-proto.hh"
-#include "item.hh"
-#include "molecule.hh"
 
-class Chord_name
+class Chord
 {
 public:
-  Molecule tonic_mol;
-  Molecule modifier_mol;
-  Molecule addition_mol;
-  Molecule inversion_mol;
-  Molecule bass_mol;
-};
-
-class Chord : public Item
-{
-public:
-  VIRTUAL_COPY_CONS (Score_element);
-  static Array<Musical_pitch> base_arr (Musical_pitch p);
   static int find_tonic_i (Array<Musical_pitch> const*);
   static int find_pitch_i (Array<Musical_pitch> const*, Musical_pitch p);
   static int find_notename_i (Array<Musical_pitch> const*, Musical_pitch p);
   static Array<Musical_pitch> missing_thirds_pitch_arr (Array<Musical_pitch> const* pitch_arr_p);
   static void rebuild_from_base (Array<Musical_pitch>*, int base_i);
   static void rebuild_insert_inversion (Array<Musical_pitch>*, int tonic_i);
-  static void rebuild_transpose (Array<Musical_pitch>*, Musical_pitch tonic, bool fix7_b);
+  static void rebuild_transpose (Array<Musical_pitch>*, Musical_pitch tonic);
   static void rebuild_with_bass (Array<Musical_pitch>*, int bass_i);
   static int step_i (Musical_pitch tonic, Musical_pitch p);
 
   Chord (Array<Musical_pitch> pitch_arr, Musical_pitch* inversion_p, Musical_pitch* bass_p);
-  Chord (Chord const&);
-  virtual ~Chord ();
+  Chord (Chord const& chord);
+  ~Chord ();
 
 
   Array<Musical_pitch> to_pitch_arr () const;
 
-  void find_additions_and_subtractions(Array<Musical_pitch> pitch_arr, Array<Musical_pitch>* add_arr_p, Array<Musical_pitch>* sub_arr_p) const;
-
-  Molecule ly_word2molecule (SCM scm) const;
-  Molecule ly_text2molecule (SCM scm) const;
-  Molecule pitch2molecule (Musical_pitch p) const;
-  bool user_chord_name (Array<Musical_pitch> pitch_arr, Chord_name* name_p) const;
-  void banter (Array<Musical_pitch> pitch_arr, Chord_name* name_p) const;
+  String banter_str () const;
+  void find_additions_and_subtractions(Array<Musical_pitch>* add_arr_p, Array<Musical_pitch>* sub_arr_p) const;
 
   Array<Musical_pitch> pitch_arr_;
   Musical_pitch* inversion_p_;
   Musical_pitch* bass_p_;
-
-protected:
-  virtual Molecule* do_brew_molecule_p () const;
-  virtual void do_print () const;
 };
 
 Chord to_chord (Musical_pitch tonic, Array<Musical_pitch>* add_arr_p, Array<Musical_pitch>* sub_arr_p, Musical_pitch* inversion_p, Musical_pitch* bass_p);
index 199669e99a2bb30ee18c9765b158cc19e92c43de..cdc56a4ed1ee63722e981568fde8d227ddd59ce5 100644 (file)
     JUNKME?
  */
 class Directional_spanner : public Spanner{
-public:
-    
   /// -1 below heads, +1 above heads.
   Direction dir_;
+
+public:
   Directional_spanner();
-    
+
+  void set_direction (Direction d ) { dir_ =  d; }
+  Direction get_direction () const { return dir_; }
+  
   /// offset of "center" relative to left-column/0-pos of staff
   virtual Offset center() const;
   virtual Direction get_default_dir() const;
index d525daa83ba3b9d36ca0793b43acb08ca45d3aa5..496e4209b063392e111bd9b2d914adc362bcd4b4 100644 (file)
@@ -40,6 +40,9 @@ class Script_req : public virtual Request
 {
 public:
   Direction dir_;
+  void set_direction (Direction d ) { dir_ =  d; }
+  Direction get_direction () const { return dir_; }
+
   VIRTUAL_COPY_CONS(Music);
   Script_req ();
 };
index 76e764b13bbaf84585b13159e385fb56f5784a75..36441beefa5e90793f861b1b3595b1d0d1ebb854 100644 (file)
 class Staff_side_element :  public Staff_symbol_referencer
 {
   void position_self ();
-
+  Direction dir_;
 public:
   Score_element * to_position_l_;
-  Direction dir_;
+  
+  void set_direction (Direction d ) { dir_ =  d; }
+  Direction get_direction () const { return dir_; }
+  
+
   Link_array<Score_element> support_l_arr_;
   Axis axis_;
   //junkme.
index e631280c58b6e35253befbd9620ff311b0dea507..248f71b82dbe5eac54f5af466bd69fa0140ab917 100644 (file)
 
 struct Stem_info {
   Real x_;
-  int dir_;
+  Direction dir_;
+  void set_direction (Direction d ) { dir_ =  d; }
+  Direction get_direction () const { return dir_; }
+
   int beam_dir_;
   Real idealy_f_;
   Real miny_f_;
index 14fe13c22a3686c2a04bd73da93c94e7a1caf7d5..2d91e441e9c0a8d6d07abda450ff207a2396411f 100644 (file)
@@ -48,7 +48,13 @@ class Stem : public Item, public Staff_symbol_referencer {
     */
   Drul_array<Real> yextent_drul_;
 
+  /// direction stem (that's me)
+  Direction dir_;
+
 public:
+  void set_direction (Direction d);
+  Direction get_direction () const { return dir_; }
+
   Link_array<Note_head> head_l_arr_;
   Link_array<Rest> rest_l_arr_;
     
@@ -62,12 +68,6 @@ public:
   Beam* beam_l_;
 
   Drul_array<int> beams_i_drul_;
-
-  void set_direction (Direction d);
-  /// direction stem (that's me)
-  Direction dir_;
-
-
   Stem ();
     
   /// ensure that this Stem also encompasses the Notehead #n#
@@ -81,7 +81,6 @@ public:
   void do_print() const;
   void set_stemend (Real);
   Direction get_default_dir() const;
-  Direction get_dir () const;
 
   int get_center_distance(Direction) const;
 
index de2c34029d354d09f10a868d8b3c0a330732b15b..16bb0d55133085f272d82eb4c5b752d27b0c0006 100644 (file)
@@ -203,5 +203,5 @@ Articulation_req::do_equal_b (Request const* r) const
 
 Script_req::Script_req ()
 {
-  dir_ = CENTER;
+  set_direction (CENTER);
 }
index c592d92ce520cbdc669bfa85a7261eb62f16d582..0f8bd3bc38b7c6b9414ef94a7dae525b01dc1150 100644 (file)
@@ -61,7 +61,7 @@ Direction
 Note_column::dir () const
 {
   if (stem_l_)
-    return stem_l_->dir_;
+    return stem_l_->get_direction ();
   else if (head_l_arr_.size ())
     return (Direction)sign (head_positions_interval().center ());
 
@@ -162,7 +162,7 @@ Note_column::do_post_processing ()
     return;
   
   /* ugh. Should be done by beam. */
-  Direction d = stem_l_->get_dir ();
+  Direction d = stem_l_->get_direction ();
   Real beamy = (stem_l_->hpos_f () - b->stems_[0]->hpos_f ()) * b->slope_f_ + b->left_y_;
 
   Real staff_space = rest_l_arr_[0]->staff_line_leading_f ();      
index c5a0ec11445a7184fb10230144ae5bdb4357a2a5..6fabed4d90bc0eeaec360e1a95975a17722deb96 100644 (file)
@@ -50,7 +50,7 @@ Script_column::do_pre_processing ()
   for (int i=0; i < staff_sided_item_l_arr_.size (); i++)
     {
       Staff_side_item * ip = get_Staff_side (staff_sided_item_l_arr_[i]);
-      arrs[ip->dir_].push (staff_sided_item_l_arr_[i]);
+      arrs[ip->get_direction ()].push (staff_sided_item_l_arr_[i]);
     }
 
   Direction d = DOWN;
index 58bff60dded9bca06befcf5fd6f94862136e18d8..5ca373ff10ce084b4c9ea90d29076c1c96f7abff 100644 (file)
@@ -68,14 +68,14 @@ Script_engraver::do_process_requests()
       if (relative_stem_dir)
          ss->relative_dir_ = (Direction)relative_stem_dir;
       else
-         ss->dir_ = (Direction)force_dir;
+         ss->set_direction ((Direction)force_dir);
 
       SCM dir_prop (get_property ("articulationScriptVerticalDirection", 0));
       if (gh_number_p(dir_prop))
-       ss->dir_ = to_dir (dir_prop);
+       ss->set_direction (to_dir (dir_prop));
 
-      if (l->dir_)
-       ss->dir_ = l->dir_;
+      if (l->get_direction ())
+       ss->set_direction (l->get_direction ());
 
       SCM paddingprop = get_property ("articulationScriptPadding", 0);
       if (gh_number_p(paddingprop))
index 4e10621df971dec6e9d86ec2f89c7104f5f33ad8..ebceea43abc3d8cd95eaaa0e8b1ff7e011b79159 100644 (file)
@@ -69,7 +69,7 @@ Script::do_pre_processing ()
 void
 Script::do_post_processing ()
 {
-  Direction d =  staff_side_l_->dir_;
+  Direction d =  staff_side_l_->get_direction ();
   Molecule m (get_molecule(d));
 
   /*
@@ -90,7 +90,7 @@ Script::set_staff_side (Staff_side_item*g)
 Molecule*
 Script::do_brew_molecule_p () const
 {
-  return new Molecule (get_molecule (staff_side_l_->dir_));
+  return new Molecule (get_molecule (staff_side_l_->get_direction ()));
 }
 
 void
index 045373378dc863647b16dddc7ddeae6595040ac3..6795c9d01f76ec511fbd275b1b32ca35d59260a9 100644 (file)
@@ -115,7 +115,7 @@ Slur_engraver::do_pre_move_processing()
   
   for (int i = 0; i < end_slur_l_arr_.size(); i++)
     {
-      end_slur_l_arr_[i]->dir_ = slurdir;
+      end_slur_l_arr_[i]->set_direction (slurdir);
       typeset_element (end_slur_l_arr_[i]);
     }
   end_slur_l_arr_.clear();
index 349dbd34d17f75744d1a6c8df8c5cbb7b9867001..ae96ed9771386fd10b51d5f5d4920e9d31fbc134 100644 (file)
@@ -101,7 +101,7 @@ Slur::encompass_offset (Note_column const* col) const
     {
       warning (_ ("Slur over rest?"));
       o[X_AXIS] = col->hpos_f ();
-      o[Y_AXIS] = col->extent (Y_AXIS)[dir_];
+      o[Y_AXIS] = col->extent (Y_AXIS)[get_direction ()];
       return o;  
     }
   
@@ -111,22 +111,22 @@ Slur::encompass_offset (Note_column const* col) const
     Simply set x to middle of notehead
    */
 
-  o[X_AXIS] -= 0.5 * stem_l->dir_ * col->extent (X_AXIS).length ();
+  o[X_AXIS] -= 0.5 * stem_l->get_direction () * col->extent (X_AXIS).length ();
 
-  if ((stem_l->dir_ == dir_)
+  if ((stem_l->get_direction () == get_direction ())
       && !stem_l->extent (Y_AXIS).empty_b ())
     {
-      o[Y_AXIS] = stem_l->extent (Y_AXIS)[dir_];
+      o[Y_AXIS] = stem_l->extent (Y_AXIS)[get_direction ()];
     }
   else
     {
-      o[Y_AXIS] = col->extent (Y_AXIS)[dir_];
+      o[Y_AXIS] = col->extent (Y_AXIS)[get_direction ()];
     }
 
   /*
    leave a gap: slur mustn't touch head/stem
    */
-  o[Y_AXIS] += dir_ * paper_l ()->get_var ("slur_y_free");
+  o[Y_AXIS] += get_direction () * paper_l ()->get_var ("slur_y_free");
   o[Y_AXIS] += calc_interstaff_dist (stem_l, this);
   return o;
 }
@@ -140,8 +140,8 @@ void
 Slur::do_post_processing ()
 {
   encompass_arr_.sort (Note_column_compare);
-  if (!dir_)
-    dir_ = get_default_dir ();
+  if (!get_direction ())
+    set_direction (get_default_dir ());
 
   /* 
    Slur and tie placement [OSU]
@@ -179,23 +179,23 @@ Slur::do_post_processing ()
            no beam getting in the way
          */
          if ((stem_l->extent (Y_AXIS).empty_b ()
-              || !((stem_l->dir_ == dir_) && (dir_ != d)))
-             && !((dir_ == stem_l->dir_)
+              || !((stem_l->get_direction () == get_direction ()) && (get_direction () != d)))
+             && !((get_direction () == stem_l->get_direction ())
                   && stem_l->beam_l_ && (stem_l->beams_i_drul_[-d] >= 1)))
            {
              dx_f_drul_[d] = spanned_drul_[d]->extent (X_AXIS).length () / 2;
              dx_f_drul_[d] -= d * x_gap_f;
 
-             if (stem_l->dir_ != dir_)
+             if (stem_l->get_direction () != get_direction ())
                {
-                 dy_f_drul_[d] = note_column_drul[d]->extent (Y_AXIS)[dir_];
+                 dy_f_drul_[d] = note_column_drul[d]->extent (Y_AXIS)[get_direction ()];
                }
              else
                {
                  dy_f_drul_[d] = stem_l->chord_start_f ()
-                   + dir_ * internote_f;
+                   + get_direction () * internote_f;
                }
-             dy_f_drul_[d] += dir_ * y_gap_f;
+             dy_f_drul_[d] += get_direction () * y_gap_f;
            }
          /*
            side attached to (visible) stem
@@ -209,8 +209,8 @@ Slur::do_post_processing ()
               */
              if (stem_l->beam_l_ && (stem_l->beams_i_drul_[-d] >= 1))
                {
-                 dy_f_drul_[d] = stem_l->extent (Y_AXIS)[dir_];
-                 dy_f_drul_[d] += dir_ * 2 * y_gap_f;
+                 dy_f_drul_[d] = stem_l->extent (Y_AXIS)[get_direction ()];
+                 dy_f_drul_[d] += get_direction () * 2 * y_gap_f;
                }
              /*
                side attached to notehead, with stem getting in the way
@@ -220,8 +220,8 @@ Slur::do_post_processing ()
                  dx_f_drul_[d] -= d * x_gap_f;
                  
                  dy_f_drul_[d] = stem_l->chord_start_f ()
-                   + dir_ * internote_f;
-                 dy_f_drul_[d] += dir_ * y_gap_f;
+                   + get_direction () * internote_f;
+                 dy_f_drul_[d] += get_direction () * y_gap_f;
                }
            }
        }
@@ -300,7 +300,7 @@ Slur::do_post_processing ()
   Real slope_ratio_f = abs (dy_f / dx_f);
   if (slope_ratio_f > slope_damp_f)
     {
-      Direction d = (Direction)(- dir_ * (sign (dy_f)));
+      Direction d = (Direction)(- get_direction () * (sign (dy_f)));
       if (!d)
        d = LEFT;
       Real damp_f = (slope_ratio_f - slope_damp_f) * dx_f;
@@ -308,7 +308,7 @@ Slur::do_post_processing ()
        must never change sign of dy
        */
       damp_f = damp_f <? abs (dy_f);
-      dy_f_drul_[d] += dir_ * damp_f;
+      dy_f_drul_[d] += get_direction () * damp_f;
     }
 
   /*
@@ -331,7 +331,7 @@ Slur::do_post_processing ()
       Real height_ratio_f = abs (height_f / width_f);
       if (height_ratio_f > height_damp_f)
        {
-         Direction d = (Direction)(- dir_ * (sign (dy_f)));
+         Direction d = (Direction)(- get_direction () * (sign (dy_f)));
          if (!d)
            d = LEFT;
          /* take third step */
@@ -341,8 +341,8 @@ Slur::do_post_processing ()
          */
          if (abs (dy_f / dx_f ) < slope_damp_f)
            {
-             dy_f_drul_[-d] += dir_ * damp_f;
-             dy_f_drul_[d] += dir_ * damp_f;
+             dy_f_drul_[-d] += get_direction () * damp_f;
+             dy_f_drul_[d] += get_direction () * damp_f;
            }
          /*
            don't change slope too much, would have been catched by slope damping
@@ -350,7 +350,7 @@ Slur::do_post_processing ()
          else
            {
              damp_f = damp_f <? abs (dy_f/2);
-             dy_f_drul_[d] += dir_ * damp_f;
+             dy_f_drul_[d] += get_direction () * damp_f;
            }
        }
     }
@@ -369,8 +369,8 @@ Slur::do_post_processing ()
       Note_column * nc = note_column_drul[d];
       if (nc == spanned_drul_[d]
          && nc->stem_l_
-         && nc->stem_l_->dir_ == dir_
-         && abs (nc->stem_l_->extent (Y_AXIS)[dir_]
+         && nc->stem_l_->get_direction () == get_direction ()
+         && abs (nc->stem_l_->extent (Y_AXIS)[get_direction ()]
                  - dy_f_drul_[d] + (d == LEFT ? 0 : interstaff_f))
              <= snap_f)
        {
@@ -380,9 +380,9 @@ Slur::do_post_processing ()
          snapx_f_drul[d] = nc->stem_l_->hpos_f ()
            - spanned_drul_[d]->relative_coordinate (0, X_AXIS);
 
-         snapy_f_drul[d] = nc->stem_l_->extent (Y_AXIS)[dir_]
+         snapy_f_drul[d] = nc->stem_l_->extent (Y_AXIS)[get_direction ()]
            + interstaff_interval[d]
-           + dir_ * 2 * y_gap_f;
+           + get_direction () * 2 * y_gap_f;
          
          snapped_b_drul[d] = true;
        }
index 7fdba6a601eac1937cdae7df164d565af116769b..a382bf84b15d42af088323bd88b2b3d1f4ae8ff1 100644 (file)
@@ -51,7 +51,7 @@ Staff_margin_engraver::acknowledge_element (Score_element_info inf)
     {
       create_items (0);
       text_p_->text_str_ = ly_scm2string (long_name);
-      staff_side_p_->dir_ = LEFT;
+      staff_side_p_->set_direction (LEFT);
       Bar_script_engraver::attach_script_to_item (i);
 
       /*
index d2b9ab974db678a26d52fef496b5a2b8749ba28f..5f923b89d8186819fe04fe13cc44728b31dbef57 100644 (file)
@@ -16,7 +16,7 @@
 
 Staff_side_element::Staff_side_element ()
 {
-  dir_ = CENTER;
+  set_direction (CENTER);
   to_position_l_ = 0;
   set_elt_property ("transparent", SCM_BOOL_T);
   axis_ = Y_AXIS;
@@ -25,8 +25,8 @@ Staff_side_element::Staff_side_element ()
 void
 Staff_side_element::do_pre_processing ()
 {
-  if (!dir_)
-    dir_ = get_default_direction ();
+  if (!get_direction ())
+    set_direction (get_default_direction ());
 
   if (axis_ == X_AXIS)
     position_self ();
@@ -117,15 +117,15 @@ Staff_side_element::position_self ()
   SCM pad = remove_elt_property ("padding");
   if (pad != SCM_UNDEFINED)
     {
-      off += gh_scm2double (pad) * dir_;
+      off += gh_scm2double (pad) * get_direction ();
     }
-  Real total_off = dim[dir_] + off;
+  Real total_off = dim[get_direction ()] + off;
 
   /*
     "no-staff-support" is ugh bugfix to get staccato dots right.
    */
   if (to_position_l_ && to_position_l_->get_elt_property ("no-staff-support") == SCM_UNDEFINED)
-     total_off += - sym_dim[-dir_];
+     total_off += - sym_dim[-get_direction ()];
   
   dim_cache_[axis_]->set_offset (total_off);
   if (fabs (total_off) > 100 CM)
@@ -167,7 +167,7 @@ Staff_side_element::do_print () const
     DEBUG_OUT << "positioning " << to_position_l_->name();
 
   DEBUG_OUT << "axis == " << axis_name_str (axis_)
-       << ", dir == " << to_str ((int)dir_ );
+       << ", dir == " << to_str ((int)get_direction () );
 #endif
 }
 
index a3779c61e7b2463e8615b64808950be69eb17d80..c43916f4f188a1014e1357b8d3dc9d199c1c18b7 100644 (file)
@@ -99,7 +99,7 @@ Stem_engraver::do_pre_move_processing()
       SCM prop = get_property ("verticalDirection", 0);
       if (gh_number_p(prop))
        {
-         stem_p_->dir_ = to_dir (prop);
+         stem_p_->set_direction (to_dir (prop));
          stem_p_->set_elt_property ("dir-forced", SCM_BOOL_T);
        }
 
index 270ce80072dda0398af60b9021651b1632b73b30..4cab4ff111824442fdaa60583402e1121be7e1c9 100644 (file)
@@ -31,7 +31,7 @@ Stem_info::Stem_info (Stem*s, int mult)
   mult_i_ =mult;
   stem_l_ = s;
   x_ = stem_l_->hpos_f ();
-  dir_ = stem_l_->dir_;
+  set_direction (stem_l_->get_direction ());
   SCM bd = stem_l_->remove_elt_property ("beam-dir");
   
   beam_dir_ = gh_scm2int (bd);
@@ -62,7 +62,7 @@ Stem_info::Stem_info (Stem*s, int mult)
   Real stem_f = paper_l->get_var (type_str + "stem_length"
                                  + to_str (mult_i_ <? stem_max))* internote_f;
 
-  if (!beam_dir_ || (beam_dir_ == dir_))
+  if (!beam_dir_ || (beam_dir_ == get_direction ()))
     /* normal beamed stem */
     {
       if (mult_i_)
index 56e0201754aa7279e2dbfa17893de09b36de5eae..ad2ba0b7fd6e0dab0b1dd885b9990922179100b7 100644 (file)
@@ -41,7 +41,7 @@ Stem_staff_side_item::set_stem (Stem*s)
 Direction
 Stem_staff_side_item::get_default_direction () const
 {
-  return (Direction)(relative_dir_ * stem_l_->dir_);
+  return (Direction)(relative_dir_ * stem_l_->get_direction ());
 }
 
 void
@@ -86,13 +86,13 @@ Stem_staff_side_item::do_post_processing ()
       Real self_coord = relative_coordinate (c, Y_AXIS);
       Real now_coord = self_coord - staff_coord;
       
-      Real desired_coord = ceil (dir_ * 2.0 *  now_coord / staff_line_leading_f ());
+      Real desired_coord = ceil (get_direction () * 2.0 *  now_coord / staff_line_leading_f ());
       if (! (int (desired_coord) % 2))
        {
          desired_coord ++;
        }
 
-      translate_axis (desired_coord * dir_ *  staff_line_leading_f () / 2.0  - now_coord, Y_AXIS);
+      translate_axis (desired_coord * get_direction () *  staff_line_leading_f () / 2.0  - now_coord, Y_AXIS);
     }
 }
 
index ee93f94fa8124f2a2de95933e1ff15d7be4ba85a..5ada498afdccf158f749831a380d9fced3337ba7 100644 (file)
@@ -84,20 +84,20 @@ Stem_tremolo::do_brew_molecule_p () const
         {
          beams->translate (Offset(stem_l_->hpos_f () - hpos_f (),
            stem_l_->stem_end_f () * internote_f - 
-           stem_l_->beam_l_->dir_ * beams_i * interbeam_f));
+           stem_l_->beam_l_->get_direction () * beams_i * interbeam_f));
        }
       else
        {  
          /*
            Beams should intersect one beamthickness below staff end
           */
-         Real dy = - beams->extent ()[Y_AXIS].length () / 2 * stem_l_->dir_;
+         Real dy = - beams->extent ()[Y_AXIS].length () / 2 * stem_l_->get_direction ();
 
          /*
            uhg.  Should use relative coords and placement
          */
          Real whole_note_correction = (stem_l_ && stem_l_->invisible_b( ))
-           ? -stem_l_->get_dir () * stem_l_->note_delta_f ()/2
+           ? -stem_l_->get_direction () * stem_l_->note_delta_f ()/2
            : 0.0;
 
          /*
index 018011adbc2efb95b2d4aeb8e30cc4a5313c4cf2..178166d73be50bd3c4f82f3501510c6f573980cc 100644 (file)
@@ -22,7 +22,7 @@
 void
 Stem::set_direction (Direction d)
 {
-  if  (!dir_)
+  if  (!get_direction ())
     warning (_ ("stem direction set already!"));
 
   dir_ = d;
@@ -37,7 +37,7 @@ Stem::Stem ()
   beams_i_drul_[LEFT] = beams_i_drul_[RIGHT] = -1;
   yextent_drul_[DOWN] = yextent_drul_[UP] = 0;
   flag_i_ = 2;
-  dir_ = CENTER;
+  set_direction (CENTER);
   beam_l_ = 0;
 }
 
@@ -83,31 +83,31 @@ Stem::stem_length_f () const
 Real
 Stem::stem_begin_f () const
 {
-  return yextent_drul_[Direction(-dir_)];
+  return yextent_drul_[Direction(-get_direction ())];
 }
 
 Real
 Stem::chord_start_f () const
 {
-  return head_positions()[dir_] * staff_line_leading_f ()/2.0;
+  return head_positions()[get_direction ()] * staff_line_leading_f ()/2.0;
 }
 
 Real
 Stem::stem_end_f () const
 {
-  return yextent_drul_[dir_];
+  return yextent_drul_[get_direction ()];
 }
 
 void
 Stem::set_stemend (Real se)
 {
   // todo: margins
-  if (dir_ && dir_ * head_positions()[dir_] >= se*dir_)
+  if (get_direction () && get_direction () * head_positions()[get_direction ()] >= se*get_direction ())
     warning (_ ("Weird stem size; check for narrow beams"));
 
   
-  yextent_drul_[dir_]  =  se;
-  yextent_drul_[Direction(-dir_)] = head_positions()[-dir_];
+  yextent_drul_[get_direction ()]  =  se;
+  yextent_drul_[Direction(-get_direction ())] = head_positions()[-get_direction ()];
 }
 
 int
@@ -158,11 +158,6 @@ Stem::get_default_dir () const
   return Direction (int(paper_l ()->get_var ("stem_default_neutral_direction")));
 }
 
-Direction
-Stem::get_dir () const
-{
-  return dir_;
-}
 
 
 void
@@ -182,15 +177,15 @@ Stem::set_default_stemlen ()
 
   Real shorten_f = paper_l ()->get_var (type_str + "forced_stem_shorten0");
 
-  if (!dir_)
-    dir_ = get_default_dir ();
+  if (!get_direction ())
+    set_direction (get_default_dir ());
 
   /* 
     stems in unnatural (forced) direction should be shortened, 
     according to [Roush & Gourlay]
    */
   if (((int)chord_start_f ())
-      && (dir_ != get_default_dir ()))
+      && (get_direction () != get_default_dir ()))
     length_f -= shorten_f;
 
   if (flag_i_ >= 5)
@@ -198,11 +193,11 @@ Stem::set_default_stemlen ()
   if (flag_i_ >= 6)
     length_f += 1.0;
   
-  set_stemend ((dir_ > 0) ? head_positions()[BIGGER] + length_f:
+  set_stemend ((get_direction () > 0) ? head_positions()[BIGGER] + length_f:
               head_positions()[SMALLER] - length_f);
 
   bool no_extend_b = get_elt_property ("no-stem-extend") != SCM_UNDEFINED;
-  if (!grace_b && !no_extend_b && (dir_ * stem_end_f () < 0))
+  if (!grace_b && !no_extend_b && (get_direction () * stem_end_f () < 0))
     set_stemend (0);
 }
 
@@ -221,7 +216,7 @@ Stem::set_noteheads ()
   if (!head_l_arr_.size ())
     return;
   head_l_arr_.sort (Note_head::compare);
-  if (dir_ < 0)
+  if (get_direction () < 0)
     head_l_arr_.reverse ();
 
   Note_head * beginhead =   head_l_arr_[0];
@@ -238,7 +233,7 @@ Stem::set_noteheads ()
       if (dy <= 1)
        {
          if (parity)
-           head_l_arr_[i]->flip_around_stem (dir_);
+           head_l_arr_[i]->flip_around_stem (get_direction ());
          parity = !parity;
        }
       else
@@ -277,7 +272,7 @@ Stem::set_spacing_hints ()
 {
   if (!invisible_b ())
     {
-      SCM scmdir  = gh_int2scm (dir_);
+      SCM scmdir  = gh_int2scm (get_direction ());
       SCM dirlist = column_l ()->get_elt_property ("dir-list");
       if (dirlist == SCM_UNDEFINED)
        dirlist = SCM_EOL;
@@ -300,7 +295,7 @@ Stem::flag () const
       style = ly_scm2string (st);
     }
 
-  char c = (dir_ == UP) ? 'u' : 'd';
+  char c = (get_direction () == UP) ? 'u' : 'd';
   Molecule m = lookup_l ()->afm_find (String ("flags-") + to_str (c) + 
                                      to_str (flag_i_));
   if (!style.empty_b ())
@@ -337,7 +332,7 @@ Stem::do_brew_molecule_p () const
   Real head_wid = 0;
   if (head_l_arr_.size ())
     head_wid = head_l_arr_[0]->extent (X_AXIS).length ();
-  stem_y[Direction(-dir_)] += dir_ * head_wid * tan(ANGLE)/(2*dy);
+  stem_y[Direction(-get_direction ())] += get_direction () * head_wid * tan(ANGLE)/(2*dy);
   
   if (!invisible_b ())
     {
@@ -350,7 +345,7 @@ Stem::do_brew_molecule_p () const
   if (!beam_l_ && abs (flag_i_) > 2)
     {
       Molecule fl = flag ();
-      fl.translate_axis(stem_y[dir_]*dy, Y_AXIS);
+      fl.translate_axis(stem_y[get_direction ()]*dy, Y_AXIS);
       mol_p->add_molecule (fl);
     }
 
@@ -371,10 +366,10 @@ Stem::note_delta_f () const
          Real rule_thick = paper_l ()->get_var ("stemthickness");
 
       Interval stem_wid(-rule_thick/2, rule_thick/2);
-      if (dir_ == CENTER)
+      if (get_direction () == CENTER)
        r = head_wid.center ();
       else
-       r = head_wid[dir_] - stem_wid[dir_];
+       r = head_wid[get_direction ()] - stem_wid[get_direction ()];
     }
   return r;
 }
index cf8c0ea0f635ad013504ce8c6a0bd1b33bc5d833..5cac32fd3dc983731447a07790b707feba2148bf 100644 (file)
@@ -94,7 +94,7 @@ Text_engraver::do_process_requests ()
       ss->set_elt_property ("script-priority",
                            gh_int2scm (200));
 
-      ss->dir_ = r->dir_;
+      ss->set_direction (r->get_direction ());
 
       text->text_str_ = r->text_str_;
       
index a3ba0358ca961638ea8869335b21ac64f66edcf6..49212b2d0939f28230ccf399fe5784d3c83d992e 100644 (file)
@@ -147,7 +147,7 @@ Tie_engraver::do_pre_move_processing ()
   
   for (int i=0; i<  tie_p_arr_.size (); i++)
    {
-      tie_p_arr_[i]->dir_ = tie_dir;
+      tie_p_arr_[i]->set_direction (tie_dir);
       typeset_element (tie_p_arr_[i]);
     }
   tie_p_arr_.clear ();
index 8773cf2c784f4ba34d308a008c6d63fda5de6e75..af2c6fb1a50be54c81f5831a27c9ed8a5a6d430e 100644 (file)
@@ -159,15 +159,15 @@ Tie::do_post_processing()
   if (dx_f < paper_l ()->get_var ("tie_staffspace_length"))
     {
       if (abs (ypos_i) % 2)
-       y_f += dir_ * internote_f;
-      y_f += dir_ * y_gap_f;
+       y_f += get_direction () * internote_f;
+      y_f += get_direction () * y_gap_f;
     }
   else
     {
       if (! (abs (ypos_i) % 2))
-       y_f += dir_ * internote_f;
-      y_f += dir_ * internote_f;
-      y_f -= dir_ * y_gap_f;
+       y_f += get_direction () * internote_f;
+      y_f += get_direction () * internote_f;
+      y_f -= get_direction () * y_gap_f;
     }
   
   dy_f_drul_[LEFT] = dy_f_drul_[RIGHT] = y_f;
index 165255db26606b62ead063b638861a7277e91a00..0c3646f6ff333850ea7757dc38de4ff99f5e531e 100644 (file)
@@ -63,10 +63,10 @@ Tuplet_spanner::do_brew_molecule_p () const
     num.align_to (X_AXIS, CENTER);
     num.translate_axis (w/2, X_AXIS);
     Real interline = paper_l ()->get_var ("interline");
-    Real dy = column_arr_.top ()->extent (Y_AXIS) [dir_]
-      - column_arr_[0]->extent (Y_AXIS) [dir_];
+    Real dy = column_arr_.top ()->extent (Y_AXIS) [get_direction ()]
+      - column_arr_[0]->extent (Y_AXIS) [get_direction ()];
     num.align_to (Y_AXIS, CENTER);
-    num.translate_axis (dir_ * interline, Y_AXIS);
+    num.translate_axis (get_direction () * interline, Y_AXIS);
        
     num.translate_axis (dy/2, Y_AXIS);
     
@@ -75,14 +75,14 @@ Tuplet_spanner::do_brew_molecule_p () const
       {
        Real gap = paper_l () -> get_var ("tuplet_spanner_gap");
        
-       mol_p->add_molecule (lookup_l ()->tuplet_bracket (dy, w, thick, gap, interline, dir_));
+       mol_p->add_molecule (lookup_l ()->tuplet_bracket (dy, w, thick, gap, interline, get_direction ()));
       }
 
     if (number_visibility)
       {
        mol_p->add_molecule (num);
       }
-    mol_p->translate_axis (dir_ * interline, Y_AXIS);
+    mol_p->translate_axis (get_direction () * interline, Y_AXIS);
   }
   return mol_p;
 }
@@ -101,7 +101,7 @@ void
 Tuplet_spanner::do_post_processing ()
 {
   if (column_arr_.size())
-    translate_axis (column_arr_[0]->extent (Y_AXIS)[dir_], Y_AXIS);
+    translate_axis (column_arr_[0]->extent (Y_AXIS)[get_direction ()], Y_AXIS);
 
   if (beam_l_arr_.size () == 1)
     {
index 6f16728730735c25ce8006e0e96b3ba6f2e01094..ef3942dd66576cf82a7927e22077c095c1b5be33 100644 (file)
@@ -2,8 +2,6 @@
  chord modifiers
 %}
 
-#(eval-string (ly-gulp-file "chord-names.scm"))
-
 \chordmodifiers {
        m       = \musicalpitch { 0 2 -1 }
        min     = \musicalpitch { 0 2 -1 }
index 25222f488d0047d34a24b163ce37a55e8476f743..2026d92ba536c8371940c524855661a87fb907c9 100644 (file)
@@ -11,7 +11,6 @@ paper_eleven = \paper {
        font_large = 8.;
        font_Large = 6.;
        font_normal = 5.;
-       font_script = 4.;
 
        font_finger = 4.;
        font_volta = 4.;
@@ -19,15 +18,10 @@ paper_eleven = \paper {
        font_dynamic = 10.;
        font_mark = 6.;
        magnification_dynamic = -4.0;
-
        -1=\font "feta11"
        -2=\font "feta11"
        0=\font "feta11"
 
-       "font_feta-2" = 11.;
-       "font_feta-1" = 11.;
-       "font_feta" = 11.;
-
        \include "params.ly";
 }
 
index 65d412981e976835751971599d4244a7c1c73303..afe0cd5651acc36eabce1c512c3006f314085486 100644 (file)
@@ -11,7 +11,6 @@ paper_thirteen = \paper {
        font_large = 8.;
        font_Large = 6.;
        font_normal = 5.;
-       font_script = 4.;
 
        font_finger = 4.;
        font_volta = 4.;
@@ -21,10 +20,6 @@ paper_thirteen = \paper {
 
        0=\font "feta13"
        -1=\font "feta11"
-
-       "font_feta-2" = 11.;
-       "font_feta-1" = 11.;
-       "font_feta" = 13.;
        
        \include "params.ly";
 }
index 14fab61a393479666a135adb1c1ed6496254bdf8..f9a2a248e3964d09a30e4a95f59a8338900502ea 100644 (file)
@@ -14,8 +14,6 @@ paper_sixteen = \paper {
        font_large = 12.;
        font_Large = 10.;
        font_normal = 8.;
-       font_script = 7.;
-
        magnification_dynamic = 1.0;
        font_finger = 4.;
        font_volta = 5.;
@@ -27,10 +25,6 @@ paper_sixteen = \paper {
        -1 = \font "feta13"
        -2 = \font "feta11"
        
-       "font_feta-2" = 11.;
-       "font_feta-1" = 13.;
-       "font_feta" = 16.;
-
        \include "params.ly";
 }
 
index 65f9100c738c9db35f2dce3157633af33d16a548..24983c1710ba96fdfd5557bf34fa76cf07d65d95 100644 (file)
@@ -9,7 +9,6 @@ paper_twenty = \paper {
        font_large = 12.;
        font_Large = 12.;       
        font_normal = 10.;
-       font_script = 8.;
 
        font_finger = 5.;
        font_volta = 8.;
@@ -32,10 +31,6 @@ paper_twenty = \paper {
        -1 = \font "feta16"
        0 = \font "feta20"
 
-       "font_feta-2" = 13.;
-       "font_feta-1" = 16.;
-       "font_feta" = 20.;
-
        \include "params.ly";
 }
 
index 7a129b3356b4d107a2d813ba71e632a257f8eb6f..46a9f25b8fd6d38ef172a44ec45ee6ad44fc2da4 100644 (file)
@@ -9,7 +9,6 @@ paper_twentythree = \paper {
        font_large = 12.;
        font_Large = 12.;       
        font_normal = 10.;
-       font_script = 8.;
 
        font_finger = 5.;
        font_volta = 8.;
@@ -27,10 +26,6 @@ paper_twentythree = \paper {
        -1 = \font "feta20"
        0 = \font "feta23"
 
-       "font_feta-2" = 16.;
-       "font_feta-1" = 20.;
-       "font_feta" = 23.;
-
        \include "params.ly";
 }
 
index 4842149001ac96897177d96bba57edbcdf6f9b39..84d29e891b63c7336b686821557e63e85f792c53 100644 (file)
@@ -9,8 +9,6 @@ paper_twentysix = \paper {
        font_large = 14.;
        font_Large = 17.;       
        font_normal = 12.;
-       font_script = 10.;
-
        font_dynamic = 10.;
        % Ugh
        magnification_dynamic = 4.;
@@ -24,11 +22,6 @@ paper_twentysix = \paper {
        0=\font "feta26"
        -1 = \font "feta23"
        -2 = \font "feta20"
-
-       "font_feta-2" = 20.;
-       "font_feta-1" = 23.;
-       "font_feta" = 26.;
-
        \include "params.ly";
 }
 
index 94cc79fc2a97bbdf42e68becba77b14191bd854c..84bdabb4d07101e5329292fa931c8c4827eebdd9 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.3.2
-Entered-date: 01NOV99
+Version: 1.3.3
+Entered-date: 03NOV99
 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.2.tar.gz 
+       1000k lilypond-1.3.3.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.3.2.tar.gz 
+       1000k lilypond-1.3.3.tar.gz 
 Copying-policy: GPL
 End
index 0b4546e32b29839a8bd1b78930236ac52f43c17d..622db7d8708ac483596c511cfcb8c22bc98111fc 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.3.2
+Version: 1.3.3
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.2.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.3.tar.gz
 Summary: A program for printing sheet music.
 URL: http://www.cs.uu.nl/~hanwen/lilypond
 Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
index 7816b088806fa6645c487826f478f72cb900fdfd..81fd8abf3bc2d6dd22f56392a5c85d06dd554883 100644 (file)
@@ -33,6 +33,8 @@ INSTALLATION_OUT_FILES2=$(AFM_FILES)
 INSTALLATION_OUT_DIR3=$(datadir)/tfm
 INSTALLATION_OUT_FILES3=$(TFM_FILES)
 
+# comment these out if you don't want pfa's to be generated
+# or you don't have metapost.
 INSTALLATION_OUT_DIR4=$(datadir)/pfa
 INSTALLATION_OUT_FILES4=$(PFA_FILES)
 
diff --git a/scm/chord-names.scm b/scm/chord-names.scm
deleted file mode 100644 (file)
index 597679a..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-;; pitch: (notename . accidental)
-;; list:  (list-of-pitches . (modifier-string . addition-subtraction-string))
-
-;; if a complete chord is found, use name
-;; if a chord's base triad is found (c e g), use name
-
-(define pitch-names-alist '())
-(set! pitch-names-alist
-      (append 
-      '(
-       ; use these for German naming
-       ;((6 . 0) . ("H" ""))
-       ;((6 . -1) . ("B" ("feta-1" . "\12")))
-
-       ; urg, temp hack for accidental size: can't set from Chord::
-       ((0 . 1) . ("C" ("feta-1" . "\10")))
-       ((1 . 1) . ("D" ("feta-1" . "\10")))
-       ((2 . 1) . ("E" ("feta-1" . "\10")))
-       ((3 . 1) . ("F" ("feta-1" . "\10")))
-       ((4 . 1) . ("G" ("feta-1" . "\10")))
-       ((5 . 1) . ("A" ("feta-1" . "\10")))
-       ((6 . 1) . ("B" ("feta-1" . "\10")))
-
-       ((0 . -1) . ("C" ("feta-1" . "\12")))
-       ((1 . -1) . ("D" ("feta-1" . "\12")))
-       ((2 . -1) . ("E" ("feta-1" . "\12")))
-       ((3 . -1) . ("F" ("feta-1" . "\12")))
-       ((4 . -1) . ("G" ("feta-1" . "\12")))
-       ((5 . -1) . ("A" ("feta-1" . "\12")))
-       ((6 . -1) . ("B" ("feta-1" . "\12")))
-       )
-      pitch-names-alist))
-
-(define (user-pitch-name pitch)
-  (let ((entry (assoc pitch pitch-names-alist)))
-       (if entry
-          (cdr entry))))
-
-(define chord-names-alist '())
-(set! chord-names-alist
-      (append 
-      '(
-       ; C iso C.no3.no5
-       (((0 . 0)) . ("" . ""))
-       ; C iso C.no5
-       (((0 . 0) (2 . 0)) . ("" . ""))
-       ; Cm iso Cm.no5
-       (((0 . 0) (2 . -1)) . ("m" . ""))
-       ; Cdim iso Cm5-
-       (((0 . 0) (2 . -1) (4 . -1)) . ("dim" . ""))
-       ; Co iso Cm5-7-
-       ; urg
-        ; (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . ("" . ("feta-1" . ".")))
-        (((0 . 0) (2 . -1) (4 . -1) (6 . -2)) . ("" . ("script" . "o")))
-       ; Cdim9
-       (((0 . 0) (2 . -1) (4 . -1) (6 . -2) (1 . -1)) . ("dim" . ("script" . "9")))
-       (((0 . 0) (2 . -1) (4 . -1) (6 . -2) (1 . -1) (3 . -1)) . ("dim" . ("script" . "11")))
-       )
-      chord-names-alist))
-
-(define (user-chord-name chord)
-  ;(display chord)
-  ;(newline)
-  (let ((entry (assoc chord chord-names-alist)))
-       (if entry
-          (cdr entry))))
-
index a453194146b0020c8c7a43a0d391786831503759..980344441cd422a74c4270ca61b9be3d766206e2 100644 (file)
 
 ;;;;;;;; TeX
 
-;; this is silly, can't we use something like
-;; roman-0, roman-1 roman+1 ?
 (define cmr-alist 
   '(("bold" . "cmbx") 
     ("dynamic" . "feta-din") 
-    ("feta" . "feta") 
-    ("feta-1" . "feta") 
-    ("feta-2" . "feta") 
     ("finger" . "feta-nummer") 
     ("typewriter" . "cmtt") 
     ("italic" . "cmti") 
     ("roman" . "cmr") 
-    ("script" . "cmr") 
     ("large" . "cmbx") 
     ("Large" . "cmbx") 
     ("mark" . "feta-nummer") 
index 8652d3c960ff0c359d8bf42f486973d6458fefab..930659f86268fa5f7d874e917be172ada0aa2c7f 100644 (file)
@@ -563,7 +563,7 @@ AC_DEFUN(AC_STEPMAKE_TEXMF, [
     #
     # For now let people define these in their environments
     #
-    : ${MFPLAIN_MP=`kpsewhich mfplain.mp`}
+    : ${MFPLAIN_MP=`kpsewhich mp mfplain.mp`}
     : ${INIMETAPOST_FLAGS='-interaction=nonstopmode'}
 
     rm -f mfput.*