]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.3.58.jcn2
authorJan Nieuwenhuizen <janneke@gnu.org>
Sun, 11 Jun 2000 22:04:24 +0000 (00:04 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sun, 11 Jun 2000 22:04:24 +0000 (00:04 +0200)
1.3.58.jcn2
===========

* Fixed pedal items (hw)

* Changed configure option tex-tmfdir to tmf-path now accepting multiple
  tfm directories.  Automated links to cmr and amstex tfm font directories.

* Replaced one scm_assoc () u-turn slipped through jcn1

38 files changed:
CHANGES
VERSION
aclocal.m4
buildscripts/set-lily.sh
config.make.in
flower/file-path.cc
flower/include/file-path.hh
lily/include/bar.hh
lily/include/beam.hh
lily/include/breathing-sign.hh
lily/include/chord-name.hh
lily/include/crescendo.hh
lily/include/dots.hh
lily/include/extender-spanner.hh
lily/include/hyphen-spanner.hh
lily/include/key-item.hh
lily/include/local-key-item.hh
lily/include/multi-measure-rest.hh
lily/include/note-head.hh
lily/include/rest.hh
lily/include/score-element.hh
lily/include/slur.hh
lily/include/staff-symbol.hh
lily/include/stem-tremolo.hh
lily/include/stem.hh
lily/include/sustain-pedal.hh
lily/include/text-item.hh
lily/include/tie.hh
lily/include/time-signature.hh
lily/include/tuplet-spanner.hh
lily/include/volta-spanner.hh
lily/main.cc
lily/piano-pedal-engraver.cc
lily/sustain-pedal.cc
lily/system-start-delimiter.cc
ly/engraver.ly
make/toplevel.make.in
stepmake/aclocal.m4

diff --git a/CHANGES b/CHANGES
index 642f5a67118c1a44d8fd4a806f5e4b50e7ccf7e5..603ec451f95fd75d51911d0cb34e05ddea3b1bcf 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,13 @@
+1.3.58.jcn2
+===========
+
+* Fixed pedal items (hw)
+
+* Changed configure option tex-tmfdir to tmf-path now accepting multiple
+  tfm directories.  Automated links to cmr and amstex tfm font directories.
+
+* Replaced one scm_assoc () u-turn slipped through jcn1
+
 1.3.58.jcn1
 ===========
 
diff --git a/VERSION b/VERSION
index 14173e93e6a2759b8edb2bc7af71a58a30ed110f..9d24cd1c01da0ebf456edac49bfcd5562b7ac806 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
 PATCH_LEVEL=58
-MY_PATCH_LEVEL=jcn1
+MY_PATCH_LEVEL=jcn2
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index 4e032e115e26794d51f8509c910c3533619a88f3..25ba3293eb21aae4913762ba1744026668b9d528 100644 (file)
@@ -1,5 +1,3 @@
-dnl WARNING WARNING WARNING WARNING
-dnl do not edit! this is aclocal.m4, generated from stepmake/aclocal.m4
 dnl aclocal.m4   -*-shell-script-*-
 dnl StepMake subroutines for configure.in
 
@@ -555,26 +553,33 @@ AC_DEFUN(XXAC_STEPMAKE_TEXMF_DIRS, [
 ])
 
 AC_DEFUN(AC_STEPMAKE_TEXMF_DIRS, [
-    AC_ARG_ENABLE(tex-tfmdir,
-    [  enable-tex-tfmdir=DIR   set the tex-directory where cmr10.tfm lives (default: use kpsewhich)],
-    [TFMDIR=$enableval],
-    [TFMDIR=auto] )
+    AC_ARG_ENABLE(tfm-path,
+    [  enable-tfm-path=PATH   set path of tex directories where tfm files live, esp.: cmr10.tfm (default: use kpsewhich)],
+    [tfm_path=$enableval],
+    [tfm_path=auto] )
 
     AC_CHECK_PROGS(KPSEWHICH, kpsewhich, no)
-    AC_MSG_CHECKING(for TeX TFM directory)
-    if test "x$TFMDIR" = xauto ; then
-       if test "x$TEX_TFMDIR" = "x" ; then
-           if test "x$KPSEWHICH" != "xno" ; then
-               CMR10=`kpsewhich tfm cmr10.tfm`
-               TEX_TFMDIR=`dirname $CMR10`
-           else
-               AC_STEPMAKE_WARN(Please set TEX_TFMDIR (to where cmr10.tfm lives):
-       TEX_TFMDIR=/usr/local/TeX/lib/tex/fonts ./configure)
-           fi
+    AC_MSG_CHECKING(for tfm path)
+
+    TFM_FONTS="cmr msam"
+
+    if test "x$tfm_path" = xauto ; then
+       if test "x$KPSEWHICH" != "xno" ; then
+           for i in $TFM_FONTS; do
+               dir=`$KPSEWHICH tfm ${i}10.tfm`
+               TFM_PATH="$TFM_PATH `dirname $dir`"
+           done
+       else
+           AC_STEPMAKE_WARN(Please specify where cmr10.tfm lives:
+    ./configure --enable-tfm-path=/usr/local/TeX/lib/tex/fonts)
        fi
+    else
+         TFM_PATH=$tfm_path
     fi
-    AC_MSG_RESULT($TEX_TFMDIR)
-    AC_SUBST(TEX_TFMDIR)
+
+    TFM_PATH=`echo $TFM_PATH | tr ':' ' '`
+    AC_MSG_RESULT($TFM_PATH)
+    AC_SUBST(TFM_PATH)
 ])
 
 AC_DEFUN(AC_STEPMAKE_TEXMF, [
@@ -793,9 +798,7 @@ dnl             find the libraries.
 AC_DEFUN([GUILE_FLAGS],[
 ## The GUILE_FLAGS macro.
   AC_MSG_CHECKING(for Guile)
-  if $guile_config link > /dev/null ; then
-      :
-  else
+  if ! $guile_config link > /dev/null ; then
       AC_MSG_RESULT("cannot execute $guile_config")
       AC_MSG_ERROR("cannot find guile-config; is Guile installed?")
       exit 1
index df01378c4567b5e61d2e43ceb28c940078c197a2..9775748d185086c2db855206ac9a83b1f3099dbc 100755 (executable)
@@ -60,14 +60,13 @@ showln -sf $LILYPOND_SOURCEDIR/buildscripts/out/genheader $prefix/bin/genheader
 showln -sf $LILYPOND_SOURCEDIR/scripts/out/as2text $prefix/bin/as2text
 
 
-
 testmkdir $prefix/share
 rm -rf $prefix/share/lilypond
 showln -sf $sources/lilypond $prefix/share/lilypond
 
 
 BUILDDIR=`pwd`
-LOCALES="de it nl fr"
+LOCALES="de fr it ja nl ru"
 for i in $LOCALES; do
        dir=$BUILDDIR/share/locale/$i/LC_MESSAGES
        if test ! -x $dir ; then
@@ -78,12 +77,20 @@ for i in $LOCALES; do
 done
 rm -f afm; showln -sf $BUILDDIR/mf/out afm
 rm -f tfm; showln -sf $BUILDDIR/mf/out tfm
-if test "x$TEX_TFMDIR" = "x" ; then
-       CMR10=`kpsewhich tfm cmr10.tfm`
-       TEX_TFMDIR=`dirname $CMR10`
-fi
-rm -f cmtfm; showln -sf $TEX_TFMDIR $BUILDDIR/cmtfm
 
+TFM_FONTS="cmr msam"
+for i in $TFM_FONTS; do
+    dir=`kpsewhich tfm ${i}10.tfm`
+    TFM_PATH="$TFM_PATH `dirname $dir`"
+done
+
+# urg: GNU make's $(word) index starts at 1
+i=1
+for dir in $TFM_PATH; do
+       rm -f $BUILDDIR/tfm.$i;
+       showln -s $dir $BUILDDIR/tfm.$i
+       i=$((i + 1))
+done
 
 if [ -f ../.gdbinit.lilypond ];
 then
@@ -98,7 +105,7 @@ echo
 
 echo Starting configuration
 echo
-(set -x; TEX_TFMDIR=$TEX_TFMDIR ./configure --prefix=$prefix --enable-debugging --enable-printing --enable-checking --disable-optimise)
+(set -x; ./configure --prefix=$prefix --enable-debugging --enable-printing --enable-checking --disable-optimise)
 
 echo "Making tags in background..."
 make TAGS > /dev/null 2>&1 &
index 8a72dfea93dcdebac7d0be4ac35568538cb976ae..23798deabf1f6f15d8f833c10b5ddf9774660ef2 100644 (file)
@@ -38,7 +38,8 @@ localedir = @localedir@
 program_prefix = @program_prefix@
 program_suffix = @program_suffix@
 EXTRA_LIBES = @EXTRA_LIBES@ @LIBS@
-TEX_TFMDIR = @TEX_TFMDIR@
+TFM_PATH = @TFM_PATH@
+TFM_SUFFIXES = @TFM_SUFFIXES@
 RANLIB = @RANLIB@
 DEFS = @DEFS@
 #SET_MAKE = @SET_MAKE@
index 5f430ce9a070f6941a2c18e5ab7544f39c1efd03..10df133946ee45fe911d512d60a349332c912dc5 100644 (file)
@@ -110,10 +110,27 @@ File_path::find (String nm) const
   return "";
 }
 
+/**
+   Add an directory, return false if failed
+ */
+bool
+File_path::try_add (String s)
+{
+  if (s == "")
+    s =  ".";
+  FILE  * f = fopen (s.ch_C(), "r");
+  if (!f)
+    return false;
+  fclose (f);
+    
+  push (s);
+  return true;
+}
+
 void
 File_path::add (String s)
 {
-   push (s); 
+  push (s);
 }
 
 String
index 15c295ba4b3880fa593ab8b6ba05422f8322d8cb..fdaf3e254a8dbf518156418626651cb3b0f0e0dc 100644 (file)
@@ -30,7 +30,8 @@ public:
 
   Array<String>::push;
   String str ()const;
-  void add (String str);
+  bool try_add (String str);
+  void add (String);
   void parse_path (String);
 };
 
index 6673cea6f95c96e1090b0eb1981056869872f1e3..bfb2ce7379f0bb3e3d061d38b64eaa15d9ff6c28 100644 (file)
@@ -23,7 +23,7 @@ public:
 
 protected:
   virtual void before_line_breaking ();
-  virtual Molecule  do_brew_molecule () const;
+  Molecule  do_brew_molecule () const;
   virtual Real get_bar_size () const;
 };
 #endif // BAR_HH
index 99eac088af3a3482a4090bb07614e468c337f40b..9021a08ab05374486082dde59ea481e77e797bd9 100644 (file)
@@ -49,7 +49,7 @@ protected:
  
   virtual void before_line_breaking ();
   virtual void after_line_breaking ();
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
 
   Molecule stem_beams (Stem *here, Stem *next, Stem *prev) const;
 private:
index a2b0181d2b6bc0f4b3224bab07bfd3d8a9154112..6ecf02e263908594fe8dc83e4c9bf914994b9bcf 100644 (file)
@@ -26,7 +26,7 @@ public:
   Breathing_sign (SCM s);
 protected:
   virtual void after_line_breaking ();
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
 };
 
 #endif // BREATHING_SIGN_HH
index 80bc855e4396303b3e375503d6eeb5227687dd47..d89e81c2e3e543745ae9dd0c72c517b07efe3892 100644 (file)
@@ -29,7 +29,7 @@ VIRTUAL_COPY_CONS (Score_element);
   Molecule ly_text2molecule (SCM scm) const;
   Chord_name(SCM s);
 protected:
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
 
 };
 
