From: fred Date: Wed, 27 Mar 2002 00:56:39 +0000 (+0000) Subject: lilypond-1.3.133 X-Git-Tag: release/1.5.59~902 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=f088937ec1167e7feb6b7c4c8281588fb69baac3;p=lilypond.git lilypond-1.3.133 --- diff --git a/lily/include/note-head.hh b/lily/include/note-head.hh index 9c77a23955..04283267e7 100644 --- a/lily/include/note-head.hh +++ b/lily/include/note-head.hh @@ -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 diff --git a/lily/note-head.cc b/lily/note-head.cc index c536b0f8ce..0ccd6dd981 100644 --- a/lily/note-head.cc +++ b/lily/note-head.cc @@ -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 (); +} diff --git a/scm/tex.scm b/scm/tex.scm index 7da4ad9a04..499b2efdd3 100644 --- a/scm/tex.scm +++ b/scm/tex.scm @@ -6,6 +6,10 @@ ;;; Han-Wen Nienhuys + +;; +;; 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 "}")) @@ -210,6 +216,7 @@ (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)