]> git.donarmstrong.com Git - lilypond.git/commitdiff
release: 1.3.2 release/1.3.2
authorHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 1 Nov 1999 12:41:11 +0000 (13:41 +0100)
committerHan-Wen Nienhuys <hanwen@xs4all.nl>
Mon, 1 Nov 1999 12:41:11 +0000 (13:41 +0100)
62 files changed:
CHANGES
Documentation/programmer/regression-test.tely
TODO
VERSION
aclocal.m4
buildscripts/set-lily.sh
configure
input/test/key-clefs.ly [new file with mode: 0644]
input/test/script-horizontal.ly
input/test/tie-accidental.ly [new file with mode: 0644]
lily/auto-beam-engraver.cc
lily/bar-req-collect-engraver.cc [deleted file]
lily/beam.cc
lily/break-align-item.cc
lily/chord-name-engraver.cc
lily/chord-tremolo-engraver.cc
lily/chord-tremolo.cc [deleted file]
lily/extender-spanner.cc
lily/font-size-engraver.cc [deleted file]
lily/graphical-element.cc
lily/hyphen-spanner.cc
lily/include/chord-tremolo-engraver.hh
lily/include/chord-tremolo.hh
lily/include/lily-guile.hh
lily/include/lookup.hh
lily/include/ly-symbols.hh [deleted file]
lily/key-item.cc
lily/lexer.ll
lily/lily-guile.cc
lily/local-key-engraver.cc
lily/lookup.cc
lily/ly-symbols.cc [deleted file]
lily/mark-engraver.cc
lily/multi-measure-rest-engraver.cc
lily/paper-outputter.cc
lily/parser.yy
lily/score-element.cc
lily/text-engraver.cc
lily/tuplet-spanner.cc
lily/volta-spanner.cc
ly/params.ly
make/lilypond.spec.in
make/out/lilypond.lsm
make/out/lilypond.spec
mudela-mode.el
mutopia/D.Scarlatti/GNUmakefile [deleted file]
mutopia/D.Scarlatti/progress.ly [deleted file]
mutopia/D.Scarlatti/sonata-k1-l366.ly [deleted file]
mutopia/D.Scarlatti/sonata-k2-l388.ly [deleted file]
mutopia/D.Scarlatti/sonata-k3-l378.ly [deleted file]
mutopia/D.Scarlatti/sonata-k4-l390.ly [deleted file]
mutopia/F.Schubert/AnSylvia.ly [deleted file]
mutopia/J.S.Bach/Solo-Cello-Suites/allemande-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/courante-urtext.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-cello.ly
mutopia/J.S.Bach/Solo-Cello-Suites/menuetto-viola.ly
mutopia/J.S.Bach/wtk1-fugue2.ly
ps/lily.ps
scm/lily.scm
stepmake/aclocal.m4
stepmake/bin/package-zet.sh
tex/lily-ps-defs.tex

diff --git a/CHANGES b/CHANGES
index 00ce1a669e3d9ef76dd1d4f0b725e4b9fe647005..8cae195f22be815c278972de9ffb03f3e467e59c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,20 @@
+pl 3.jcn1
+       - moved bracket vars to params
+       - reverted broken lilypond-devel
+
+pl 1.uu1
+       - David's patches:
+       * mfplain.mp detection
+       * Graphical_element::common_refpoint() robuster.
+       * fixes for mudela-mode.el
+       - Dirk's patches:
+       * key signature placement,
+       * tied accidentals.
+
+pl 1.hwn2
+       - extra-offset elt property.
+       - junked Chord_tremolo
+
 pl 1.hwn1
        - changed calling convention for {get,set,remove}_elt_property()
        - rm'd some mutopia examples.
index fe5ee1dbfdc0ce79df704d38443b36fedf808cad..f878b785869b14f71d897a3c065e7e4740f48486 100644 (file)
@@ -41,7 +41,7 @@ The dots go along as rests are shifted to avoid collisions.
 @mudelafile{dots.fly}
 
 Multiple measure rests do not collide with barlines and clefs.  They
-are not expanded when you set @code{Score.SkipBars}.  Although the
+are not expanded when you set @code{Score.skipBars}.  Although the
 multi-measure-rest is a Spanner, minimum distances are set to keep it
 colliding from barlines. 
 
@@ -129,6 +129,15 @@ The horizontal middle should not overlap with a staffline.
 
 @mudelafile{tie.ly}
 
+When tieing notes with accidentals across a bar boundary, the
+accidental must not be drawn on the note in the new bar.
+Instead, the next note of the same pitch in this bar should always show the
+accidental (even if it's natural).
+Well, and slurring a accidentaled note to a natural one across bar
+boundaries should be explicit...
+
+@mudelafile{tie-accidental.ly}
+
 Beams can be typeset over fixed distance aligned staffs, beam
 beautification doesn't really work, but knees do. Beams should be
 behave well, wherever the switching point is.
diff --git a/TODO b/TODO
index 771ea60f80e6d3542d52a8fc2573a3a18a98aef6..813dcad6e050ed99338e91f73e6e22db06c1a470 100644 (file)
--- a/TODO
+++ b/TODO
@@ -17,11 +17,9 @@ Grep -i for TODO, FIXME and ugh/ugr/urg.
        ctor_dict["Score_element"]->clone_func (orig);
        ctor_dict["Score_element"]->create_func ();
 
-
+. * acc at tied note after linebreak.
 . * note head on stem err msg in dutch.
 . *  why need to run -C mf twice?
-. * fix interstaff stuff
-. * junk BLURB files.
 . * setting indent to 0 with \shape fails
 . * here's no difference at all in output. When either is jacked up to 7.0,
 everything works and matches up; when either is set just a bit above the
@@ -37,6 +35,7 @@ John
 . * rerun profile
 . * fix or replace feta-accordion.mf
 . * script engraver
+. * bracket pdf hack
 . * Chords:
 .  * Bass/inversion pitch when not part of Chord
 Sometimes a series of changing chords will be blocked out over a static tone
@@ -92,10 +91,7 @@ melismatic.
 . * make all Feta (including dynamics) available to the user in
     textual scripts. Examples: "D.S. al \coda", "\mf espress.".
  
-. * ?  -Q, --find-old-relative show all changes in relative syntax
-What's old about absolute to relative conversion?  Could maybe use for
-abc2ly, midi2ly?
-
+. * Write scritp that uses --find-old-relative to do auto relativization.
 . * Junk shared cruft (duration, moment) in lib/
 
 
diff --git a/VERSION b/VERSION
index f9af623955961f9bb9a5a2ea59553c1546b1c089..af709f691860b2ab9b32abda71ba35c72fa22102 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,8 +1,8 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
-PATCH_LEVEL=1
-MY_PATCH_LEVEL=hwn1
+PATCH_LEVEL=2
+MY_PATCH_LEVEL=
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index f9c5a64a784fe47149c77c0accf2ee4f4fad1cc5..3bd68ad62f397a1d07402f5e7b2951f2b0280d24 100644 (file)
@@ -565,7 +565,7 @@ AC_DEFUN(AC_STEPMAKE_TEXMF, [
     #
     # For now let people define these in their environments
     #
-    : ${MFPLAIN_MP='/usr/share/texmf/metapost/base/mfplain.mp'}
+    : ${MFPLAIN_MP=`kpsewhich mfplain.mp`}
     : ${INIMETAPOST_FLAGS='-interaction=nonstopmode'}
 
     rm -f mfput.*
index a4c77ff0cd65e6912506b11ee2f8e6bd31fc84f6..15e4633b7813f45c51cc64e84396bfb7091acfcf 100755 (executable)
@@ -35,9 +35,10 @@ testvar ()
 }
 
 
-# . ./stepmake/bin/package-zet.sh
-sourcetree=`basename \`pwd\``
-(cd .. ; rm lilypond-devel ; showln -s $sourcetree lilypond-devel)
+. ./stepmake/bin/package-zet.sh
+#urg.  LILYPOND_PREFIX, _SOURCEDIR, PATH, *INPUTS all broken
+#sourcetree=`basename \`pwd\``
+#(cd .. ; rm lilypond-devel ; showln -s $sourcetree lilypond-devel)
 
 
 echo You should add the following to your profile script
index b8a7493c26c5d2ff3b780f3133b021f749c36250..c59995198b1b1f0ddeee99182f02e1684dd3c69f 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='/usr/share/texmf/metapost/base/mfplain.mp'}
+    : ${MFPLAIN_MP=`kpsewhich mfplain.mp`}
     : ${INIMETAPOST_FLAGS='-interaction=nonstopmode'}
 
     rm -f mfput.*
diff --git a/input/test/key-clefs.ly b/input/test/key-clefs.ly
new file mode 100644 (file)
index 0000000..4eb5b67
--- /dev/null
@@ -0,0 +1,25 @@
+\include "paper16.ly"
+
+\score { \notes
+  \relative cis' {
+
+% \clef french; % same as octaviated bass
+\clef violin;
+\key cis \major; cis1  \key ces \major; ces
+\clef soprano;
+\key cis \major; cis \key ces \major; ces
+\clef mezzosoprano;
+\key cis \major; cis \key ces \major; ces
+\clef alto;
+\key cis \major; cis \key ces \major; ces
+\clef tenor;
+\key cis \major; cis \key ces \major; ces
+\clef baritone;
+\key cis \major; cis \key ces \major; ces
+\clef bass;
+\key cis \major; cis \key ces \major;  ces
+}
+
+       \paper{\paper_sixteen}
+
+}
index d541d25640987c4d832678b0180774be1a508550..a0090ba8e84f9d78ba151cf4db27839478ad6b68 100644 (file)
@@ -1,10 +1,44 @@
 