index e43f005e61bea9b50554a1b7145c03fb6035d063..a9d45763207e63a8879ba50cce90a27bed7122d7 100644 (file)
@@ -23,7 +23,7 @@ public:
 Crescendo(SCM);
 protected:
   VIRTUAL_COPY_CONS(Score_element);
-  virtual Molecule do_brew_molecule() const;
+  Molecule do_brew_molecule() const;
     
 private:
   Molecule get_symbol() const;
index 8f33241c68ec1e8f944b2b84ed7d9d3c50249040..ace3555c6c4195efc227638f145f30a50512fda7 100644 (file)
@@ -26,7 +26,7 @@
 class Dots :  public Item
 {
 protected:
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
   virtual void after_line_breaking ();
 public:
    static SCM scheme_molecule (SCM);
index b921217dbee55b02d0e7da9118fd660229280728..a86a3d0e03eb3286bbdf18575af2bf4929d75fdb 100644 (file)
@@ -36,7 +36,7 @@ public:
   
 
 protected:
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
   void after_line_breaking ();
  
   VIRTUAL_COPY_CONS (Score_element);
index 1270bce805216b477eb6cddab271db9afefba284..920c4c35fa2871638658a675a86e85938e746091 100644 (file)
@@ -27,7 +27,7 @@ public:
   
 
 protected:
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
   Interval do_height () const;
 
   void after_line_breaking ();
index 67b1d6c935f86482cbf805df3fdd10ed9c65356d..8743259021623add22abd8b23e5bfb9427932728 100644 (file)
@@ -33,7 +33,7 @@ public:
   
 
 protected:
-  virtual Molecule do_brew_molecule() const;
+  Molecule do_brew_molecule() const;
 };
 
 #endif // KEYITEM_HH
