]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.2
authorfred <fred>
Tue, 26 Mar 2002 22:42:58 +0000 (22:42 +0000)
committerfred <fred>
Tue, 26 Mar 2002 22:42:58 +0000 (22:42 +0000)
16 files changed:
lily/auto-beam-engraver.cc
lily/beam.cc
lily/chord-tremolo-engraver.cc
lily/extender-spanner.cc
lily/hyphen-spanner.cc
lily/include/chord-tremolo-engraver.hh
lily/include/chord-tremolo.hh
lily/score-element.cc
lily/tuplet-spanner.cc
lily/volta-spanner.cc
make/lilypond.spec.in
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

index c2d30f6d504a0786506e36e5516c5b9c3943117b..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"
@@ -210,6 +209,7 @@ Auto_beam_engraver::create_beam_p ()
       beam_p->add_stem ((*stem_l_arr_p_)[i]);
     }
   
+  announce_element (Score_element_info (beam_p, 0));
 
   return beam_p;
 }
@@ -283,7 +283,7 @@ Auto_beam_engraver::do_removal_processing ()
 bool
 Auto_beam_engraver::same_grace_state_b (Score_element* e)
 {
-  bool gr = e->get_elt_property (grace_scm_sym) != SCM_BOOL_F;
+  bool gr = e->get_elt_property ("grace") == SCM_BOOL_T;
   SCM wg =get_property ("weAreGraceContext",0);
   return (gh_boolean_p (wg) && gh_scm2bool (wg)) == gr;
 }
@@ -300,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 ();
@@ -406,3 +402,4 @@ Auto_beam_engraver::process_acknowledged ()
        }
     }
 }
+
index 69de9292315ab38349ca5ea41697619fe2fe31dd..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"
@@ -129,9 +128,9 @@ Beam::auto_knee (SCM gap, bool interstaff_b)
   bool knee = false;
   int knee_y = 0;
   Real internote_f = stems_[0]->staff_line_leading_f ()/2;
-  if (gap != SCM_BOOL_F)
+  if (gap != SCM_UNDEFINED)
     {
-      int auto_gap_i = gh_scm2int (SCM_CDR (gap));
+      int auto_gap_i = gh_scm2int (gap);
       for (int i=1; i < stems_.size (); i++)
         {
          bool is_b = (bool)(sinfo_[i].interstaff_f_ - sinfo_[i-1].interstaff_f_);
@@ -160,7 +159,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_elt_property (dir_forced_scm_sym, SCM_BOOL_T);
+         stems_[i]->set_elt_property ("dir-forced", SCM_BOOL_T);
        }
     }
   return knee;
@@ -169,10 +168,10 @@ Beam::auto_knee (SCM gap, bool interstaff_b)
 bool
 Beam::auto_knees ()
 {
-  if (auto_knee (get_elt_property (auto_interstaff_knee_gap_scm_sym), true))
+  if (auto_knee (get_elt_property ("auto-interstaff-knee-gap"), true))
     return true;
   
-  return auto_knee (get_elt_property (auto_knee_gap_scm_sym), false);
+  return auto_knee (get_elt_property ("auto-knee-gap"), false);
 }
 
 
@@ -204,7 +203,7 @@ Beam::do_post_processing ()
   if (stems_.size () < 2)
     {
       warning (_ ("beam with less than two stems"));
-      set_elt_property (transparent_scm_sym, SCM_BOOL_T);
+      set_elt_property ("transparent", SCM_BOOL_T);
       return;
     }
   set_steminfo ();
@@ -219,7 +218,7 @@ Beam::do_post_processing ()
 
       /* auto-knees used to only work for slope = 0
         anyway, should be able to set slope per beam
-         set_elt_property (damping_scm_sym, gh_int2scm(1000));
+         set_elt_property ("damping", gh_int2scm(1000));
       */
 
       sinfo_.clear ();
