]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.0
authorfred <fred>
Tue, 26 Mar 2002 22:28:17 +0000 (22:28 +0000)
committerfred <fred>
Tue, 26 Mar 2002 22:28:17 +0000 (22:28 +0000)
lily/bar-script-engraver.cc
lily/font-size-engraver.cc
lily/melisma-engraver.cc
lily/rhythmic-column-engraver.cc
lily/script-engraver.cc
lily/slur-engraver.cc
lily/staff-sym-engraver.cc
lily/stem-engraver.cc
lily/text-engraver.cc
lily/timing-translator.cc
lily/vertical-align-engraver.cc

index f5bfcacd91748766e9f451d6a2a4a2089c0101d0..12e94befc1f3d2cae47bd8e0c45f58dd8e9d0f15 100644 (file)
@@ -31,8 +31,8 @@ Bar_script_engraver::Bar_script_engraver ()
 void
 Bar_script_engraver::do_creation_processing ()
 {
-  Scalar prop = get_property (type_ + "HangOnClef", 0);
-  if (prop.to_bool ())
+  SCM prop = get_property (type_ + "HangOnClef", 0);
+  if (gh_boolean_p (prop) && gh_scm2bool (prop))
     {
       hang_on_clef_b_ = true;
     }
@@ -141,10 +141,10 @@ Bar_script_engraver::create_items (Request *rq)
   text_p_ = new Text_item;
   text_p_->set_elt_property (breakable_scm_sym, SCM_BOOL_T); // ugh
 
-  Scalar prop = get_property (type_ + "Direction", 0);
-  if (prop.isnum_b ())
+  SCM prop = get_property (type_ + "Direction", 0);
+  if (isdir_b (prop))
     {
-      staff_side_p_->dir_ = (Direction) (int) prop;
+      staff_side_p_->dir_ = to_dir (prop);
     }
   else 
     {
@@ -153,10 +153,10 @@ Bar_script_engraver::create_items (Request *rq)
 
   staff_side_p_->set_victim(text_p_);
   
-  Scalar padding = get_property (type_ + "ScriptPadding", 0);
-  if (padding.length_i() && padding.isnum_b ())
+  SCM padding = get_property (type_ + "ScriptPadding", 0);
+  if (SCM_NUMBERP(padding))
     {
-      staff_side_p_->set_elt_property (padding_scm_sym, gh_double2scm(Real(padding)));
+      staff_side_p_->set_elt_property (padding_scm_sym, padding);
     }
   else
     {
index 30f47498c9014ea27b9390a55bedcea180e066de..b8d91ae55cc93c501baff57c2491680d6a923902 100644 (file)
@@ -19,11 +19,11 @@ Font_size_engraver::Font_size_engraver ()
 void
 Font_size_engraver::do_process_requests ()
 {
-  Scalar s (get_property ("fontSize", 0));
+  SCM s (get_property ("fontSize", 0));
   
-  if (s.length_i ()  && s.isnum_b ())
+  if (SCM_NUMBERP(s))
     {
-      size_i_ = int (s);
+      size_i_ = gh_scm2int (s);
     }
 }
 
index 62e5d494f9e974a43f68724f832f8d64b349db70..2bc76c99309ceba781493053c755ce85c37cee9d 100644 (file)
@@ -27,10 +27,12 @@ Melisma_engraver::do_try_music (Music *m )
 {
   if (dynamic_cast<Melisma_playing_req*>(m))
     {
-      Scalar plain (get_property ("melismaBusy", 0));
-      Scalar slur (get_property ("slurMelismaBusy", 0));
-      Scalar tie (get_property ("tieMelismaBusy", 0));
-      return plain.to_bool () || slur.to_bool () || tie.to_bool ();
+      SCM plain (get_property ("melismaBusy", 0));
+      SCM slur (get_property ("slurMelismaBusy", 0));
+      SCM tie (get_property ("tieMelismaBusy", 0));
+      return (gh_boolean_p (plain) && gh_scm2bool (plain))
+       || (gh_boolean_p (slur) && gh_scm2bool (slur))
+       || (gh_boolean_p (tie) && gh_scm2bool (tie));
     }
   return false;
 }
index 81e0cb65bf43783f32d84fdf05eb366b8bd3ad6b..914a2c2ecfdefa1577e9f4757a5c861e07d5671a 100644 (file)
@@ -58,8 +58,8 @@ Rhythmic_column_engraver::process_acknowledged ()
          stem_l_ = 0;
        }
 
-
-      bool wegrace = get_property ("weAreGraceContext",0).to_bool ();
+      SCM wg = get_property ("weAreGraceContext",0);
+      bool wegrace = gh_boolean_p (wg) && gh_scm2bool (wg);
 
       if (!wegrace)
        for (int i=0; i < grace_slur_endings_.size(); i++)
@@ -71,7 +71,9 @@ Rhythmic_column_engraver::process_acknowledged ()
 void
 Rhythmic_column_engraver::acknowledge_element (Score_element_info i)
 {
-  if ((get_property ("weAreGraceContext",0).to_bool () !=
+  SCM wg = get_property ("weAreGraceContext",0);
+  bool wegrace = gh_boolean_p (wg) && gh_scm2bool (wg);
+  if ((wegrace !=
       (i.elem_l_->get_elt_property (grace_scm_sym) != SCM_BOOL_F))
     && !dynamic_cast<Slur*> (i.elem_l_))
     return ;
@@ -105,18 +107,16 @@ Rhythmic_column_engraver::do_pre_move_processing()
 {
   if (ncol_p_) 
     {
-      Scalar sh = get_property ("horizontalNoteShift", 0);
-      if (sh.isnum_b ())
+      SCM sh = get_property ("horizontalNoteShift", 0);
+      if (SCM_NUMBERP(sh))
        {
-         ncol_p_->set_elt_property (horizontal_shift_scm_sym,
-                                    gh_int2scm (int (sh)));
+         ncol_p_->set_elt_property (horizontal_shift_scm_sym, sh);
        }
 
       sh = get_property ("forceHorizontalShift" ,0);
-      if (sh.isnum_b ())
+      if (SCM_NUMBERP(sh))
        {
-         ncol_p_->set_elt_property (force_hshift_scm_sym,
-                                    gh_double2scm (double (sh)));
+         ncol_p_->set_elt_property (force_hshift_scm_sym, sh);
        }
 
       typeset_element (ncol_p_);
index 9c5749b8921ad8599432d825b27d22fdecaaf3c5..ae2dfa312e94d391637f6b7105c0eefb0d7ac057 100644 (file)
@@ -70,31 +70,32 @@ Script_engraver::do_process_requests()
       else
          ss->dir_ = (Direction)force_dir;
 
-      Scalar dir_prop (get_property ("articulationScriptVerticalDirection", 0));
-      if (dir_prop.isnum_b () && (int) dir_prop != CENTER)
-       ss->dir_ = (Direction)(int)dir_prop;
+      SCM dir_prop (get_property ("articulationScriptVerticalDirection", 0));
+      if (SCM_NUMBERP(dir_prop))
+       ss->dir_ = to_dir (dir_prop);
 
       if (l->dir_)
        ss->dir_ = l->dir_;
 
-      Real padding = 0.0;
-      Scalar paddingprop = get_property ("articulationScriptPadding", 0);
-      if (paddingprop.length_i() && paddingprop.isnum_b ())
+      SCM paddingprop = get_property ("articulationScriptPadding", 0);
+      if (SCM_NUMBERP(paddingprop))
        {
-         padding = (Real)paddingprop;
+         ss->set_elt_property (padding_scm_sym, paddingprop);
        }
 
-      Scalar axisprop = get_property ("scriptHorizontal",0);
-      if (axisprop.to_bool ())
+      SCM axisprop = get_property ("scriptHorizontal",0);
+      if (gh_boolean_p (axisprop) && gh_scm2bool (axisprop))
        ss->axis_ = X_AXIS;
 
-      if (follow_staff && !axisprop.to_bool ())
+      if (follow_staff && !gh_boolean_p (axisprop) && gh_scm2bool (axisprop))
        ss->set_elt_property (no_staff_support_scm_sym, SCM_BOOL_T);
 
       p->set_staff_side (ss);
       ss->set_elt_property (script_priority_scm_sym, priority);
-      if (padding)
-       ss->set_elt_property (padding_scm_sym, gh_double2scm(padding));
+      if (SCM_NUMBERP (paddingprop))
+       ss->set_elt_property (padding_scm_sym, paddingprop);
+  
+  
       script_p_arr_.push (p);
       staff_side_p_arr_.push (ss);
       
@@ -152,7 +153,5 @@ Script_engraver::do_post_move_processing()
   script_req_l_arr_.clear();
 }
 
-
-
 ADD_THIS_TRANSLATOR(Script_engraver);
 
index 6a3a72f05fe1f85ab9e77c19a33188b6a4d7dffc..0ac32e8d347fc1cf2b1af134a732e9a38c19eb54 100644 (file)
@@ -34,7 +34,7 @@ Slur_engraver::set_melisma (bool m)
   if (!where)
     where = daddy_trans_l_;
     
-  daddy_trans_l_->set_property ("slurMelismaBusy", m ? "1" :"0");
+  daddy_trans_l_->set_property ("slurMelismaBusy", m ? SCM_BOOL_T :SCM_BOOL_F);
 }
 
 void
@@ -58,7 +58,9 @@ Slur_engraver::do_removal_processing ()
       typeset_element (slur_l_stack_[i]);
     }
   slur_l_stack_.clear ();
-  if (!get_property ("weAreGraceContext",0).to_bool ())
+  SCM wg = get_property ("weAreGraceContext",0);
+  bool wgb = gh_boolean_p (wg) && gh_scm2bool (wgb);
+  if (!wgb)
     for (int i=0; i < requests_arr_.size(); i++)
       {
        requests_arr_[i]->warning (_ ("unterminated slur"));
@@ -89,9 +91,9 @@ Slur_engraver::do_process_requests()
          // push a new slur onto stack.
          //(use temp. array to wait for all slur STOPs)
          Slur * s_p =new Slur;
-         Scalar prop = get_property ("slurDash", 0);
-         if (prop.isnum_b ()) 
-           s_p->set_elt_property (dashed_scm_sym, gh_int2scm(prop));
+         SCM prop = get_property ("slurDash", 0);
+         if (SCM_NUMBERP(prop)) 
+           s_p->set_elt_property (dashed_scm_sym, prop);
 
          
          requests_arr_.push (slur_req_l);
@@ -106,14 +108,14 @@ Slur_engraver::do_process_requests()
 void
 Slur_engraver::do_pre_move_processing()
 {
-  Scalar dir (get_property ("slurVerticalDirection", 0));
-  Scalar dir2 (get_property ("verticalDirection", 0));
+  SCM dir (get_property ("slurVerticalDirection", 0));
+  SCM dir2 (get_property ("verticalDirection", 0));
 
   Direction slurdir = CENTER;
-  if (dir.length_i () && dir.isnum_b ())
-    slurdir = (Direction) sign (int(dir));
-  else if (dir2.length_i () && dir2.isnum_b ())
-    slurdir = (Direction) sign (int (dir2));
+  if (SCM_NUMBERP(dir))
+    slurdir = to_dir (dir);
+  else if (gh_number_p (dir2))
+    slurdir = to_dir (dir2);
   
   for (int i = 0; i < end_slur_l_arr_.size(); i++)
     {
@@ -127,7 +129,8 @@ void
 Slur_engraver::do_post_move_processing()
 {
   new_slur_req_l_arr_.clear();
-  if (get_property ("automaticMelismata",0).to_bool ())
+  SCM m = get_property ("automaticMelismata",0);
+  if (gh_boolean_p (m) && gh_scm2bool (m))
     {
       set_melisma (slur_l_stack_.size ());
     }
index b665200f35c84388ec995e939319e8b9ae95af3d..93e41b28ab3733c6b73911f1a008dff78fb7df6e 100644 (file)
@@ -34,16 +34,16 @@ Staff_symbol_engraver::do_creation_processing()
 void
 Staff_symbol_engraver::do_removal_processing()
 {
-  Scalar l (get_property ("numberOfStaffLines", 0));
-  if (l.isnum_b ())
+  SCM l (get_property ("numberOfStaffLines", 0));
+  if (SCM_NUMBERP(l))
     {
-      span_p_->no_lines_i_ = l;
+      span_p_->no_lines_i_ = gh_scm2int (l);
     }
 
-  Scalar sz (get_property ("staffLineLeading", 0));
-  if (!sz.empty_b () && sz.isnum_b ())
+  SCM sz (get_property ("staffLineLeading", 0));
+  if (SCM_NUMBERP(sz))
     {
-      span_p_->staff_line_leading_f_ = Real(sz);
+      span_p_->staff_line_leading_f_ = gh_scm2double (sz);
     }
   else
     {
index 1679e52441275bdab90ca4e37760835274188471..d48fa3925f3f0db14beaafa23a510d69a3780219 100644 (file)
@@ -28,10 +28,10 @@ Stem_engraver::Stem_engraver()
 void
 Stem_engraver::do_creation_processing ()
 {
-  Scalar prop = get_property ("abbrev", 0);
-  if (prop.isnum_b ()) 
+  SCM prop = get_property ("abbrev", 0);
+  if (SCM_NUMBERP(prop)) 
     {
-      default_abbrev_i_  = prop;
+      default_abbrev_i_  = gh_scm2int (prop);
     }
 }
 
@@ -96,38 +96,43 @@ Stem_engraver::do_pre_move_processing()
 
   if (stem_p_)
     {
-      Scalar prop = get_property ("verticalDirection", 0);
-      Direction dir = prop.isnum_b () ? (Direction)int(prop) : CENTER;
-      if (dir)
+      SCM prop = get_property ("verticalDirection", 0);
+      if (SCM_NUMBERP(prop))
        {
-         stem_p_->dir_ = dir;
+         stem_p_->dir_ = to_dir (prop);
          stem_p_->set_elt_property (dir_forced_scm_sym, SCM_BOOL_T);
        }
 
       Translator_group* which;
       prop = get_property ("stemLeftBeamCount", &which);
-      if (prop.isnum_b ())
+      if (SCM_NUMBERP(prop))
        {
-         stem_p_->beams_i_drul_[LEFT] = prop;
-         ((Translator_group*)which)->set_property ("stemLeftBeamCount", "");
+         stem_p_->beams_i_drul_[LEFT] = gh_scm2int (prop);
+         ((Translator_group*)which)->set_property ("stemLeftBeamCount", SCM_UNDEFINED);
        }
       prop = get_property ("stemRightBeamCount", &which);
-      if (prop.isnum_b ())
+      if (SCM_NUMBERP(prop))
        {
-         stem_p_->beams_i_drul_[RIGHT] = prop;
-         ((Translator_group*)which)->set_property ("stemRightBeamCount", "");
+         stem_p_->beams_i_drul_[RIGHT] = gh_scm2int (prop);
+         ((Translator_group*)which)->set_property ("stemRightBeamCount", SCM_UNDEFINED);
        }
 
       prop = get_property ("stemLength", 0);
-      if (prop.isnum_b ())
+      if (SCM_NUMBERP(prop))
        {
-         stem_p_->set_elt_property (length_scm_sym, gh_double2scm (prop.to_f ()));
+         stem_p_->set_elt_property (length_scm_sym, prop);
        }
 
       prop = get_property ("stemStyle", 0);
-      if (prop.to_bool ())
+      if (gh_string_p (prop))
        {
-         stem_p_->set_elt_property (style_scm_sym, ly_ch_C_to_scm (prop.ch_C()));
+         stem_p_->set_elt_property (style_scm_sym, prop);
+       }
+      
+      prop = get_property ("noStemExtend", 0);
+      if (gh_boolean_p (prop) && gh_scm2bool (prop))
+       {
+         stem_p_->set_elt_property (no_stem_extend_scm_sym, prop);
        }
       
       typeset_element(stem_p_);
index 1d652e935e618aba1c68bfde772547072bd8773e..9ecc46f43402a598e2565f94702b2014ca585dd7 100644 (file)
@@ -83,8 +83,8 @@ Text_engraver::do_process_requests ()
 
 
 
-      Scalar axisprop = get_property ("scriptHorizontal",0);
-      if (axisprop.to_bool ())
+      SCM axisprop = get_property ("scriptHorizontal",0);
+      if (gh_boolean_p (axisprop) && gh_scm2bool (axisprop))
        {
          ss->axis_ = X_AXIS;
          text->set_parent (ss, Y_AXIS);
@@ -100,21 +100,21 @@ Text_engraver::do_process_requests ()
       
       if (r->style_str_.empty_b ())
        {
-         Scalar p (get_property ("textStyle", 0));
-         if (p.length_i ())
-           text->style_str_ = p;
+         SCM p (get_property ("textStyle", 0));
+         if (gh_string_p (p))
+           text->style_str_ = ly_scm2string(p);
        }
       else
        text->style_str_ = r->style_str_;
       
-      Scalar padding = get_property ("textScriptPadding", 0);
-      if (padding.length_i() && padding.isnum_b ())
+      SCM padding = get_property ("textScriptPadding", 0);
+      if (SCM_NUMBERP(padding))
        {
-         ss->set_elt_property (padding_scm_sym, gh_double2scm(Real(padding)));
+         ss->set_elt_property (padding_scm_sym, padding);
        }
 
-      Scalar empty = get_property ("textEmptyDimension", 0);
-      if (empty.to_bool ())
+      SCM empty = get_property ("textEmptyDimension", 0);
+      if (gh_boolean_p (empty) && gh_scm2bool (empty))
        {
          text->set_empty (true, X_AXIS);
        }
index 92db7ee737387df5646a935d5127c23f979eb289..82ab9dc0be63c7e1f4569088eac10ca0861239a3 100644 (file)
@@ -94,14 +94,12 @@ Timing_translator::do_process_requests()
 
   Translator_group * tr=0;
 
-  Scalar barn = get_property ("currentBarNumber", &tr);
-  if (!barn.empty_b () && barn.isnum_b ())
+  SCM barn = get_property ("currentBarNumber", &tr);
+  if (SCM_NUMBERP(barn))
     {
-      time_.bars_i_ = int(barn);
-      tr->set_property ("currentBarNumber", "");
+      time_.bars_i_ = gh_scm2int (barn);
+      tr->set_property ("currentBarNumber", SCM_UNDEFINED);
     }
-  
-
 }
 
 
@@ -119,7 +117,8 @@ Timing_translator::do_pre_move_processing()
   while (!global_l);
 
   /* allbars == ! skipbars */
-  bool allbars = ! get_property ("skipBars", 0).to_bool ();
+  SCM sb = get_property ("skipBars", 0);
+  bool allbars = !(gh_boolean_p (sb)&&gh_scm2bool (sb));
 
   // urg: multi bar rests: should always process whole of first bar?
   if (!time_.cadenza_b_ && allbars)
index 9614f5b359f0e87139798111a37f879472be2537..2497fd4f59cc98d5b056c6b73870417f3be96fe3 100644 (file)
@@ -32,22 +32,22 @@ Vertical_align_engraver::do_creation_processing()
 void
 Vertical_align_engraver::do_removal_processing()
 {
-  Scalar dist (get_property ("maxVerticalAlign", 0));
-  if (dist.length_i () && dist.isnum_b ())
+  SCM dist (get_property ("maxVerticalAlign", 0));
+  if (SCM_NUMBERP(dist))
     {
-      valign_p_->threshold_interval_[BIGGER]  = Real (dist);
+      valign_p_->threshold_interval_[BIGGER]  = gh_scm2double (dist);
     }
 
   dist = get_property ("minVerticalAlign", 0);
-  if (dist.length_i () && dist.isnum_b ())
+  if (SCM_NUMBERP(dist))
     {
-      valign_p_->threshold_interval_[SMALLER]  = Real (dist);
+      valign_p_->threshold_interval_[SMALLER]  = gh_scm2double (dist);
     }
 
   dist = get_property ("alignmentReference",0);
-  if (dist.length_i () && dist.isnum_b ())
+  if (isdir_b (dist))
     {
-      valign_p_->align_dir_ = (Direction)(int)dist;
+      valign_p_->align_dir_ = to_dir (dist);
     }
   valign_p_->set_bounds(RIGHT,get_staff_info().command_pcol_l ());
   typeset_element (valign_p_);