index 400d7de2a7af387ed40dbadbac89cab554616bdd..ccedf0f9b7e7fa222d1bf8248678b6a41d2827a9 100644 (file)
@@ -46,7 +46,7 @@ public:
   void add_pitch (Musical_pitch, bool cautionary, bool natural);
 protected:
   virtual void before_line_breaking ();
-  virtual Molecule do_brew_molecule() const;
+  Molecule do_brew_molecule() const;
 };
 
 #endif // LOCALKEYITEM_HH
index eba41029b21b69c4430904264e94a2a03d35bac3..4349b8d3cf48a6012db42c883382a2dac7ff26fd 100644 (file)
@@ -23,7 +23,7 @@ public:
   void add_column (Item*);
   Molecule compound_rest (int)const;
 protected:
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
   VIRTUAL_COPY_CONS (Score_element);
 
   virtual void do_add_processing ();
index 0ce36022fc912f775b3b28be1cad57bd1b62b1ed..eb86e467704e599f415578b4d287edeeef5c1962 100644 (file)
@@ -30,7 +30,7 @@ public:
   Note_head (SCM);
 protected:
   virtual void before_line_breaking ();
-  virtual Molecule do_brew_molecule() const;
+  Molecule do_brew_molecule() const;
 };
 #endif // NOTEHEAD_HH
 
