CVSROOT:        /cvsroot/lilypond
Module name:    lilypond
Branch:         
Changes by:     Han-Wen Nienhuys <[EMAIL PROTECTED]>    05/04/27 09:12:33

Modified files:
        .              : ChangeLog 
        lily           : all-font-metrics.cc beaming-info.cc 
                         font-select.cc general-scheme.cc lily-guile.cc 
                         main.cc pango-select.cc 
        scm            : define-grobs.scm 

Log message:
        * lily/lily-guile.cc (ly_chain_assoc): remove.
        
        * lily/general-scheme.cc (LY_DEFINE): export ly:chain_assoc_get
        (LY_DEFINE): recurse, iso. calling ly_chain_assoc.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/ChangeLog.diff?tr1=1.3508&tr2=1.3509&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/all-font-metrics.cc.diff?tr1=1.87&tr2=1.88&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/beaming-info.cc.diff?tr1=1.18&tr2=1.19&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/font-select.cc.diff?tr1=1.43&tr2=1.44&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/general-scheme.cc.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/lily-guile.cc.diff?tr1=1.210&tr2=1.211&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/main.cc.diff?tr1=1.241&tr2=1.242&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/lily/pango-select.cc.diff?tr1=1.15&tr2=1.16&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/lilypond/lilypond/scm/define-grobs.scm.diff?tr1=1.192&tr2=1.193&r1=text&r2=text

Patches:
Index: lilypond/ChangeLog
diff -u lilypond/ChangeLog:1.3508 lilypond/ChangeLog:1.3509
--- lilypond/ChangeLog:1.3508   Tue Apr 26 14:04:15 2005
+++ lilypond/ChangeLog  Wed Apr 27 09:12:29 2005
@@ -1,5 +1,14 @@
+2005-04-27  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
+
+       * lily/lily-guile.cc (ly_chain_assoc): remove.
+
+       * lily/general-scheme.cc (LY_DEFINE): export ly:chain_assoc_get
+       (LY_DEFINE): recurse, iso. calling ly_chain_assoc.
+
 2005-04-26  Han-Wen Nienhuys  <[EMAIL PROTECTED]>
 
+       * lily/beaming-info.cc: remove infinity_i
+
        * scripts/abc2ly.py (out_filename): fix thinko with \version.
 
 2005-04-26  Graham Percival  <[EMAIL PROTECTED]>