@@ -279,11 +278,10 @@ 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 (gh_symbol2scm ("beam_dir_algorithm"));
-  a= gh_cdr (a);
+  SCM a = get_elt_property ("beam-dir-algorithm");
   
   if (a == gh_symbol2scm ("majority")) // should get default from paper.
     beam_dir = (count[UP] == count[DOWN]) ? neutral_dir 
@@ -318,10 +316,10 @@ Beam::set_direction (Direction d)
   for (int i=0; i <stems_.size (); i++)
     {
       Stem *s = stems_[i];
-      s->set_elt_property (beam_dir_scm_sym, gh_int2scm (d));
+      s->set_elt_property ("beam-dir", gh_int2scm (d));
 
-      SCM force = s->remove_elt_property (dir_forced_scm_sym);
-      if (force == SCM_BOOL_F)
+      SCM force = s->remove_elt_property ("dir-forced");
+      if (force == SCM_UNDEFINED)
        s->dir_ = d;
     }
 }
@@ -352,7 +350,7 @@ Beam::check_stemlengths_f (bool set_b)
 {
   Real interbeam_f = paper_l ()->interbeam_f (multiple_i_);
 
-  Real beam_f = paper_l ()->get_realvar (beam_thickness_scm_sym);;
+  Real beam_f = paper_l ()->get_var ("beam_thickness");;
   Real staffline_f = paper_l ()-> get_var ("stafflinethickness");
   Real epsilon_f = staffline_f / 8;
   Real dy_f = 0.0;
@@ -411,7 +409,7 @@ Beam::set_steminfo ()
       total_count_i++;
     }
 