index 0b0ebef383c9e18f94b4aa375e2c9a5b66bf0177..1977bd67388559ed925fc8c9116004d32b163f55 100644 (file)
@@ -23,7 +23,7 @@ class  Rest : public Rhythmic_head
 {
 protected:
   virtual void after_line_breaking ();
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
 public:
    static SCM scheme_molecule (SCM);
   
index 276fe75e3e0666bb74c99ecaa54adf837d34daaf..2ded67f8cc51fa228fd41fe17b408b9bff2c9ae9 100644 (file)
@@ -184,7 +184,7 @@ protected:
   
   ///executed directly after the item is added to the Paper_score
   virtual void do_add_processing ();
-  virtual Molecule do_brew_molecule ()const;
+  Molecule do_brew_molecule ()const;
   
   static Interval dim_cache_callback (Dimension_cache const*);
   
@@ -245,14 +245,7 @@ public:
 
 Score_element * unsmob_element (SCM);
 
-#define MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(TYPE)                              \
-SCM                                                            \
-TYPE::scheme_molecule (SCM smob)                               \
-{                                                              \
-  TYPE * b = dynamic_cast<TYPE*> (unsmob_element (smob));      \
-  return b ?  b->do_brew_molecule ().create_scheme () : SCM_EOL; \
-}                                                              \
-                                                               \
+#define MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(TYPE)                          \
 void                                                           \
 TYPE ## __init_functions ()                                    \
 {                                                              \
@@ -262,6 +255,16 @@ TYPE ## __init_functions ()                                        \
                                                                \
 ADD_SCM_INIT_FUNC(TYPE ## _molecule, TYPE ## __init_functions);        \
 
+#define MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(TYPE)                              \
+MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(TYPE);\
+SCM                                                            \
+TYPE::scheme_molecule (SCM smob)                               \
+{                                                              \
+  TYPE * b = dynamic_cast<TYPE*> (unsmob_element (smob));      \
+  return b ?  b->do_brew_molecule ().create_scheme () : SCM_EOL; \
+}                                                              \
+                                                               \
+
 
 
 #endif // STAFFELEM_HH
index a44f1f4bd4af75c69b4f62db8f3ee8cc1d9bc7a1..9a71f42d3f4bbe8267a5213e8b27a33a30b645e4 100644 (file)
@@ -25,7 +25,7 @@ public:
 
 
 protected:
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
   virtual Array<Offset> get_encompass_offset_arr () const;
   Bezier get_curve () const;
   Drul_array<Real> dy_f_drul_;
index 4ed5b22af03a22fc684ae4bd0e244818ae703b90..98478d5c36c904eef091539fe8558363ea2cdc10 100644 (file)
@@ -27,7 +27,7 @@ public:
 
 protected:
   VIRTUAL_COPY_CONS(Score_element);
-  virtual Molecule do_brew_molecule() const;
+  Molecule do_brew_molecule() const;
 
 };
 #endif // STAFFSYM_HH
index ec2e7b4426e195a64533442863c6f5a012400792..97cbd2c690c1fe5c504cd9a4a47a3b298f8e11cd 100644 (file)
@@ -16,7 +16,7 @@
 class Stem_tremolo : public Item {
 protected:
   Stem * stem_l () const;
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
 
   static Interval dim_callback (Score_element*, Axis);
 public:
index 44d054f011458588aa7dacacc5b9a98ee2dbdf16..ea208ff7921dedb6965b5de86beba621efca11dd 100644 (file)
@@ -93,7 +93,7 @@ protected:
 
   virtual void before_line_breaking();
   static Interval dim_callback (Score_element const*,Axis);
-  virtual Molecule do_brew_molecule() const;
+  Molecule do_brew_molecule() const;
 
   void set_spacing_hints () ;
 };
index 505723c316da01b92260623e9b6fc1b220ea11a8..fe1a3147469517248e1985001c156b0298bfd0d8 100644 (file)
@@ -33,10 +33,10 @@ class Sustain_pedal : public Item
 public:
    static SCM scheme_molecule (SCM);
   
-VIRTUAL_COPY_CONS (Score_element);
+  VIRTUAL_COPY_CONS (Score_element);
   Sustain_pedal (SCM);
 protected:
-  virtual Molecule do_brew_molecule () const;
+  // Molecule do_brew_molecule () const;
   virtual void after_line_breaking ();
 };
 
index d70347307a86ebcb914673b2b8c96435d33ec420..d69a23f0af7592ac6bdd27bc1764538ce5f1f412 100644 (file)
@@ -23,7 +23,7 @@ public:
   
 Text_item (SCM s);
 protected:
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
 };
 
 #endif /* Text_ITEM_HH */