Index: lilypond/lily/all-font-metrics.cc
diff -u lilypond/lily/all-font-metrics.cc:1.87 
lilypond/lily/all-font-metrics.cc:1.88
--- lilypond/lily/all-font-metrics.cc:1.87      Tue Apr 26 14:04:15 2005
+++ lilypond/lily/all-font-metrics.cc   Wed Apr 27 09:12:33 2005
@@ -74,7 +74,8 @@
   SCM val;
   if (!pango_dict_->try_retrieve (key, &val))
     {
-      progress_indication ("[" + String (pango_fn));
+      if (be_verbose_global)
+       progress_indication ("[" + String (pango_fn));
       
       Pango_font *pf = new Pango_font (pango_ft2_fontmap_,
                                       RIGHT,
Index: lilypond/lily/beaming-info.cc
diff -u lilypond/lily/beaming-info.cc:1.18 lilypond/lily/beaming-info.cc:1.19
--- lilypond/lily/beaming-info.cc:1.18  Wed Mar 16 19:19:15 2005
+++ lilypond/lily/beaming-info.cc       Wed Apr 27 09:12:33 2005
@@ -22,13 +22,12 @@
   beams_i_drul_[RIGHT] = i;
 }
 
-const int infinity_i = INT_MAX;        // guh.
-const int at_beat = 1<<15;
+const int at_beat = 1 << 15;
 
 int
 Beaming_info_list::best_splitpoint_index (Moment &beat_length, bool subdivide) 
const
 {
-  int minden = infinity_i;
+  int minden = INT_MAX;        
   int minidx = -1;
   Moment beat_pos;
 
Index: lilypond/lily/font-select.cc
diff -u lilypond/lily/font-select.cc:1.43 lilypond/lily/font-select.cc:1.44
--- lilypond/lily/font-select.cc:1.43   Thu Mar 10 14:36:13 2005
+++ lilypond/lily/font-select.cc        Wed Apr 27 09:12:33 2005
@@ -102,15 +102,13 @@
 Font_metric *
 select_encoded_font (Output_def *layout, SCM chain)
 {
-  SCM name = ly_chain_assoc (ly_symbol2scm ("font-name"), chain);
+  SCM name = ly_chain_assoc_get (ly_symbol2scm ("font-name"), chain, 
SCM_BOOL_F);
 
-  if (!scm_is_pair (name) || !scm_is_string (scm_cdr (name)))
+  if (!scm_is_string (name))
     {
       SCM fonts = layout->lookup_variable (ly_symbol2scm ("fonts"));
       name = properties_to_font_size_family (fonts, chain);
     }
-  else
-    name = scm_cdr (name);
 
 #if HAVE_PANGO_FT2
   if (scm_is_string (name)
@@ -122,10 +120,9 @@
 #endif
     if (scm_is_string (name))
       {
-       SCM mag = ly_chain_assoc (ly_symbol2scm ("font-magnification"), chain);
-       Real rmag = (scm_is_pair (mag)
-                    ? robust_scm2double (scm_cdr (mag), 1.0)
-                    : 1);
+       Real rmag =
+         robust_scm2double (ly_chain_assoc_get (ly_symbol2scm 
("font-magnification"), chain, SCM_BOOL_F),
+                            1.0);
        Font_metric *fm = all_fonts_global->find_font (ly_scm2string (name));
 
        return find_scaled_font (layout, fm, rmag);
@@ -135,11 +132,9 @@
        SCM base_size = scm_slot_ref (name, ly_symbol2scm ("default-size"));
        SCM vec = scm_slot_ref (name, ly_symbol2scm ("size-vector"));
 
-       SCM font_size = ly_chain_assoc (ly_symbol2scm ("font-size"), chain);
-       Real req = 0;
-       if (scm_is_pair (font_size))
-         req = scm_to_double (scm_cdr (font_size));
-
+       Real req = robust_scm2double (ly_chain_assoc_get (ly_symbol2scm 
("font-size"), chain, SCM_BOOL_F),
+                                     0.0);
+       
        return get_font_by_mag_step (layout, req, vec,
                                     scm_to_double (base_size));
       }
Index: lilypond/lily/general-scheme.cc
diff -u lilypond/lily/general-scheme.cc:1.16 
lilypond/lily/general-scheme.cc:1.17
--- lilypond/lily/general-scheme.cc:1.16        Tue Apr 12 22:49:28 2005
+++ lilypond/lily/general-scheme.cc     Wed Apr 27 09:12:33 2005
@@ -271,3 +271,20 @@
 }
 
 
+
+LY_DEFINE (ly_chain_assoc_get, "ly:chain-assoc-get",
+          2, 1, 0, (SCM key, SCM achain, SCM dfault),
+          "Return value for @var{key} from a list of alists @var{achain}. 
Return @var{dfault} "
+          "if no entry is found, or #f if not specified. ")
+{
+  if (scm_is_pair (achain))
+    {
+      SCM handle = scm_assoc (key, scm_car (achain));
+      if (scm_is_pair (handle))
+       return scm_cdr (handle);
+      else
+       return ly_chain_assoc_get (key, scm_cdr (achain), dfault);
+    }
+  else
+    return dfault == SCM_UNDEFINED ? SCM_BOOL_F : dfault;
+}
Index: lilypond/lily/lily-guile.cc
diff -u lilypond/lily/lily-guile.cc:1.210 lilypond/lily/lily-guile.cc:1.211
--- lilypond/lily/lily-guile.cc:1.210   Tue Apr 12 22:49:28 2005
+++ lilypond/lily/lily-guile.cc Wed Apr 27 09:12:33 2005
@@ -325,35 +325,7 @@
   return src;
 }
 
-SCM
-ly_chain_assoc_get (SCM key, SCM achain, SCM dfault)
-{
-  if (scm_is_pair (achain))
-    {
-      SCM handle = scm_assoc (key, scm_car (achain));
-      if (scm_is_pair (handle))
-       return scm_cdr (handle);
-      else
-       return ly_chain_assoc (key, scm_cdr (achain));
-    }
-  else
-    return dfault;
-}
 
-SCM
-ly_chain_assoc (SCM key, SCM achain)
-{
-  if (scm_is_pair (achain))
-    {
-      SCM handle = scm_assoc (key, scm_car (achain));
-      if (scm_is_pair (handle))
-       return handle;
-      else
-       return ly_chain_assoc (key, scm_cdr (achain));
-    }
-  else
-    return SCM_BOOL_F;
-}
 
 /* looks the key up in the cdrs of the alist-keys
    - ignoring the car and ignoring non-pair keys.
Index: lilypond/lily/main.cc
diff -u lilypond/lily/main.cc:1.241 lilypond/lily/main.cc:1.242
--- lilypond/lily/main.cc:1.241 Tue Apr 12 22:49:28 2005
+++ lilypond/lily/main.cc       Wed Apr 27 09:12:33 2005
@@ -133,6 +133,10 @@
 static Long_option_init options_static[]
 = {
   {_i ("BACK"), "backend", 'b', _i ("use backend BACK (gnome, ps [default],\n  
                                     scm, svg, tex, texstr)")},
+
+  {_i ("SYM=VAL"), "define-default", 'd',
+   _i ("define a default Scheme setting.")},
+
   {_i ("EXPR"), "evaluate", 'e', _i ("set scheme option, for help use\n        
                               -e '(ly:option-usage)'")},
   /* Bug in option parser: --output =foe is taken as an abbreviation
      for --output-format.  */
@@ -473,6 +477,10 @@
            make_print = false;
          break;
 
+       case 'd':
+         
+         break;
+         
        case 'v':
          notice ();
          exit (0);
Index: lilypond/lily/pango-select.cc
diff -u lilypond/lily/pango-select.cc:1.15 lilypond/lily/pango-select.cc:1.16
--- lilypond/lily/pango-select.cc:1.15  Wed Apr 13 14:41:27 2005
+++ lilypond/lily/pango-select.cc       Wed Apr 27 09:12:33 2005
@@ -15,12 +15,12 @@
 PangoFontDescription *
 properties_to_pango_description (SCM chain, Real text_size)
 {
-  SCM name = ly_chain_assoc (ly_symbol2scm ("font-name"), chain);
+  SCM name = ly_chain_assoc_get (ly_symbol2scm ("font-name"), chain, 
SCM_BOOL_F);
 
   PangoFontDescription *description = 0;
-  if (scm_is_pair (name) && scm_is_string (scm_cdr (name)))
+  if (scm_is_string (name))
     {
-      String name_str = ly_scm2string (scm_cdr (name));
+      String name_str = ly_scm2string (name);
       description = pango_font_description_from_string (name_str.to_str0 ());
     }
   else
Index: lilypond/scm/define-grobs.scm
diff -u lilypond/scm/define-grobs.scm:1.192 lilypond/scm/define-grobs.scm:1.193
--- lilypond/scm/define-grobs.scm:1.192 Thu Apr 21 15:59:44 2005
+++ lilypond/scm/define-grobs.scm       Wed Apr 27 09:12:33 2005
@@ -508,6 +508,9 @@
      . (
        (print-function . ,Grid_line_interface::print)
        (X-extent-callback  . ,Grid_line_interface::width_callback)
+       (self-alignment-X . ,CENTER)
+       (X-offset-callbacks . (,Self_alignment_interface::aligned_on_self
+                              ,Self_alignment_interface::centered_on_parent))
        (layer . 0)
        (meta . ((interfaces . (grid-line-interface)))
        )))


_______________________________________________
Lilypond-cvs mailing list
Lilypond-cvs@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-cvs

Reply via email to