-  bool grace_b = get_elt_property (grace_scm_sym) != SCM_BOOL_F;
+  bool grace_b = get_elt_property ("grace") == SCM_BOOL_T;
   String type_str = grace_b ? "grace_" : "";
   int stem_max = (int)rint(paper_l ()->get_var ("stem_max"));
   Real shorten_f = paper_l ()->get_var (type_str + "forced_stem_shorten"
@@ -424,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;
@@ -484,10 +483,10 @@ Beam::calculate_slope ()
        damped = tanh (slope_f_)
        corresponds with some tables in [Wanske]
       */
-      SCM damp = remove_elt_property (damping_scm_sym);
+      SCM damp = remove_elt_property ("damping");
       int damping = 1;         // ugh.
-      if (damp!= SCM_BOOL_F)
-       damping = gh_int2scm (SCM_CDR(damp));
+      if (damp!= SCM_UNDEFINED)
+       damping = gh_int2scm (damp);
 
       if (damping)
        slope_f_ = 0.6 * tanh (slope_f_) / damping;
@@ -514,8 +513,7 @@ Beam::quantise_dy ()
     + n * interline
     */
 
-  SCM q = get_elt_property (gh_symbol2scm ("slope_quantisation"));
-  q = gh_cdr (q);
+  SCM q = get_elt_property ("slope-quantisation");
   
   if (q == gh_symbol2scm ("none"))
     return;
@@ -523,7 +521,7 @@ Beam::quantise_dy ()
   Real interline_f = stems_[0]->staff_line_leading_f ();
   Real internote_f = interline_f / 2;
   Real staffline_f = paper_l ()->get_var ("stafflinethickness");
-  Real beam_f = paper_l ()->get_realvar (beam_thickness_scm_sym);;
+  Real beam_f = paper_l ()->get_var ("beam_thickness");;
 
   Real dx_f = stems_.top ()->hpos_f () - stems_[0]->hpos_f ();
 
@@ -559,8 +557,8 @@ Beam::quantise_left_y (bool extend_b)
     we only need to quantise the start of the beam as dy is quantised too
    if extend_b then stems must *not* get shorter
    */
-  SCM q = get_elt_property (gh_symbol2scm ("slope_quantisation"));
-  q = gh_cdr (q);
+  SCM q = get_elt_property ("slope-quantisation");
+
 
   /*
     ----------------------------------------------------------
@@ -576,7 +574,7 @@ Beam::quantise_left_y (bool extend_b)
   Real space = stems_[0]->staff_line_leading_f ();
   Real internote_f = space /2;
   Real staffline_f = paper_l ()->get_var ("stafflinethickness");
-  Real beam_f = paper_l ()->get_realvar (beam_thickness_scm_sym);;
+  Real beam_f = paper_l ()->get_var ("beam_thickness");;
 
   /*
     [TODO]
@@ -709,7 +707,7 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
   Real interbeam_f = paper_l ()->interbeam_f (multiple_i_);
 
   Real internote_f = here->staff_line_leading_f ()/2;
-  Real beam_f = paper_l ()->get_realvar (beam_thickness_scm_sym);;
+  Real beam_f = paper_l ()->get_var ("beam_thickness");;
 
   Real dy = interbeam_f;
   Real stemdx = staffline_f;
@@ -763,10 +761,10 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
       int j = 0;
       Real gap_f = 0;
 
-      SCM gap = get_elt_property (beam_gap_scm_sym);
-      if (gap != SCM_BOOL_F)
+      SCM gap = get_elt_property ("beam-gap");
+      if (gap != SCM_UNDEFINED)
        {
-         int gap_i = gh_scm2int (SCM_CDR (gap));
+         int gap_i = gh_scm2int ( (gap));
          int nogap = rwholebeams - gap_i;
          
          for (; j  < nogap; j++)
@@ -812,3 +810,4 @@ Beam::stem_beams (Stem *here, Stem *next, Stem *prev) const
   return leftbeams;
 }
 
+
index 5e63ef69fe1f1ec1fce4db3b48c8ad8f7bd2b238..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]));
   }
 }
@@ -148,13 +150,13 @@ Chord_tremolo_engraver::acknowledge_element (Score_element_info i)
          if (s->type_i () != 1)
            {
              int gap_i =s->flag_i_ - ((s->type_i () >? 2) - 2);
-             s->set_elt_property (beam_gap_scm_sym, gh_int2scm(gap_i));
+             s->set_elt_property ("beam-gap", gh_int2scm(gap_i));
            }
 #else
          if (s->type_i () != 1)
            {
              int gap_i =s->flag_i_ - ((s->type_i () >? 2) - 2);
-             abeam_p_->set_elt_property (beam_gap_scm_sym, gh_int2scm(gap_i));
+             abeam_p_->set_elt_property ("beam-gap", gh_int2scm(gap_i));
            }
 #endif
          
@@ -162,3 +164,4 @@ Chord_tremolo_engraver::acknowledge_element (Score_element_info i)
        }
     }
 }
+
index 2cedcea834f1e704d8e55b095fa4c28b1aeb5102..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_realvar (extender_height_scm_sym);
+  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));
 
@@ -61,7 +61,7 @@ void
 Extender_spanner::do_post_processing ()
 {
   // UGH
-  Real gap = paper_l ()->get_realvar (interline_scm_sym);
+  Real gap = paper_l ()->get_var ("interline");
 
   Direction d = LEFT;
   do
@@ -84,3 +84,4 @@ Extender_spanner::set_textitem (Direction d, Item* textitem_l)
   add_dependency (textitem_l);
 }
 
+
index 86c840e7ebf91f256bbf132bd6db6dfa4643c4f5..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_realvar (hyphen_thickness_scm_sym);
-  Real h = paper_l ()->get_realvar (hyphen_height_scm_sym);
+  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_realvar (hyphen_minimum_length_scm_sym);
+  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)));
@@ -71,7 +71,7 @@ void
 Hyphen_spanner::do_post_processing ()
 {
   // UGH
-  Real gap = paper_l ()->get_realvar (interline_scm_sym);
+  Real gap = paper_l ()->get_var ("interline");
 
   Direction d = LEFT;
   do
@@ -94,3 +94,4 @@ Hyphen_spanner::set_textitem (Direction d, Item* textitem_l)
   add_dependency (textitem_l);
 }
 
+
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 487a6c0d56bebb6d1612bf7e2d1d71a7271a8d07..85254c42786ca668d31af99471c1fc3c975ef1d2 100644 (file)
@@ -46,7 +46,7 @@ Score_element::Score_element()
   status_i_ = 0;
   self_scm_ = SCM_EOL;
   original_l_ = 0;
-  element_property_alist_ = scm_protect_object (gh_cons (gh_cons (void_scm_sym, SCM_BOOL_T) , SCM_EOL));
+  element_property_alist_ = SCM_EOL;
 
   smobify_self ();
 }
@@ -87,38 +87,46 @@ Score_element::dependency_size () const
   return dependency_arr_.size ();
 }
 
+// should also have one that takes SCM arg. 
 SCM
-Score_element::get_elt_property (SCM sym) const
+Score_element::get_elt_property (String nm) const
 {
-  SCM s =  scm_assq(sym, element_property_alist_);
+  SCM sym =  ly_symbol (nm);
+  SCM s = scm_assq(sym, element_property_alist_);
 
-  // is this a good idea?
   if (s != SCM_BOOL_F)
-    return s;
-
+    return SCM_CDR (s); 
+  
   if (pscore_l_)
     {
+      SCM sym2 = ly_symbol (name () + ("::" + nm));
+      SCM val;
+      
       // should probably check for Type::sym as well.
-      if (pscore_l_->paper_l_->default_properties_.elem_b (sym))
-       return pscore_l_->paper_l_->default_properties_[sym];
+      Paper_def * p= pscore_l_->paper_l_;
+      if (p->default_properties_.try_retrieve (sym2, &val))
+       return val;
+      else if (p->default_properties_.try_retrieve (sym, &val))
+       return val;
     }
   
-  return SCM_BOOL_F;
+  return SCM_UNDEFINED;
 }
 
 SCM
-Score_element::remove_elt_property (SCM key)
+Score_element::remove_elt_property (String key)
 {
   SCM s = get_elt_property (key); 
-  SCM_CDR(element_property_alist_) =  scm_assq_remove_x (SCM_CDR (element_property_alist_), key);
+  SCM sym = ly_symbol (key);   
+  element_property_alist_ =  scm_assq_remove_x (element_property_alist_, sym);
   return s;
 }
 
 void
-Score_element::set_elt_property (SCM s, SCM v)
+Score_element::set_elt_property (String k, SCM v)
 {
-  SCM_CDR(element_property_alist_) =
-    scm_assoc_set_x (SCM_CDR (element_property_alist_), s, v);
+  SCM s = ly_symbol (k);
+  element_property_alist_ = scm_assoc_set_x (element_property_alist_, s, v);
 }
 
 Interval
@@ -176,9 +184,9 @@ Score_element::lookup_l () const
   if (!lookup_l_)
     {
       Score_element * urg = (Score_element*)this;
-      SCM sz = urg->remove_elt_property (fontsize_scm_sym);
-      int i = (sz != SCM_BOOL_F)
-       ? gh_scm2int (SCM_CDR (sz))
+      SCM sz = urg->remove_elt_property ("fontsize");
+      int i = (sz != SCM_UNDEFINED)
+       ? gh_scm2int  (sz)
        : 0;
 
       urg->lookup_l_ =  (Lookup*)pscore_l_->paper_l_->lookup_l (i);
@@ -224,7 +232,7 @@ Score_element::calculate_dependencies (int final, int busy,
 void
 Score_element::output_processing () 
 {
-  if (get_elt_property (transparent_scm_sym) != SCM_BOOL_F)
+  if (get_elt_property ("transparent") != SCM_UNDEFINED)
     return;
 
   // we're being silly here. 
@@ -233,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,
@@ -477,3 +493,4 @@ Score_element::equal_p (SCM a, SCM b)
 {
   return SCM_CDR(a) == SCM_CDR(b) ? SCM_BOOL_T : SCM_BOOL_F;
 }
+
index 234a4f982ac9d02be0e51e9df54e0a9690a29cb3..165255db26606b62ead063b638861a7277e91a00 100644 (file)
@@ -35,8 +35,8 @@ Tuplet_spanner::do_brew_molecule_p () const
   // Default behaviour: number always, bracket when no beam!
   bool bracket_visibility = !parallel_beam_b_;
   bool number_visibility = true;
-  SCM visibility_sym =get_elt_property (tuplet_visibility_scm_sym);
-  if (visibility_sym != SCM_BOOL_F)
+  SCM visibility_sym =get_elt_property ("tuplet-visibility");
+  if (visibility_sym != SCM_UNDEFINED)
     {
       /*
        ARG. Fixme.
@@ -49,7 +49,7 @@ Tuplet_spanner::do_brew_molecule_p () const
         3       show number, and bracket-if-no-beam
         4       show number, and bracket
       */
-      int value = gh_scm2int (SCM_CDR(visibility_sym));
+      int value = gh_scm2int ((visibility_sym));
       bracket_visibility = (value == 4 || (value > 1 && !parallel_beam_b_));
       number_visibility = (value > 2 || value == 1 || 
                           (value == 2 && !parallel_beam_b_));
@@ -62,7 +62,7 @@ Tuplet_spanner::do_brew_molecule_p () const
                                     number_str_, paper_l ()));
     num.align_to (X_AXIS, CENTER);
     num.translate_axis (w/2, X_AXIS);
