]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/lily-guile.cc
* Documentation/user/refman.itely (Automatic note splitting):
[lilypond.git] / lily / lily-guile.cc
index a7c8b58919ee7badfc53bd63077f245120943569..5c726793cb55116e30889ad8cf0364e61713a9d9 100644 (file)
@@ -253,6 +253,13 @@ ly_scm2interval (SCM p)
                    gh_scm2double (ly_cdr (p)));
 }
 
+Drul_array<Real>
+ly_scm2realdrul (SCM p)
+{
+  return  Drul_array<Real> (gh_scm2double (ly_car (p)),
+                           gh_scm2double (ly_cdr (p)));
+}
+
 SCM
 ly_interval2scm (Drul_array<Real> i)
 {
@@ -761,3 +768,20 @@ robust_scm2int (SCM k, int o)
 
   return o;
 }
+
+
+SCM
+alist_to_hashq (SCM alist)
+{
+  int i = scm_ilength (alist);
+  if (i < 0)
+    return scm_make_vector (gh_int2scm (0), SCM_EOL);
+         
+  SCM tab = scm_make_vector (gh_int2scm (i), SCM_EOL);
+  for (SCM s = alist; gh_pair_p (s); s = ly_cdr (s))
+    {
+      SCM pt = ly_cdar (s);
+      scm_hashq_set_x (tab, ly_caar (s), pt);
+    }
+  return tab; 
+}