+
+%{
+
+Please don't use this Scheme hacking unless you have a good reason.
+Support for the \property textExtraOffset will not go into LilyPond in
+this form.
+
+I think extra-offset will stay - but perhaps I'll change the name
+
+%}
+
+
+#(set! generic-thread-properties
+       (append!
+        generic-thread-properties
+        (list
+         (cons "Text_item"
+          (list
+           (list 'textExtraOffset pair? 'extra-offset)
+          )
+         )
+         (cons "Script"
+          (list
+           (list 'scriptExtraOffset pair? 'extra-offset)
+          )
+         )
+        )
+))
+       
+
+       
 \score {
 
        \notes \context Voice <
                \context Thread = TA { c'4_1 }
-               \context Thread = TB { \property Thread.scriptHorizontal = "1"
-               e'4-2-\trill }
+               \context Thread = TB {
+                       \property Thread.scriptHorizontal = ##t
+                       \property Thread.textExtraOffset = #'(-0.5 . -0.5)
+                       \property Thread.scriptExtraOffset = #'(2.25 . -0.5)
+               e'4-2^\prall }
                \context Thread = TC { g'4^4 }
        >
        
@@ -16,6 +50,7 @@
                }
                \translator {
                \ThreadContext
+               Generic_property_list = #generic-thread-properties
                \consists Script_engraver;
                \consists Text_engraver;                
                }
diff --git a/input/test/tie-accidental.ly b/input/test/tie-accidental.ly
new file mode 100644 (file)
index 0000000..572fb97
--- /dev/null
@@ -0,0 +1,12 @@
+
+\score { \notes
+  \relative cis' {
+
+\time 4/4;
+gis'2 gis ~ |
+gis gis4 gis |
+g2 gis ~ |
+gis g4 gis |
+g2 gis( |
+)g gis4 gis |
+}
index 8a22a619977db314a74aa4dee2a9d850a8e09d20..fd519c340cf011b24f1bfc1e45db4cb783c31807 100644 (file)
@@ -11,7 +11,6 @@
 #include "musical-request.hh"
 #include "bar.hh"
 #include "beam.hh"
-#include "chord-tremolo.hh"
 #include "rest.hh"
 #include "stem.hh"
 #include "debug.hh"
@@ -301,10 +300,6 @@ Auto_beam_engraver::acknowledge_element (Score_element_info info)
        {
          end_beam ();
        }
-      else if (Chord_tremolo *b = dynamic_cast<Chord_tremolo*> (info.elem_l_))
-       {
-         end_beam ();
-       }
       else if (Bar *b = dynamic_cast<Bar *> (info.elem_l_))
        {
          end_beam ();
diff --git a/lily/bar-req-collect-engraver.cc b/lily/bar-req-collect-engraver.cc
deleted file mode 100644 (file)
index e69de29..0000000
index 7b997ff5e2b6de7213ec94eaef79d7718fe2183d..d75f7906f2aa59343a4a6eecefd7e9080400b89e 100644 (file)
@@ -24,7 +24,6 @@ needs what, and what information should be available when.
 
 #include <math.h>
 
-#include "chord-tremolo.hh"
 #include "beaming.hh"
 #include "proto.hh"
 #include "dimensions.hh"
@@ -279,7 +278,7 @@ Beam::get_default_dir () const
 
      If dir is not determined: up (see stem::get_default_dir ()) */
 
-  Direction beam_dir;
+  Direction beam_dir = CENTER;
   Direction neutral_dir = (Direction)(int)paper_l ()->get_var ("stem_default_neutral_direction");
 
   SCM a = get_elt_property ("beam-dir-algorithm");
@@ -423,7 +422,8 @@ Beam::set_steminfo ()
       /*
        Chord tremolo needs to beam over invisible stems of wholes
       */
-      if (!dynamic_cast<Chord_tremolo*> (this))
+      SCM trem = get_elt_property ("chord-tremolo");
+      if (gh_boolean_p (trem) && gh_scm2bool (trem))
        {
          if (s->invisible_b ())
            continue;
index 172eb85253d508cf9562e2a225de9b2f5560885e..2718fdcd945089fe958640b5cdf43880b9025349 100644 (file)
@@ -47,7 +47,7 @@ Break_align_item::do_pre_processing()
 
   SCM symbol_list = SCM_EOL;
   Array<Real> dists;
-  SCM current_origin = ly_ch_C_to_scm ("");
+  SCM current_origin = ly_str02scm ("");
   for (int i=0; i <= elems.size (); i++)
     {
       Score_element *next_elt  = i < elems.size ()
@@ -61,11 +61,11 @@ Break_align_item::do_pre_processing()
          next_origin = next_elt->get_elt_property ("origin");
          next_origin =
            (next_origin == SCM_UNDEFINED)
-           ? ly_ch_C_to_scm ("")
+           ? ly_str02scm ("")
            : next_origin;
        }
       else
-       next_origin = ly_ch_C_to_scm ("begin-of-note");
+       next_origin = ly_str02scm ("begin-of-note");
       
       SCM extra_space
        = scm_eval (scm_listify (ly_symbol ("break-align-spacer"),
@@ -172,7 +172,7 @@ Break_align_item::add_breakable_item (Item *it)
        warning bells about missing Y refpoints go off later on.
       */
       hg->set_parent (this, Y_AXIS);
-      hg->set_elt_property ("origin", ly_ch_C_to_scm (it->name ()));
+      hg->set_elt_property ("origin", ly_str02scm (it->name ()));
 
       pscore_l_->typeset_element (hg);
       add_element_priority (hg, priority);
index 08d397b6f380e27d6df7f37c3712d3d17b7c7a59..4c57efac7ed3628ef990829fa371b6c795b67b32 100644 (file)
@@ -21,6 +21,7 @@ ADD_THIS_TRANSLATOR (Chord_name_engraver);
 Chord_name_engraver::Chord_name_engraver ()
 {
   tonic_req_ = 0;
+  //  bass_req_ = 0;
 }
 
 void
@@ -43,6 +44,14 @@ Chord_name_engraver::do_try_music (Music* m)
       tonic_req_ = t;
       return true;
     }
+#if 0
+  if (Bass_req* b = dynamic_cast<Bass_req*> (m))
+    {
+      bass_req_ = b;
+      return true;
+    }
+#endif
+  
   return false;
 }
 
index df8573434b914892a194076d0854ec94db1a36b5..88886254218a8abad8dbe67daee14036051a4620 100644 (file)
@@ -1,5 +1,5 @@
 /*
-  abbreviation-beam-engraver.cc -- implement Chord_tremolo_engraver
+  chord-tremolo-engraver.cc -- implement Chord_tremolo_engraver
 
   source file of the GNU LilyPond music typesetter
 
@@ -11,7 +11,7 @@
 #include "time-description.hh"
 #include "chord-tremolo-engraver.hh"
 #include "stem.hh"
-#include "chord-tremolo.hh"
+#include "beam.hh"
 #include "musical-request.hh"
 #include "misc.hh"
 #include "warn.hh"
@@ -86,7 +86,9 @@ Chord_tremolo_engraver::do_process_requests ()
 
       prev_start_req_ = reqs_drul_[START];
 
-      abeam_p_ = new Chord_tremolo;
+      abeam_p_ = new Beam;
+      abeam_p_->set_elt_property ("chord-tremolo", SCM_BOOL_T);
+      
       announce_element (Score_element_info (abeam_p_, reqs_drul_[LEFT]));
   }
 }
diff --git a/lily/chord-tremolo.cc b/lily/chord-tremolo.cc
deleted file mode 100644 (file)
index fe743fa..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-  abbreviation-beam.cc -- implement Chord_tremolo
-
-  source file of the GNU LilyPond music typesetter
-
-  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-          Jan Nieuwenhuizen <janneke@gnu.org>
-*/
-
-#include "paper-column.hh"
-#include "array.hh"
-#include "proto.hh"
-#include "chord-tremolo.hh"
-#include "misc.hh"
-#include "debug.hh"
-
-#include "molecule.hh"
-#include "leastsquares.hh"
-#include "stem.hh"
-#include "paper-def.hh"
-#include "lookup.hh"
-#include "stem-info.hh"
-
-
-
-
-Chord_tremolo::Chord_tremolo ()
-  : Beam ()
-{
-}
-
-Molecule*
-Chord_tremolo::do_brew_molecule_p () const 
-{
-  return Beam::do_brew_molecule_p ();
-}
-
-void
-Chord_tremolo::do_print () const
-{
-#ifndef NPRINT
-  Beam::do_print ();
-  Spanner::do_print ();
-#endif
-}
-
-/*
-  beams to go with one stem.
-  */
-Molecule
-Chord_tremolo::stem_beams (Stem *here, Stem *next, Stem *prev) const
-{
-  /* 
-   todo
-    - shorter beams (not reaching outer "stems") 
-      for [:16 c4 c4] and [:16 c1 c1]
-    - centered beam on [:16 c1 c1] heads, rather than "stems"
-   */
-  return Beam::stem_beams (here, next, prev);
-}
index 549888576ae609722282c3f9b2d987afabeeab9d..513011d5c000c4dec55a9b47a055df78bd348b68 100644 (file)
@@ -42,7 +42,7 @@ Extender_spanner::do_brew_molecule_p () const
   Real w = extent (X_AXIS).length ();
   
   w += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
-  Real h = paper_l ()->get_var ("extender-height");
+  Real h = paper_l ()->get_var ("extender_height");
   Molecule a = lookup_l ()->filledbox ( Box (Interval (0,w), Interval (0,h)));
   a.translate (Offset (dx_f_drul_[LEFT], 0));
 
diff --git a/lily/font-size-engraver.cc b/lily/font-size-engraver.cc
deleted file mode 100644 (file)
index e69de29..0000000
index f71225beac6f323969f3529dd2cc9399a2a20b72..21a256bc3f1c2f22b9cabb27684249b6dd2f648f 100644 (file)
@@ -50,7 +50,10 @@ Graphical_element::relative_coordinate (Graphical_element const*e, Axis a) const
 Graphical_element * 
 Graphical_element::common_refpoint (Graphical_element const* s, Axis a) const
 {
-  return  (dim_cache_[a]->common_refpoint (s->dim_cache_[a])) ->element_l ();
+  Dimension_cache *dim = dim_cache_[a]->common_refpoint (s->dim_cache_[a]);
+  if (!dim)
+    programming_error ("No  common reference point");
+  return  dim ? dim->element_l () : 0;
 }
 
 void
index 8efba072e1c838c6efdd106cb01d3223905fb7ea..5d2fa9598eac96b925c92cb7521bb843e66edc03 100644 (file)
@@ -45,12 +45,12 @@ Hyphen_spanner::do_brew_molecule_p () const
 
   w += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]);
 
-  Real th = paper_l ()->get_var ("hyphen-thickness");
-  Real h = paper_l ()->get_var ("hyphen-height");
+  Real th = paper_l ()->get_var ("hyphen_thickness");
+  Real h = paper_l ()->get_var ("hyphen_height");
 
   // UGH. First try: just make the hyphen take 1/3 of the available space  
   // for length, use a geometric mean of the available space and some minimum
-  Real l = paper_l ()->get_var ("hyphen-minimum-length");
+  Real l = paper_l ()->get_var ("hyphen_minimum_length");
   if(l < w)
     l = sqrt(l*w);
   Molecule a = lookup_l ()->filledbox ( Box (Interval ((w-l)/2,(w+l)/2), Interval (h,h+th)));
index 3616779e21721ba080e18d026584d2760844bea0..51b5e2a7200443e42b684a6010fac94516eb93fa 100644 (file)
@@ -16,6 +16,9 @@
 
 /**
   Generate an abbreviation beam.  Eat stems.
+
+  UGH. Derive me from Beam_engraver.
+  
  */
 class Chord_tremolo_engraver : public Engraver
 {
@@ -37,8 +40,8 @@ private:
   void typeset_beam ();
   Drul_array<Chord_tremolo_req*> reqs_drul_;
   Chord_tremolo_req* prev_start_req_;
-  Chord_tremolo* abeam_p_;
-  Chord_tremolo* finished_abeam_p_;
+  Beam* abeam_p_;
+  Beam* finished_abeam_p_;
 };
 
 #endif // Chord_tremolo_ENGRAVER_HH
index eb2d133f28de43c7b30764a28000af2bcf329c6b..67c67c76fef2b938dc7f2739803eb158ca6e932e 100644 (file)
   direction */
 class Chord_tremolo : public Beam {
 public:
-  
-
-  Chord_tremolo();
-
   VIRTUAL_COPY_CONS(Score_element);
 
 protected:
-  virtual void do_print() const;
   virtual Molecule stem_beams (Stem *here, Stem *next, Stem *prev) const;
-  virtual Molecule* do_brew_molecule_p() const;
 };
 
+#error
 #endif // Chord_tremolo_HH
 
index 7df2291b0b5ff2abc155eb8d7feb492ecda3f899..dfdf39ffbf075f6236051a5fd6054c85fcb509f0 100644 (file)
@@ -15,7 +15,7 @@
 #include <libguile.h>
 #include "direction.hh"
 
-SCM ly_ch_C_to_scm (char const*c);
+SCM ly_str02scm (char const*c);
 SCM ly_ch_C_eval_scm (char const*c);
 SCM ly_symbol (String name);
 String symbol_to_string (SCM);
index 27ac98459a646116118ff035a61c6ff204462d8a..7d2f0b5cb12260649773fcf65423a5485c03fa7b 100644 (file)
@@ -39,13 +39,13 @@ public:
   Molecule fill (Box b) const;
   Molecule filledbox (Box b) const;  
   Molecule hairpin (Real width, Real height, Real thick, bool decresc, bool continued) const;
-  Molecule tuplet_bracket (Real dy, Real dx, Real gap, Real thick,Real interline, Direction dir) const;
+  Molecule tuplet_bracket (Real dy, Real dx, Real gap, Real thick,Real height, Direction dir) const;
   Molecule rest (int, bool outside, String) const;
   Molecule accordion (SCM arg, Real interline_f) const;
   Molecule slur (Array<Offset> controls, Real thick) const;
   Molecule text (String style, String text, Paper_def*) const;
   Molecule staff_brace (Real dy, int) const;
-  Molecule staff_bracket (Real dy) const;
+  Molecule staff_bracket (Real height, Paper_def* paper_l) const;
   Molecule volta (Real h, Real w,  Real thick,  bool vert_start, bool vert_end) const;
   Molecule special_time_signature (String, int,int, Paper_def*) const;
   Molecule time_signature (int n,int d, Paper_def*) const;
diff --git a/lily/include/ly-symbols.hh b/lily/include/ly-symbols.hh
deleted file mode 100644 (file)
index e69de29..0000000
index 25c068776c7fd8b766612c9cf2dc2ed2033159a2..f85303ff71956cca1a4caae7cf182ad6545d8481 100644 (file)
@@ -73,6 +73,17 @@ Key_item::calculate_position(int p, int a) const
       {
        p -= 7; /* Typeset below c_position */
       }
+    /* Provide for the four cases in which there's a glitch */
+    /* it's a hack, but probably not worth */
+    /* the effort of finding a nicer solution. dl. */
+    if (get_c_position ()==2 && a>0 && p==3)
+      p -= 7;
+    if (get_c_position ()==-3 && a>0 && p==-1)
+      p += 7;
+    if (get_c_position ()==-4 && a<0 && p==-1)
+      p += 7;
+    if (get_c_position ()==-2 && a<0 && p==-3)
+      p += 7;
     return p + get_c_position ();
   }
 }
index 8d95d0e42e6bb7a20f6d17d6421df038f12b3dbf..7c09d492e9c9cc4494b3cea5cbb4e3a939e813a6 100644 (file)
@@ -209,7 +209,7 @@ HYPHEN              --
 }
 <chords,notes>{RESTNAME}       {
        const char *s = YYText ();
-       yylval.scm = ly_ch_C_to_scm (s);
+       yylval.scm = ly_str02scm (s);
        return RESTNAME;
 }
 <chords,notes>R                {
@@ -293,7 +293,7 @@ HYPHEN              --
 
                /* yylval is union. Must remember STRING before setting SCM*/
                String *sp = yylval.string;
-               yylval.scm = ly_ch_C_to_scm  (sp->ch_C ());
+               yylval.scm = ly_str02scm  (sp->ch_C ());
                delete sp;
                return STRING;
        }
@@ -333,7 +333,7 @@ HYPHEN              --
                if (c == '{' &&  c == '}') // brace open is for not confusing dumb tools.
                        here_input ().warning (
                                "Brace found at end of lyric. Did you forget a space?");
-               yylval.scm = ly_ch_C_to_scm (s.ch_C ());
+               yylval.scm = ly_str02scm (s.ch_C ());
 
                DEBUG_OUT << "lyric : `" << s << "'\n";
                return STRING;
@@ -486,7 +486,7 @@ My_lily_lexer::scan_escaped_word (String str)
        String msg (_f ("unknown escaped string: `\\%s'", str));        
        LexerError (msg.ch_C ());
        DEBUG_OUT << "(string)";
-       yylval.scm = ly_ch_C_to_scm(str.ch_C());
+       yylval.scm = ly_str02scm(str.ch_C());
 
        return STRING;
 }
