From 1c7d69054c714effb052f279d1f0919cc482b244 Mon Sep 17 00:00:00 2001 From: hanwen Date: Sun, 14 Sep 2003 14:38:20 +0000 Subject: [PATCH] * input/test/time-signature-double.ly: use markups for double time sigs. * scm/new-markup.scm (strut-markup): change calling interface for markup. Pass paper-def, not grob. This would \markup to be used separately from grobs. --- ChangeLog | 3 ++ input/test/time-signature-double.ly | 53 +++++++++++------------------ lily/grob-scheme.cc | 21 ++---------- scm/define-grobs.scm | 2 ++ scm/new-markup.scm | 1 - 5 files changed, 27 insertions(+), 53 deletions(-) diff --git a/ChangeLog b/ChangeLog index 333324b916..cf91d26763 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2003-09-14 Han-Wen Nienhuys + * input/test/time-signature-double.ly: use markups for double time + sigs. + * scm/chord-name.scm: remove new-chord-name-brew-molecule ; use ChordNames.SeparationItem #'padding for adjusting space after chords. diff --git a/input/test/time-signature-double.ly b/input/test/time-signature-double.ly index c2186c4cf2..dd89d97dbd 100644 --- a/input/test/time-signature-double.ly +++ b/input/test/time-signature-double.ly @@ -1,45 +1,32 @@ \version "1.9.4" -\header { texidoc= "@cindex Time Signature Double -Double time signatures are not supported -explicitly, but can be faked by overriding formatting routines. " -} +\header { texidoc= " +@cindex Double time signature +@cindex markup +@cindex Time signature, double. -#(define (brew-double-time-sig grob) - (define (frac-to-mol font frac) - (let* - ((d (fontify-text font (number->string (cdr frac)))) - (n (fontify-text font (number->string (car frac)))) - (c (ly:molecule-combine-at-edge d Y UP n 0.0)) ) - (ly:molecule-align-to! c Y CENTER) - c - )) - - (let* - - ((chain (Font_interface::get_property_alist_chain grob)) - (font (ly:paper-get-font (ly:grob-get-paper grob) chain)) - (f1 '(6 . 4)) - (musfont (ly:paper-get-font (ly:grob-get-paper grob) (cons (list '(font-relative-size . 2) '(font-family . music)) chain))) - (plus (ly:molecule-translate-axis (ly:find-glyph-by-name musfont "scripts-stopped") 0.1 Y)) - (f2 '(3 . 2)) - (m1 (frac-to-mol font f1)) - (m2 (frac-to-mol font f2)) ) - - - (ly:molecule-combine-at-edge - (ly:molecule-combine-at-edge m1 X RIGHT plus 0.2) - X RIGHT m2 0.2) - - ) -) +Double time +signatures are not supported explicitly, but can be faked with markups +and overriding formatting routines. " } + +tsMarkup = +\markup { + \number { + \column < "6" "4" > + \musicglyph #"scripts-stopped" + \bracket \column < "3" "2" > + }} + \score { \notes \relative c' { - \property Staff.TimeSignature \override #'molecule-callback = #brew-double-time-sig + \property Staff.TimeSignature \override #'molecule-callback = #Text_item::brew_molecule + \property Staff.TimeSignature \override #'text = #tsMarkup + + \time 3/2 c2 c c diff --git a/lily/grob-scheme.cc b/lily/grob-scheme.cc index a4cb06249c..54015197ee 100644 --- a/lily/grob-scheme.cc +++ b/lily/grob-scheme.cc @@ -118,8 +118,7 @@ LY_DEFINE (ly_get_parent, "ly:get-parent", 2, 0, 0, (SCM grob, SCM axis), return par ? par->self_scm () : SCM_EOL; } -/* ly prefix? */ -LY_DEFINE (get_system, +LY_DEFINE (ly_get_system, "ly:get-system", 1, 0, 0, (SCM grob), "Return the System Grob of @var{grob}.") @@ -133,8 +132,7 @@ LY_DEFINE (get_system, return SCM_EOL; } -/* ly prefix? */ -LY_DEFINE (get_original, +LY_DEFINE (ly_get_original, "ly:get-original", 1, 0, 0, (SCM grob), "Return the original Grob of @var{grob}") @@ -164,18 +162,3 @@ LY_DEFINE (get_broken_into, } - -LY_DEFINE(ly_property_alist_chain, "ly:grob-property-chain", - 1,1,0, - (SCM grob, SCM defaults), - "Return all the properties of @code{grob}. Glue @var{defaults} at the end of the chain.") -{ - Grob * g = unsmob_grob (grob); - SCM_ASSERT_TYPE(g, grob, SCM_ARG1, __FUNCTION__, "grob"); - - if (defaults == SCM_UNDEFINED) - defaults = SCM_EOL; - - SCM ch = g->get_property_alist_chain (defaults); - return ch; -} diff --git a/scm/define-grobs.scm b/scm/define-grobs.scm index 10d9d597ed..12887a80bd 100644 --- a/scm/define-grobs.scm +++ b/scm/define-grobs.scm @@ -1134,6 +1134,7 @@ (TimeSignature . ( (molecule-callback . ,Time_signature::brew_molecule) +; (molecule-callback . ,Text_item::brew_molecule) (break-align-symbol . time-signature) (break-visibility . ,all-visible) (space-alist . ( @@ -1143,6 +1144,7 @@ )) (breakable . #t) (style . C) +; (text . (,time-signature-glue-markup)) (font-family . number) (meta . ((interfaces . (time-signature-interface break-aligned-interface font-interface item-interface )))) )) diff --git a/scm/new-markup.scm b/scm/new-markup.scm index 1e585aa7ba..238dd8e05a 100644 --- a/scm/new-markup.scm +++ b/scm/new-markup.scm @@ -450,7 +450,6 @@ for DIR, you can obtain longer or shorter stems." (ly:molecule-set-extent! m 0 '(1000 . -1000)) m)) - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -- 2.39.5