]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.3.133
authorfred <fred>
Wed, 27 Mar 2002 00:56:39 +0000 (00:56 +0000)
committerfred <fred>
Wed, 27 Mar 2002 00:56:39 +0000 (00:56 +0000)
lily/include/note-head.hh
lily/note-head.cc
scm/tex.scm

index 9c77a239557e1343dba843e1b7bd34edb2c1fffc..04283267e71cd347ab93d3a2017d6f96f57d0640 100644 (file)
@@ -22,7 +22,9 @@ class Note_head
 public:
   DECLARE_SCHEME_CALLBACK(brew_molecule, (SCM ));
   static Molecule ledger_line (Interval, Grob*) ;
+  DECLARE_SCHEME_CALLBACK(brew_ez_molecule, (SCM ));
   static bool has_interface (Grob*);
+  
 };
 #endif // NOTEHEAD_HH
 
index c536b0f8cec9d6689a6d01f8a04cc8e5156b910c..0ccd6dd9811750dbca42c0d467e4f506a5384bff 100644 (file)
@@ -110,3 +110,24 @@ Note_head::has_interface (Grob*m)
 {
   return m&& m->has_interface (ly_symbol2scm ("note-head-interface"));
 }
+
+
+MAKE_SCHEME_CALLBACK(Note_head,brew_ez_molecule,1);
+
+SCM
+Note_head::brew_ez_molecule (SCM smob)
+{
+  Grob *me = unsmob_grob (smob);
+  int l = gh_scm2int (me->get_grob_property ("duration-log"));
+
+  int b = (l >= 2);
+  SCM at = gh_list (ly_symbol2scm ("ez-ball"),
+                   me->get_grob_property ("note-character"),
+                   gh_int2scm (b),
+                   gh_int2scm (1-b),
+                   SCM_UNDEFINED);
+  Box bx (Interval (0, 1.0), Interval (-0.5, 0.5));
+  Molecule m (bx, at);
+
+  return m.smobbed_copy ();
+}
index 7da4ad9a04929bc86b2524bac916563b0011d941..499b2efdd3545d1486ffe259189896a51669e686 100644 (file)
@@ -6,6 +6,10 @@
 ;;; Han-Wen Nienhuys <hanwen@cs.uu.nl>
 
 
+
+;;
+;; todo: this dispatch is totally LAME
 (define (tex-scm action-name)
   (define (unknown) 
     "%\n\\unknown%\n")
@@ -63,6 +67,8 @@
      (number->string (inexact->exact (* 1000  (cdr name-mag))))
      "\n"))
 
+  (define (ez-ball c l b)
+    (embedded-ps ((ps-scm 'ez-ball) c  l b)))
   (define (embedded-ps s)
     (string-append "\\embeddedps{" s "}"))
 
            (define font-switch ,font-switch)
            (define header-end ,header-end)
            (define lily-def ,lily-def)
+           (define ez-ball ,ez-ball)
            (define header ,header) 
            (define invoke-char ,invoke-char) 
            (define invoke-dim1 ,invoke-dim1)