-    Real interline = paper_l ()->get_realvar (interline_scm_sym);
+    Real interline = paper_l ()->get_var ("interline");
     Real dy = column_arr_.top ()->extent (Y_AXIS) [dir_]
       - column_arr_[0]->extent (Y_AXIS) [dir_];
     num.align_to (Y_AXIS, CENTER);
@@ -70,7 +70,7 @@ Tuplet_spanner::do_brew_molecule_p () const
        
     num.translate_axis (dy/2, Y_AXIS);
     
-    Real thick = paper_l ()->get_realvar (tuplet_thick_scm_sym);
+    Real thick = paper_l ()->get_var ("tuplet_thick");
     if (bracket_visibility)      
       {
        Real gap = paper_l () -> get_var ("tuplet_spanner_gap");
@@ -131,9 +131,9 @@ Direction
 Tuplet_spanner::get_default_dir () const
 {
   Direction d = UP;
-  SCM dir_sym =get_elt_property (dir_forced_scm_sym);
-  if (dir_sym != SCM_BOOL_F) {
-    d= (Direction) gh_scm2int (SCM_CDR(dir_sym));
+  SCM dir_sym =get_elt_property ("dir-forced");
+  if (dir_sym != SCM_UNDEFINED) {
+    d= (Direction) gh_scm2int (dir_sym);
     if (d != CENTER)
       return d;
   }
@@ -163,3 +163,4 @@ Tuplet_spanner::add_column (Note_column*n)
   add_dependency (n);
 }
 
+
index 5ebadf0d08f43f6d13af207112e09389858691ab..9e06d74c69b9e15629063487c1bffadcb6078e91 100644 (file)
@@ -43,9 +43,9 @@ Volta_spanner::do_brew_molecule_p () const
   if (bar_arr_.top ()->type_str_.length_i () > 1)
     no_vertical_end = false;
 
-  Real interline_f = paper_l ()->get_realvar (interline_scm_sym);
+  Real interline_f = paper_l ()->get_var ("interline");
   Real internote_f = interline_f/2;
-  Real t = paper_l ()->get_realvar (volta_thick_scm_sym);
+  Real t = paper_l ()->get_var ("volta_thick");
 
   Real dx = internote_f;
   Real w = extent (X_AXIS).length () - dx - get_broken_left_end_align ();
@@ -130,3 +130,4 @@ Volta_spanner::add_column (Note_column* c)
   add_dependency (c);
 }
 
+
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 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