index 71e0e86c879c2e85117265bcebec24b4ca62ec74..c6fc1c89040d777981a41ca2e9cb89935b5c35b2 100644 (file)
@@ -31,7 +31,7 @@ public:
   virtual Direction get_default_dir() const;
 
 protected:
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
   virtual Array<Offset> get_encompass_offset_arr () const;
   Bezier get_curve () const;
 
index ac4a49f237c289dcb1153527a03f64a83bb0bdbc..ea338b29a45511c3f38547b5faa7a3320799ec20 100644 (file)
@@ -24,7 +24,7 @@ class Time_signature: public Item
   Molecule time_signature (int, int)const;
   
 protected:
-  virtual Molecule do_brew_molecule() const;
+  Molecule do_brew_molecule() const;
 public:
   Time_signature (SCM);
  static SCM scheme_molecule (SCM);
index e7390afbf2c1d47fcf52e8dd1b5ec97763b4182a..ca725e5d401d0b1ac45a58ea6cbc3f871c5f8cae 100644 (file)
@@ -30,7 +30,7 @@ protected:
   void calc_dy (Real *) const;
   void calc_position_and_height (Real*,Real *dy)const;
   
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
   VIRTUAL_COPY_CONS(Score_element);
   virtual void do_add_processing ();
   virtual void after_line_breaking ();