@@ -511,7 +511,7 @@ My_lily_lexer::scan_bare_word (String str)
                }
        }
 
-       yylval.scm = ly_ch_C_to_scm (str.ch_C());
+       yylval.scm = ly_str02scm (str.ch_C());
        return STRING;
 }
 
index b42b34592e93b3788fe0c8db276aefba09bbf8d5..7fd60380af192ffedecf821611b38f51fd60f113 100644 (file)
@@ -20,7 +20,7 @@
 #include "debug.hh"
 
 SCM
-ly_ch_C_to_scm (char const*c)
+ly_str02scm (char const*c)
 {
   // this all really sucks, guile should take char const* arguments!
   return gh_str02scm ((char*)c);
@@ -168,7 +168,7 @@ ly_gulp_file (SCM name)
 
 
   Simple_file_storage f(s);
-  return ly_ch_C_to_scm (f.ch_C());
+  return ly_str02scm (f.ch_C());
 }
 
 void
index e0270ef96e0d0e9a1f8fff1cebe0b50836e2fa51..85c857f36951d32b62a7365fd8b7297465418ba6 100644 (file)
@@ -65,14 +65,9 @@ Local_key_engraver::process_acknowledged ()
          Item * support_l = support_l_arr_[i];
          Note_req * note_l = mel_l_arr_[i];
 