index a9a05605da444787de446aa8d5ce22f3a5352018..40c2195a44f803a364cc9f0878435542828ffd7d 100644 (file)
@@ -22,7 +22,7 @@ public:
   void add_bar (Bar*);
  
 protected:
-  virtual Molecule do_brew_molecule () const;
+  Molecule do_brew_molecule () const;
   VIRTUAL_COPY_CONS (Score_element);
 
   virtual void do_add_processing ();
index fcbd09e5c62a6fe8a543e3502314ceb80752d3f5..3bade16b9d3e52a9881b944848022d78dd739752 100644 (file)
@@ -217,13 +217,21 @@ setup_paths ()
     global_path.parse_path (env_sz);
 
 
-  char *suffixes[] = {"ly", "afm", "scm", "tfm", "cmtfm", "ps", 0};
+  /*
+    Should use kpathsea, this is getting out of hand.  
+   */
+  char *suffixes[] = {"ly", "afm", "scm", "tfm", "ps", 0};
+  String prefix = prefix_directory;
+  if (prefix.empty_b ()) prefix =  DIR_DATADIR;
   for (char **s = suffixes; *s; s++)
     {
-      if (!prefix_directory.empty_b())
-       global_path.add (prefix_directory + to_str ('/') + String (*s));
-      else
-       global_path.add (String (DIR_DATADIR) + to_str ('/') + String(*s));
+      String p =  prefix + to_str ('/') + String (*s);
+      
+      global_path.add (p);
+      /* Urg: GNU make's $(word) index starts at 1 */
+      int i  = 1;
+      while (global_path.try_add (p + to_str (".") + to_str (i)))
+       i++;
     }
 }
 
index e51fff1c6eacfec6da71b43f38e32e4790e2c82a..b8a69703a7f9a9e985ca67bf98d6bdaa217b2611 100644 (file)
@@ -181,27 +181,24 @@ Piano_pedal_engraver::do_process_music ()
          s = get_property ("start" + String (p->name_ ));
        }
 
-      if (s != SCM_UNDEFINED)
+      if (gh_string_p (s))
        {
          if (p->name_ == String ("Sustain"))
            {
-             p->item_p_ = new Sustain_pedal (SCM_EOL);
-             p->item_p_->set_elt_property ("text", s);
+             // fixme: Item should be sufficient.
+             p->item_p_ = new Text_item (get_property ("basicSustainPedalProperties"));
            }
          else
            {
-             p->item_p_ = new Text_item (SCM_EOL);
+             p->item_p_ = new Text_item (get_property ("basicPedalProperties"));
+           }
              p->item_p_->set_elt_property ("text", s);
              // guh
-             p->item_p_->set_elt_property ("style", ly_str02scm ("italic"));
-           }
 
          Side_position_interface si (p->item_p_);
          si.set_axis (Y_AXIS);
 
          // todo: init with basic props.
-         p->item_p_->set_elt_property ("no-spacing-rods"  , SCM_BOOL_T);
-         p->item_p_->set_elt_property ("self-alignment-X", gh_int2scm (0));
          p->item_p_->add_offset_callback (Side_position_interface::aligned_on_self, X_AXIS);
          p->item_p_->add_offset_callback (Side_position_interface::centered_on_parent, X_AXIS);
          announce_element (Score_element_info (p->item_p_,
index 9ee9a2905bc53f948f81517ed02b10bd9bc69f61..93e454441c9489a3e11bb757b3a9fc31c70be349 100644 (file)
@@ -16,6 +16,7 @@
 void
 Sustain_pedal::after_line_breaking ()
 {
+  return ;
   /*
     UGH. Should work automatically via offset callback. 
    */
@@ -24,31 +25,36 @@ Sustain_pedal::after_line_breaking ()
   i.set_direction (d);
 }
 
-Molecule
-Sustain_pedal::do_brew_molecule () const
+MAKE_SCHEME_SCORE_ELEMENT_NON_DEFAULT_CALLBACKS(Sustain_pedal);
+
+
+SCM
+Sustain_pedal::scheme_molecule (SCM smob) 
 {
+  Score_element * e = unsmob_element (smob);
+  
   Molecule mol;
-  SCM glyph = get_elt_property ("text");
-  if (glyph == SCM_UNDEFINED)
-    return mol;
+  SCM glyph = e->get_elt_property ("text");
+  if (!gh_string_p (glyph))
+    return mol.create_scheme();
   String text = ly_scm2string (glyph);
 
   for (int i = 0; i < text.length_i (); i++)
     {
       String idx ("pedal-");
-      if (text.cut_str (i, i + 2) == "Ped")
+      if (text.cut_str (i, 3) == "Ped")
        {
          idx += "Ped";
          i += 2;
        }
       else
        idx += String (&text.byte_C ()[i], 1);
-      Molecule m = lookup_l ()->afm_find (idx);
+      Molecule m = e->lookup_l ()->afm_find (idx);
       if (!m.empty_b ())
        mol.add_at_edge (X_AXIS, RIGHT, m, 0);
     }
     
-  return mol;
+  return mol.create_scheme ();
 }
 
 Sustain_pedal ::Sustain_pedal(SCM s )
index 197761591904aa882c4cf6adb7de913feb0398c6..f02cab53d59c32562de15d8a2297442ee9e2fd38 100644 (file)
@@ -112,9 +112,8 @@ System_start_delimiter::staff_brace (Real y)  const
   int idx = int (((maxht - step) <? y - minht) / step);
   idx = idx >? 0;
 
-  SCM l = scm_eval (gh_list (ly_symbol2scm ("style-to-cmr"),
-                           ly_str02scm ("brace"),
-                           SCM_UNDEFINED));
+  SCM l = scm_assoc (ly_str02scm ("brace"),
+                    scm_eval (ly_symbol2scm ("cmr-alist")));
   
   String nm = "feta-braces";
   if (l != SCM_BOOL_F)
index ba8064a1040050db5a6067b634a0c9e5a5e7f62d..8adf113a50c272e7f4aa4598ac7888e203988e1f 100644 (file)
@@ -152,6 +152,7 @@ VoiceContext = \translator {
        stopStartSustain = #"*Ped."
        startUnaChorda = #"una chorda"
        stopUnaChorda = #"tre chorde"
+
        \consists "Piano_pedal_engraver";
        \consists "Script_engraver";
        \consists "Script_column_engraver";
@@ -490,6 +491,13 @@ ScoreContext = \translator {
                (molecule-callback . ,Text_item::scheme_molecule)
                (style . "italic")
        )
+       basicPedalProperties = #`(
+               (molecule-callback . ,Text_item::scheme_molecule)
+               (style . "italic")
+               (no-spacing-rods . #t)
+               (self-alignment-X . 0)
+                               
+       )
        basicTextProperties = #`( )
        basicRestProperties = #`( 
                (molecule-callback . ,Rest::scheme_molecule)
@@ -504,7 +512,11 @@ ScoreContext = \translator {
        basicSlurProperties = #`(
                (molecule-callback . ,Slur::scheme_molecule)
        )
-
+       basicSustainPedalProperties = #`(
+               (no-spacing-rods . #t)
+               (molecule-callback . ,Sustain_pedal::scheme_molecule)
+               (self-alignment-X . 0)
+       )       
        basicSystemStartDelimiterProperties = #`(
                (molecule-callback . ,System_start_delimiter::scheme_molecule)
                (collapse-height . 1.0)
index 5b9e2b90bd13aa8a2b64416174e628b0a4b17bdd..9cc19ff4b5c58f8cce22427d8b754126b012c542 100644 (file)
@@ -51,10 +51,11 @@ examples:
 
        tar --exclude='*.dvi' --exclude='*.tex' --exclude='*.ps' --exclude='*.ppm' -czf $(outdir)/examples.tar.gz *-examples.html  `find input mutopia -type d -name 'out-www' -print`
 
+
+my_tfm_path=$(TFM_PATH) /tmp /tmp  /tmp /tmp  /tmp /tmp 
 localinstall:
        mkdir -p $(datadir)
-       rm -f $(datadir)/cmtfm 
-       $(LN_S) $(TEX_TFMDIR) $(datadir)/cmtfm
+       $(foreach i, 1 2 3 4 5, rm -f $(datadir)/tfm.$(i); $(LN_S) $(word $(i), $(my_tfm_path)) $(datadir)/tfm.$(i) ; )
 
 local-WWW-clean:
        $(SHELL) $(depth)/buildscripts/clean-fonts.sh
index 3e488a8f4f66b06d2b65bb93931053027c2d6bae..25ba3293eb21aae4913762ba1744026668b9d528 100644 (file)
@@ -553,26 +553,33 @@ AC_DEFUN(XXAC_STEPMAKE_TEXMF_DIRS, [
 ])
 
 AC_DEFUN(AC_STEPMAKE_TEXMF_DIRS, [
-    AC_ARG_ENABLE(tex-tfmdir,
-    [  enable-tex-tfmdir=DIR   set the tex-directory where cmr10.tfm lives (default: use kpsewhich)],
-    [TFMDIR=$enableval],
-    [TFMDIR=auto] )
+    AC_ARG_ENABLE(tfm-path,
+    [  enable-tfm-path=PATH   set path of tex directories where tfm files live, esp.: cmr10.tfm (default: use kpsewhich)],
+    [tfm_path=$enableval],
+    [tfm_path=auto] )
 
     AC_CHECK_PROGS(KPSEWHICH, kpsewhich, no)
-    AC_MSG_CHECKING(for TeX TFM directory)
-    if test "x$TFMDIR" = xauto ; then
-       if test "x$TEX_TFMDIR" = "x" ; then
-           if test "x$KPSEWHICH" != "xno" ; then
-               CMR10=`kpsewhich tfm cmr10.tfm`
-               TEX_TFMDIR=`dirname $CMR10`
-           else
-               AC_STEPMAKE_WARN(Please set TEX_TFMDIR (to where cmr10.tfm lives):
-       TEX_TFMDIR=/usr/local/TeX/lib/tex/fonts ./configure)
-           fi
+    AC_MSG_CHECKING(for tfm path)
+
+    TFM_FONTS="cmr msam"
+
+    if test "x$tfm_path" = xauto ; then
+       if test "x$KPSEWHICH" != "xno" ; then
+           for i in $TFM_FONTS; do
+               dir=`$KPSEWHICH tfm ${i}10.tfm`
+               TFM_PATH="$TFM_PATH `dirname $dir`"
+           done
+       else
+           AC_STEPMAKE_WARN(Please specify where cmr10.tfm lives:
+    ./configure --enable-tfm-path=/usr/local/TeX/lib/tex/fonts)
        fi
+    else
+         TFM_PATH=$tfm_path
     fi
-    AC_MSG_RESULT($TEX_TFMDIR)
-    AC_SUBST(TEX_TFMDIR)
+
+    TFM_PATH=`echo $TFM_PATH | tr ':' ' '`
+    AC_MSG_RESULT($TFM_PATH)
+    AC_SUBST(TFM_PATH)
 ])
 
 AC_DEFUN(AC_STEPMAKE_TEXMF, [