-         if (tied_l_arr_.find_l (support_l) && 
-             !note_l->forceacc_b_)
-           {
-             if (!forget)
-               local_key_.set (note_l->pitch_);
-             continue;
-           }
-           
+          if (tied_l_arr_.find_l (support_l) && !forget)
+            local_key_.set (note_l->pitch_);
+
          if (!note_l->forceacc_b_
              && local_key_.different_acc (note_l->pitch_))
            continue;
@@ -82,9 +77,8 @@ Local_key_engraver::process_acknowledged ()
              announce_element (Score_element_info (key_item_p_, 0));         
            }
 
-
          key_item_p_->add_pitch (note_l->pitch_,
-                                 note_l->cautionary_b_);
+                                 note_l->cautionary_b_);
          key_item_p_->add_support (support_l);
          
          if (!forget)
index 880dca8825ef97303dc46349d1cc7a67a952baa3..1b7c19e11640de37682c28053ac6199de3a33161 100644 (file)
@@ -111,7 +111,7 @@ Lookup::afm_find (String s, bool warn) const
     {
       /*
        don't want people relying on this kind of dimension. 
-       */
+      */
       m.set_empty (false);
       return m;
     }
@@ -161,7 +161,7 @@ Molecule
 Lookup::bar (String str, Real h, Paper_def *paper_l) const
 {
   if (str == "bracket")
-    return staff_bracket (h);
+    return staff_bracket (h, paper_l);
   else if (str == "brace")
     {
       Real staffht  = paper_l->get_var ("staffheight");
@@ -241,11 +241,11 @@ Lookup::beam (Real slope, Real width, Real thick) const
   
   Molecule m;
   Atom at
-     (gh_list (gh_symbol2scm ("beam"),
-                               gh_double2scm (width),
-                               gh_double2scm (slope),
-                               gh_double2scm (thick),
-                               SCM_UNDEFINED));
+    (gh_list (gh_symbol2scm ("beam"),
+             gh_double2scm (width),
+             gh_double2scm (slope),
+             gh_double2scm (thick),
+             SCM_UNDEFINED));
 
   m.dim_[X_AXIS] = Interval (0, width);
   m.dim_[Y_AXIS] = Interval (min_y, max_y);
@@ -455,7 +455,7 @@ Lookup::text (String style, String text, Paper_def *paper_l) const
 
   
   Atom at  (gh_list (gh_symbol2scm ("text"),
-                    ly_ch_C_to_scm (text.ch_C()),
+                    ly_str02scm (text.ch_C()),
                     SCM_UNDEFINED));
   at.font_ = ly_symbol (style);
   at.magn_ = gh_int2scm (font_mag);
@@ -492,15 +492,15 @@ Lookup::staff_brace (Real y, int staff_size) const
 {
   Molecule m;
   /*
-  (define (pianobrace y staffht)
+    (define (pianobrace y staffht)
     (let* ((step 1.0)
-          (minht (* 2 staffht))
-          (maxht (* 7 minht))
-          )
-      (string-append
-       (select-font (string-append "feta-braces" (number->string (inexact->exact staffht))) 0)
-       (char (max 0 (/  (- (min y (- maxht step)) minht) step))))
-      )
+    (minht (* 2 staffht))
+    (maxht (* 7 minht))
+    )
+    (string-append
+    (select-font (string-append "feta-braces" (number->string (inexact->exact staffht))) 0)
+    (char (max 0 (/  (- (min y (- maxht step)) minht) step))))
+    )
     )
   */
 
@@ -527,7 +527,7 @@ Lookup::hairpin (Real width, Real height, Real thick, bool decresc, bool continu
   Molecule m;   
 
   String hairpin = String (decresc ? "de" : "") + "crescendo";
-  Atom at  (gh_list (ly_symbol ("hairpin"),
+  Atom at  (gh_list (ly_symbol (hairpin),
                     gh_double2scm (thick),
                     gh_double2scm (width),
                     gh_double2scm (height),
@@ -541,12 +541,13 @@ Lookup::hairpin (Real width, Real height, Real thick, bool decresc, bool continu
 }
 
 Molecule
-Lookup::tuplet_bracket (Real dy , Real dx, Real thick, Real gap, Real interline_f, Direction dir) const
+Lookup::tuplet_bracket (Real dy , Real dx, Real thick, Real gap,
+                       Real height, Direction dir) const
 {
   Molecule m;
 
   Atom at  (gh_list(gh_symbol2scm ("tuplet"),
-                   gh_double2scm (interline_f),
+                   gh_double2scm (height),
                    gh_double2scm (gap),
                    gh_double2scm (dx),
                    gh_double2scm (dy),
@@ -586,14 +587,21 @@ Lookup::slur (Array<Offset> controls, Real linethick) const
 }
 
 Molecule
-Lookup::staff_bracket (Real y) const
+Lookup::staff_bracket (Real height, Paper_def* paper_l) const
 {
-  Molecule m; 
+  Molecule m;
   Atom at  ( gh_list (gh_symbol2scm ("bracket"),
-                     gh_double2scm (y),
-                     SCM_UNDEFINED));
+                     gh_double2scm (paper_l->get_var("bracket_arch_angle")),
+                     gh_double2scm (paper_l->get_var("bracket_arch_width")),
+                     gh_double2scm (paper_l->get_var("bracket_arch_height")),
+                     gh_double2scm (paper_l->get_var("bracket_width")),
+                     gh_double2scm (height),
+                     gh_double2scm (paper_l->get_var("bracket_arch_thick")),
+                     gh_double2scm (paper_l->get_var("bracket_thick")),
+                     SCM_UNDEFINED));
+  
   m.add_atom (&at);                             
-  m.dim_[Y_AXIS] = Interval (-y/2,y/2);
+  m.dim_[Y_AXIS] = Interval (-height/2,height/2);
   m.dim_[X_AXIS] = Interval (0,4 PT);
 
   m.translate_axis (- 4. / 3. * m.dim_[X_AXIS].length (), X_AXIS);
diff --git a/lily/ly-symbols.cc b/lily/ly-symbols.cc
deleted file mode 100644 (file)
index e69de29..0000000
index 98fed7723c33f49cb2a5bdd0f3e0a9a9a85e846d..17da3985e1425673e0e393c7207f73b83224067b 100644 (file)
@@ -46,7 +46,7 @@ Mark_engraver::do_process_requests ()
     {
       create_items (mark_req_l_);
       text_p_->text_str_ = mark_req_l_->str_;
-      SCM st = gh_str02scm ((text_p_->text_str_.index_any_i ("0123456789")  >= 0 )
+      SCM st = ly_str02scm ((text_p_->text_str_.index_any_i ("0123456789")  >= 0 )
                            ? "mark" : "large");
       text_p_->set_elt_property ("style",  st);
     }
index 57283a0a9bf77fca5708d168d1b1830b317fae1f..e4e115b4dc6d3affc9abe0b24496aace4882da6f 100644 (file)
@@ -75,7 +75,7 @@ Multi_measure_rest_engraver::do_process_requests ()
       mmrest_p_ = new Multi_measure_rest;
       if(dynamic_cast<Repetitions_req *> (multi_measure_req_l_))
        mmrest_p_->set_elt_property ("alt-symbol", 
-                                    ly_ch_C_to_scm ("scripts-repeatsign"));
+                                    ly_str02scm ("scripts-repeatsign"));
       announce_element (Score_element_info (mmrest_p_, multi_measure_req_l_));
       start_measure_i_ = time->bars_i_;
     }
index 97586318b4aecee06aea13e161892047c689dd40..9dd7d28729a0e156418e04608e0e9c5ee1e0fe69 100644 (file)
@@ -80,8 +80,8 @@ Paper_outputter::output_header ()
     }
 
   SCM args_scm = 
-    gh_list (ly_ch_C_to_scm (creator.ch_l ()),
-            ly_ch_C_to_scm (generate.ch_l ()), SCM_UNDEFINED);
+    gh_list (ly_str02scm (creator.ch_l ()),
+            ly_str02scm (generate.ch_l ()), SCM_UNDEFINED);
 
 #ifndef NPRINT
   DEBUG_OUT << "output_header\n";
@@ -140,7 +140,7 @@ Paper_outputter::output_molecule (Molecule const*m, Offset o, char const *nm)
       if (i->font_)
        {
          output_scheme (gh_list (ly_symbol ("select-font"),
-                                 ly_ch_C_to_scm (symbol_to_string (i->font_).ch_C()),
+                                 ly_str02scm (symbol_to_string (i->font_).ch_C()),
                                  SCM (i->magn_),
                                  SCM_UNDEFINED));
        }
@@ -241,7 +241,7 @@ Paper_outputter::output_font_def (int i, String str)
 {
   SCM scm = gh_list (ly_symbol ("font-def"),
                     gh_int2scm (i),
-                    ly_ch_C_to_scm (str.ch_l ()),
+                    ly_str02scm (str.ch_l ()),
                     SCM_UNDEFINED);
 
   output_scheme (scm);
@@ -252,8 +252,8 @@ Paper_outputter::output_Real_def (String k, Real v)
 {
   
   SCM scm = gh_list (ly_symbol ("lily-def"),
-                    ly_ch_C_to_scm (k.ch_l ()),
-                    ly_ch_C_to_scm (to_str(v).ch_l ()),
+                    ly_str02scm (k.ch_l ()),
+                    ly_str02scm (to_str(v).ch_l ()),
                     SCM_UNDEFINED);
   output_scheme (scm);
 
@@ -265,20 +265,20 @@ Paper_outputter::output_String_def (String k, String v)
 {
   
   SCM scm = gh_list (ly_symbol ("lily-def"),
-                    ly_ch_C_to_scm (k.ch_l ()),
-                    ly_ch_C_to_scm (v.ch_l ()),
+                    ly_str02scm (k.ch_l ()),
+                    ly_str02scm (v.ch_l ()),
                     SCM_UNDEFINED);
   output_scheme (scm);
 
-  gh_define (k.ch_l (), ly_ch_C_to_scm (v.ch_l ()));
+  gh_define (k.ch_l (), ly_str02scm (v.ch_l ()));
 }
 
 void
 Paper_outputter::output_int_def (String k, int v)
 {
   SCM scm = gh_list (ly_symbol ("lily-def"),
-                    ly_ch_C_to_scm (k.ch_l ()),
-                    ly_ch_C_to_scm (to_str (v).ch_l ()),
+                    ly_str02scm (k.ch_l ()),
+                    ly_str02scm (to_str (v).ch_l ()),
                     SCM_UNDEFINED);
   output_scheme (scm);
 
index 6969fd1868eb8447f8677678b86e7bce322f970d..f6c73ca83a1ab183394ce0b60b17d21c07a37941 100644 (file)
@@ -447,7 +447,7 @@ translator_spec_body:
                int_identifier *i = dynamic_cast<int_identifier*> (id);
        
                SCM v;
-               if (s) v = ly_ch_C_to_scm (s->access_content_String (false)->ch_C());
+               if (s) v = ly_str02scm (s->access_content_String (false)->ch_C());
                if (i) v = gh_int2scm (*i->access_content_int (false));
                if (r) v = gh_double2scm (*r->access_content_Real (false));
                if (!s && !i && !r)
@@ -1583,7 +1583,7 @@ string:
                $$ = $1;
        }
        | STRING_IDENTIFIER     {
-               $$ = ly_ch_C_to_scm ($1->access_content_String (true)->ch_C ());
+               $$ = ly_str02scm ($1->access_content_String (true)->ch_C ());
        }
        | string '+' string {
                $$ = scm_string_append (scm_listify ($1, $3, SCM_UNDEFINED));
index 674c5141c7e56fa31ff531e0e851b4c253e39640..85254c42786ca668d31af99471c1fc3c975ef1d2 100644 (file)
@@ -241,6 +241,14 @@ Score_element::output_processing ()
   
   output_p_ = do_brew_molecule_p ();
   Offset o (relative_coordinate (0, X_AXIS), relative_coordinate (0, Y_AXIS));
+
+  SCM s = get_elt_property ("extra-offset");
+  if (gh_pair_p (s))
+    {
+      Real il = paper_l ()->get_var ("interline");
+      o[X_AXIS] += il * gh_scm2double (gh_car (s));
+      o[Y_AXIS] += il * gh_scm2double (gh_cdr (s));      
+    }
   
   pscore_l_->outputter_l_->output_molecule (output_p_,
                                            o,
index 05fc9a6a703d255a3404c04f6c2149777bc5be11..cf8c0ea0f635ad013504ce8c6a0bd1b33bc5d833 100644 (file)
@@ -99,7 +99,7 @@ Text_engraver::do_process_requests ()
       text->text_str_ = r->text_str_;
       
       if (r->style_str_.length_i ())
-       text->set_elt_property ("style", ly_ch_C_to_scm (r->style_str_.ch_C()));
+       text->set_elt_property ("style", ly_str02scm (r->style_str_.ch_C()));
       
       SCM empty = get_property ("textEmptyDimension", 0);
       if (gh_boolean_p (empty) && gh_scm2bool (empty))
index 7fa4e3e992ae5c83fc523d2014cfaee5543fa8d6..165255db26606b62ead063b638861a7277e91a00 100644 (file)
@@ -70,7 +70,7 @@ Tuplet_spanner::do_brew_molecule_p () const
        
     num.translate_axis (dy/2, Y_AXIS);
     
-    Real thick = paper_l ()->get_var ("tuplet-thick");
+    Real thick = paper_l ()->get_var ("tuplet_thick");
     if (bracket_visibility)      
       {
        Real gap = paper_l () -> get_var ("tuplet_spanner_gap");
index 1b8f83adbe8cf851bab9a1ebf4e90875e15db51a..9e06d74c69b9e15629063487c1bffadcb6078e91 100644 (file)
@@ -45,7 +45,7 @@ Volta_spanner::do_brew_molecule_p () const
 
   Real interline_f = paper_l ()->get_var ("interline");
   Real internote_f = interline_f/2;
-  Real t = paper_l ()->get_var ("volta-thick");
+  Real t = paper_l ()->get_var ("volta_thick");
 
   Real dx = internote_f;
   Real w = extent (X_AXIS).length () - dx - get_broken_left_end_align ();
index 609319678aa3f1853b3e6f98e2db21bb3457e271..f8123bfe8e531e5292acf8bcdf1a67b481ee0c52 100644 (file)
@@ -16,7 +16,6 @@ beam_thickness = 0.52 * (\interline - \stafflinethickness);
 interbeam = (2.0 * \interline + \stafflinethickness - \beam_thickness) / 2.0;
 interbeam4 = (3.0 * \interline - \beam_thickness) / 3.0;
 
-#'beam-thickness = \beam_thickness ;  % ARG.
 
 
 % stems and beams
@@ -92,16 +91,9 @@ grace_forced_stem_shorten3 = \grace_forced_stem_shorten2;
 % * MEAN     : mean centre distance of all notes
 % * MEDIAN   : mean centre distance weighted per note
 %
-% enum Dir_algorithm { DOWN=-1, UP=1, MAJORITY=2, MEAN, MEDIAN };
-%
-DOWN = -1.0;
-UP = 1.0;
-MAJORITY = 2.0;
-MEAN = 3.0;
-MEDIAN = 4.0;
 
-#'Beam::beam-dir-algorithm = #'majority
-#'Beam::slope-quantisation = #'normal
+#'slope-quantisation = #'normal
+#'beam-dir-algorithm = #'majority      %urg.
 
 
 %{
@@ -207,6 +199,13 @@ barthick_thick = 6.0* \stafflinethickness;
 barthick_thin = 1.6*\stafflinethickness;
 barthick_score = 1.6*\stafflinethickness;
 
+bracket_arch_thick = \interline / 3.0;
+bracket_width = 2.0 * \interline;
+bracket_thick = 2.0 * \stafflinethickness;
+bracket_arch_height = 1.5 * \interline;
+bracket_arch_width = \bracket_arch_height;
+bracket_arch_angle = 50.0;
+
 tuplet_spanner_gap = 2.0 * \interline;
 tuplet_thick = 1.0*\stafflinethickness;
 volta_thick = 1.6*\stafflinethickness;
index 91c6e7ca026c3dfd1870caed25d9c2cff726faab..9e7850cfc0782f3eba69d56779ca100e72fafaf1 100644 (file)
@@ -11,8 +11,11 @@ Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
 BuildRoot: /tmp/lilypond-install
 Prereq: tetex
 
-%description 
-@BLURB@
+%description
+LilyPond is a music typesetter.  It produces beautiful
+sheet music using a high level description file as input.  LilyPond is
+part of the GNU Project.
+
 
 %package documentation
 Summary: Prebuilt website containing all LilyPond documentation.
@@ -20,7 +23,7 @@ Group: Applications/Publishing
 # BuildArchitectures: noarch
 
 %description documentation
-@BLURB@
+
 
 The documentation of LilyPond, both in HTML and PostScript.
 
index 07d322a822989e41c091ab3ec5cf1b3fa84df0d4..94cc79fc2a97bbdf42e68becba77b14191bd854c 100644 (file)
@@ -1,15 +1,15 @@
 Begin3
 Title: LilyPond
-Version: 1.3.1
-Entered-date: 28OCT99
+Version: 1.3.2
+Entered-date: 01NOV99
 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.1.tar.gz 
+       1000k lilypond-1.3.2.tar.gz 
 Original-site: ftp.cs.uu.nl /pub/GNU/LilyPond/development/
-       1000k lilypond-1.3.1.tar.gz 
+       1000k lilypond-1.3.2.tar.gz 
 Copying-policy: GPL
 End
index f1cdc34164df734cd78724fda5b256ee1e98f179..0b4546e32b29839a8bd1b78930236ac52f43c17d 100644 (file)
@@ -1,9 +1,9 @@
 Name: lilypond
-Version: 1.3.1
+Version: 1.3.2
 Release: 1
 Copyright: GPL
 Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.1.tar.gz
+Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-1.3.2.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>
@@ -11,7 +11,10 @@ Packager: Han-Wen Nienhuys <hanwen@cs.uu.nl>
 BuildRoot: /tmp/lilypond-install
 Prereq: tetex
 
-%description 
+%description
+LilyPond is a music typesetter.  It produces beautiful
+sheet music using a high level description file as input.  LilyPond is
+part of the GNU Project.
 
 
 %package documentation
index ceb25563f53e19cefa8f07cf42a13d9e2b3a2eae..b059317a69ebb51186b0e96464d2d981fe1ffe81 100644 (file)
 ;; * fontlock: \melodic \melodic
 ;; 
 
+(defconst mu-version "1.2.16-dk1"
+  "`mudela-mode' version number.")
+
+(defconst mu-help-address "hanwen@cs.uu.nl"
+  "Address accepting submission of bug reports.")
+
 (defconst mudela-font-lock-keywords
   (let* ((keywords '("spanrequest" "simultaneous" "sequential" "accepts"
                     "alternative" "bar" "breathe"
 (defvar mu-mode-map ()
   "Keymap used in `mudela-mode' buffers.")
 
-(defun mu-newline-and-indent ()
-  (interactive)
-  (newline)
-  (indent-relative-maybe)
-  "Newline and copy previous indentation")
-
 (if mu-mode-map
     ()
   (setq mu-mode-map (make-sparse-keymap))
-
-  (mapcar (function (lambda (key)
-                     (define-key
-                       mu-mode-map key 'mu-newline-and-indent)))
-   (where-is-internal 'newline-and-indent))
-
-  (mapcar (function
-          (lambda (x)
-            (define-key mu-mode-map (car x) (cdr x))))
-         '(("\C-c\C-c"  . mu-foo-bar)
-           ))
-  ;; should do all keybindings this way
-  (define-key mu-mode-map [RET] 'mu-newline-and-indent)
+  ;; (define-key mu-mode-map "\C-c\C-c" 'mu-foo-bar)
   ) 
 
 (defvar mu-mode-syntax-table nil
 
   )    
 
-(defconst mu-blank-or-comment-re "[ \t]*\\($\\|%\\)"
-  "Regexp matching blank or comment lines.")
-
 (defconst mu-imenu-generic-re "^\\([a-zA-Z_][a-zA-Z0-9_]*\\) *="
   "Regexp matching Identifier definitions.")
 
 
 (defun mudela-mode ()
   "Major mode for editing Mudela files."
-
   (interactive)
   ;; set up local variables
   (kill-all-local-variables)
+
   (make-local-variable 'font-lock-defaults)
+  (setq font-lock-defaults '(mudela-font-lock-keywords))
+
   (make-local-variable 'paragraph-separate)
+  (setq paragraph-separate "^[ \t]*$")
+
   (make-local-variable 'paragraph-start)
-  (make-local-variable 'require-final-newline)
+  (setq        paragraph-start "^[ \t]*$")
+
   (make-local-variable 'comment-start)
+  (setq comment-start "%")
+
+  (make-local-variable 'comment-start-skip)
+  (setq comment-start-skip "%{? *")
+
+  (make-local-variable 'comment-end)
+  (setq comment-end "\n")
+
   (make-local-variable 'block-comment-start)
+  (setq block-comment-start "%{")
+
   (make-local-variable 'block-comment-end)  
+  (setq block-comment-end   "%}")
+
+  ;; (make-local-variable 'comment-column)
+  ;; (setq comment-column 40)
 
-  (setq comment-end "\n"
-       comment-start          "%"
-       comment-start-skip     "%{? *"
-       block-comment-start     "%{"
-       block-comment-end       "%}"    
-       )
-  (make-local-variable 'comment-end)
-  (make-local-variable 'comment-start-skip)
-  (setq comment-start-skip "%{")       ;??
-  (make-local-variable 'comment-column)
   (make-local-variable 'imenu-generic-expression)
   (setq imenu-generic-expression mu-imenu-generic-expression)
+
   (make-local-variable 'indent-line-function)
+  (setq indent-line-function 'indent-relative-maybe)
  
   ;;
   (set-syntax-table mu-mode-syntax-table)
-  (setq major-mode             'mudela-mode
-       mode-name              "Mudela"
-       local-abbrev-table     mudela-mode-abbrev-table
-       font-lock-defaults     '(mudela-font-lock-keywords)
-       paragraph-separate     "^[ \t]*$"
-       paragraph-start        "^[ \t]*$"
-       require-final-newline  t
-       comment-column         40
-       indent-line-function    'indent-relative-maybe
-       )
+  (setq major-mode 'mudela-mode)
+  (setq mode-name "Mudela")
+  (setq local-abbrev-table mudela-mode-abbrev-table)
   (use-local-map mu-mode-map)
 
   ;; run the mode hook. mu-mode-hook use is deprecated
-  (run-hooks 'mudela-mode-hook)
-)
+  (run-hooks 'mudela-mode-hook))
 
 
 (defun mu-keep-region-active ()
        (setq zmacs-region-stays t)))
 
 
-(defun mu-comment-region (beg end &optional arg)
-  "Like `comment-region' but uses double hash (`#') comment starter."
-  (interactive "r\nP")
-  (let ((comment-start mu-block-comment-prefix))
-    (comment-region beg end arg)))
+;;(defun mu-comment-region (beg end &optional arg)
+;;  "Like `comment-region' but uses double hash (`#') comment starter."
+;;  (interactive "r\nP")
+;;  (let ((comment-start mu-block-comment-prefix))
+;;    (comment-region beg end arg)))
 \f
-(defconst mu-version "0.0.1"
-  "`mudela-mode' version number.")
-(defconst mu-help-address "hanwen@cs.uu.nl"
-  "Address accepting submission of bug reports.")
-
 (defun mu-version ()
   "Echo the current version of `mudela-mode' in the minibuffer."
   (interactive)
diff --git a/mutopia/D.Scarlatti/GNUmakefile b/mutopia/D.Scarlatti/GNUmakefile
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/mutopia/D.Scarlatti/progress.ly b/mutopia/D.Scarlatti/progress.ly
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/mutopia/D.Scarlatti/sonata-k1-l366.ly b/mutopia/D.Scarlatti/sonata-k1-l366.ly
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/mutopia/D.Scarlatti/sonata-k2-l388.ly b/mutopia/D.Scarlatti/sonata-k2-l388.ly
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/mutopia/D.Scarlatti/sonata-k3-l378.ly b/mutopia/D.Scarlatti/sonata-k3-l378.ly
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/mutopia/D.Scarlatti/sonata-k4-l390.ly b/mutopia/D.Scarlatti/sonata-k4-l390.ly
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/mutopia/F.Schubert/AnSylvia.ly b/mutopia/F.Schubert/AnSylvia.ly
deleted file mode 100644 (file)
index e69de29..0000000
index 635c93381341dff55c30646d7d16b6159946ec3d..380f553b9de39a7537f6465531db6f1a8a66049b 100644 (file)
@@ -76,9 +76,9 @@ allemande_b = \notes \relative c {
        s1 |
        f!16 s16*3 b, s16*3 s2 |
        s1 |
-       \property Voice.slurVerticalDirection=1
+       \slurdown
        s4 e [dis8 ~ dis32 e( fis gis] [a b c d! c b c )a] |
-       \property Voice.slurVerticalDirection=0
+       \slurboth
        %10
        s2 <a8 c,> s8 s4 |
        <b8 gis,> s8 s4 <e,8 a,> s8 s4 |
index 9df40fb2c210afcc844df064c23466955950ff65..cda7712a718191234fc9f7817d6ffdb3d5ac9c31 100644 (file)
@@ -75,9 +75,9 @@ courante_b = \notes \relative c {
        f'4 s s |
        s2.*2
        %21
-       \property Voice.slurVerticalDirection=1
+       \slurup
        f16 c'(bes a g f es d )es c' f, es |
-       \property Voice.slurVerticalDirection=0
+       \slurboth
        bes4 s s
        s2.*9
        s2 s8.
index 840bf07e8c3f1b15f825ce1da42ffcdbfdb38e4e..2b4d6043b9942a5f76f6ab19884d6f18e7876f92 100644 (file)
@@ -16,7 +16,7 @@ menuetto_i_cello_global = \notes{
                \skip 2.*1;
                \slurdotted
                \skip 2.*14;
-               \property Voice.textEmptyDimension = 1
+               \emptyText
                s2._"Fine"
        }
 }
@@ -73,7 +73,7 @@ menuetto_ii_cello_global = \notes{
                \skip 2.*1;
                \slurdotted
                \skip 2.*14;
-               \property Voice.textEmptyDimension = 1
+               \emptyText
                s2._"Menuetto I da Capo"
        }
 
index 614ddd16171f8cd07c591d4784a9d475c89a0231..a993e206c6e0d9c1370f210bddabafcd0e2aa239 100644 (file)
@@ -18,7 +18,7 @@ menuetto_i_viola_global = \notes{
                \skip 2.*3;
                \clef alto;
                \skip 2.*11;
-               \property Voice.textEmptyDimension = 1
+               \emptyText
                s2._"Fine"
        }
 }
@@ -71,7 +71,7 @@ menuetto_ii_viola_global = \notes{
                \skip 2.*1;
                \slurdotted
                \skip 2.*14;
-               \property Voice.textEmptyDimension = 1
+               \emptyText
                s2._"Menuetto I da Capo"
        }
 }
index d74fa6ef86242ccbf41bb9ec61f3abd6dbd0d182..1fef17664f9418ab42d3ad889ebf518f6fbd4e62 100644 (file)
 
 \version "1.2.13";
 
-\include "nederlands.ly"                 % for correct parsing of note names
-
 global = \notes {
   \key c \minor;
-  \time 4/4;
-  \property Staff.timeSignatureStyle = "C"
-  \skip 1*31;
-  \bar "|."; |
 }
   
 dux = \context Voice=two \notes \relative c''{
   \voicetwo
   \clef violin;
 
-  \property Voice.verticalDirection = "-1"
-  
   r8 c16 b c8 g as c16 b c8 d |
   g, c16 b c8 d f,16 g as4 g16 f |
   es c' b a g f! es d c8 es' d c |
@@ -174,9 +166,10 @@ bassdux = \context Voice=three \notes \relative c' {
  
     \context PianoStaff < 
        \context Staff = treble < 
-           \global 
            \dux
-           \comes 
+           { \comes \bar "|."; }
+             \time 4/4;
+             \property Score.timeSignatureStyle = "C"
          >
        \context Staff = bass <
            \global
index 265789d1d704f75ae5585b02e53eefb38e553f2e..b948ccff706d51dfdca8924d1d5351a50ad77b4f 100644 (file)
 % 
 % 
 % 
-/half_bracket 
+/half_bracket
 { 
 %6 
        0 0 
 %5a 
-       bracket_b bracket_v add bracket_h bracket_t sub bracket_u add 
-       bracket_alpha bracket_v -0.15 mul bracket_traject 
+       arch_thick arch_height add half_height bracket_thick sub arch_width add 
+       arch_angle arch_height -0.15 mul bracket_traject 
 %5b 
-       1 bracket_h 
-       0 bracket_v 0.5 mul bracket_traject 
+       1 half_height 
+       0 arch_height 0.5 mul bracket_traject 
 %5c 
-       0 bracket_h 
+       0 half_height 
 %4a 
-       bracket_b bracket_h bracket_t sub 
-       0 bracket_v 0.4 mul bracket_traject 
+       arch_thick half_height bracket_thick sub 
+       0 arch_height 0.4 mul bracket_traject 
 %4b 
-       bracket_b bracket_v add bracket_h bracket_t sub bracket_u add 
-       bracket_alpha bracket_v -0.25 mul bracket_traject 
+       arch_thick arch_height add half_height bracket_thick sub arch_width add 
+       arch_angle arch_height -0.25 mul bracket_traject 
 %4c 
-       bracket_b bracket_v add bracket_h bracket_t sub bracket_u add 
+       arch_thick arch_height add half_height bracket_thick sub arch_width add 
 %3 
-       bracket_b bracket_h bracket_t sub 
+       arch_thick half_height bracket_thick sub 
 %2 
-       bracket_b 0 
+       arch_thick 0 
 %1 
        0 0 
 } bind def 
        grestore 
 } bind def 
 % 
-/draw_bracket % height 
+/draw_bracket % arch_angle arch_width arch_height bracket_width bracket_height arch_thick bracket_thick
 { 
-       2 div bracket_b add /bracket_h exch def 
-       bracket_t setlinewidth 
+       % urg
+       /bracket_thick exch def
+       /arch_thick exch def
+       /bracket_height exch def
+       /bracket_width exch def
+       /arch_height exch def
+       /arch_width exch def
+       /arch_angle exch def
+%
+       bracket_height 2 div arch_thick add /half_height exch def 
 % urg: the only Level-2 PS, check effect in print 
 %      true setstrokeadjust 
        1 setlinecap 
index de499111543ca35a3d04fc2d47424ef10d70410f..980344441cd422a74c4270ca61b9be3d766206e2 100644 (file)
 
 (define space-alist
  '(
-   (("" "Clef_item") . (minimum_space 1.0))
-   (("" "Staff_bar") . (minimum_space 0.0))
-   (("" "Clef_item") . (minimum_space 1.0))
-   (("" "Key_item") . (minimum_space 0.5))
-   (("" "Span_bar") . (extra_space 0.0))
-   (("" "Time_signature") . (extra_space 0.0))
-   (("" "begin-of-note") . (minimum_space 1.5))
-   (("Clef_item" "Key_item") . (minimum_space 4.0))
-   (("Key_item" "Time_signature") . (extra_space 1.0))
-   (("Clef_item"  "Time_signature") . (minimum_space 3.5))
-   (("Staff_bar" "Clef_item") .   (minimum_space 1.0))
-   (("Clef_item"  "Staff_bar") .  (minimum_space 3.7))
-   (("Time_signature" "Staff_bar") .  (minimum_space 2.0))
-   (("Key_item"  "Staff_bar") .  (extra_space 1.0))
-   (("Span_bar" "Clef_item") .   (extra_space 1.0))
-   (("Clef_item"  "Span_bar") . (minimum_space 3.7))
-   (("Time_signature" "Span_bar") . (minimum_space 2.0))
-   (("Key_item"  "Span_bar") . (minimum_space 2.5))
-   (("Staff_bar" "Time_signature") . (minimum_space 1.5)) ;double check this.
-   (("Time_signature" "begin-of-note") . (extra_space 2.0)) ;double check this.
-   (("Key_item" "begin-of-note") . (extra_space 2.5))
-   (("Staff_bar" "begin-of-note") . (extra_space 1.0))
-   (("Clef_item" "begin-of-note") . (minimum_space 5.0))
-   (("" "Breathing_sign") . (minimum_space 0.0))
-   (("Breathing_sign" "Key_item") . (minimum_space 1.5))
-   (("Breathing_sign" "begin-of-note") . (minimum_space 1.0))
-   (("Breathing_sign" "Staff_bar") . (minimum_space 1.5))
-   (("Breathing_sign" "Clef_item") . (minimum_space 2.0))
+   (("" "Clef_item") . (minimum-space 1.0))
+   (("" "Staff_bar") . (minimum-space 0.0))
+   (("" "Clef_item") . (minimum-space 1.0))
+   (("" "Key_item") . (minimum-space 0.5))
+   (("" "Span_bar") . (extra-space 0.0))
+   (("" "Time_signature") . (extra-space 0.0))
+   (("" "begin-of-note") . (minimum-space 1.5))
+   (("Clef_item" "Key_item") . (minimum-space 4.0))
+   (("Key_item" "Time_signature") . (extra-space 1.0))
+   (("Clef_item"  "Time_signature") . (minimum-space 3.5))
+   (("Staff_bar" "Clef_item") .   (minimum-space 1.0))
+   (("Clef_item"  "Staff_bar") .  (minimum-space 3.7))
+   (("Time_signature" "Staff_bar") .  (minimum-space 2.0))
+   (("Key_item"  "Staff_bar") .  (extra-space 1.0))
+   (("Span_bar" "Clef_item") .   (extra-space 1.0))
+   (("Clef_item"  "Span_bar") . (minimum-space 3.7))
+   (("Time_signature" "Span_bar") . (minimum-space 2.0))
+   (("Key_item"  "Span_bar") . (minimum-space 2.5))
+   (("Staff_bar" "Time_signature") . (minimum-space 1.5)) ;double check this.
+   (("Time_signature" "begin-of-note") . (extra-space 2.0)) ;double check this.
+   (("Key_item" "begin-of-note") . (extra-space 2.5))
+   (("Staff_bar" "begin-of-note") . (extra-space 1.0))
+   (("Clef_item" "begin-of-note") . (minimum-space 5.0))
+   (("" "Breathing_sign") . (minimum-space 0.0))
+   (("Breathing_sign" "Key_item") . (minimum-space 1.5))
+   (("Breathing_sign" "begin-of-note") . (minimum-space 1.0))
+   (("Breathing_sign" "Staff_bar") . (minimum-space 1.5))
+   (("Breathing_sign" "Clef_item") . (minimum-space 2.0))
    )
 )
  
     (if entry
        (cdr entry)
        (begin (ly-warn (string-append "Unknown spacing pair `" this "', `" next "'"))
-              '(minimum_space 0.0)))))
+              '(minimum-space 0.0)))))
   
        
 
   (define (beam width slope thick)
     (embedded-ps ((ps-scm 'beam) width slope thick)))
 
-  (define (bracket h)
-    (embedded-ps ((ps-scm 'bracket) h)))
+  (define (bracket arch_angle arch_width arch_height width height arch_thick thick)
+    (embedded-ps ((ps-scm 'bracket) arch_angle arch_width arch_height width height arch_thick thick)))
 
   (define (dashed-slur thick dash l)
     (embedded-ps ((ps-scm 'dashed-slur)  thick dash l)))
          (regexp-substitute/global #f "\\\\" s 'pre "$\\backslash$" 'post)
          s))
       
-
   (define (lily-def key val)
     (string-append
      "\\def\\"
     (string-append
      (numbers->string (list width slope thick)) " draw_beam" ))
 
-  (define (bracket h)
-    (invoke-dim1 " draw_bracket" h))
+  (define (bracket arch_angle arch_width arch_height width height arch_thick thick)
+    (string-append
+     (numbers->string (list arch_angle arch_width arch_height width height arch_thick thick)) " draw_bracket" ))
 
   (define (char i)
     (invoke-char " show" i))
index 2d681ce09a9dc391475884c03938b82c994ce8a5..8652d3c960ff0c359d8bf42f486973d6458fefab 100644 (file)
@@ -563,7 +563,7 @@ AC_DEFUN(AC_STEPMAKE_TEXMF, [
     #
     # For now let people define these in their environments
     #
-    : ${MFPLAIN_MP='/usr/share/texmf/metapost/base/mfplain.mp'}
+    : ${MFPLAIN_MP=`kpsewhich mfplain.mp`}
     : ${INIMETAPOST_FLAGS='-interaction=nonstopmode'}
 
     rm -f mfput.*
index b970f50b4855796fc06355f4b5dc8b2edc371d96..c7ec22bf94696113c92f9a88f33aaf1c2ffa78f8 100755 (executable)
@@ -24,8 +24,10 @@ fi
 # and create links to here, if necessary
 #
 sourcetree=`basename \`pwd\``
-(cd ..; rm -f $package 2>&1 > /dev/null)
-(cd ..; ln -s $sourcetree $package)
+if [ "xsourcetree" != "x$package" ]; then
+       (cd ..; rm -f $package 2>&1 > /dev/null)
+       (cd ..; ln -s $sourcetree $package)
+fi
 #
 if [ ! -r $sources ]; then
        (cd ..; ln -s `pwd` $sources)
index 084d51ce5515d5f0c2df0f3d3e490c61e3ed9956..ca33b2543d22e8077507c934cf27e84531741c5e 100644 (file)
@@ -8,24 +8,12 @@
 % note the ! sign.  See dvips.info for details.
 %
 
-% ARG. Fix brackets
 \def\turnOnPostScript{%
         % This sets CTM so that you get to the currentpoint
         % by executing a 0 0 moveto
         \def\embeddedps##1{%
                 \special{ps: @beginspecial @setspecial ##1 @endspecial}       
         }
-        %
-        \special{! 
-/stafflinethickness \mudelapaperstafflinethickness\space def
-/interline \mudelapaperinterline\space def
-interline 3 div /bracket_b exch def
-interline 2 mul /bracket_w exch def
-stafflinethickness 2 mul /bracket_t exch def
-interline 1.5 mul /bracket_v exch def
-bracket_v /bracket_u exch def
-50 /bracket_alpha exch def
-1 setlinecap}
 }
 
 \def\turnOnExperimentalFeatures{}