From 735026d657b67d55f986d2758ccba1076dd5cbff Mon Sep 17 00:00:00 2001 From: Nicolas Sceaux Date: Fri, 28 Aug 2015 18:46:06 +0200 Subject: [PATCH] more \clef commands --- common/clef-key.ily | 21 ++++++++++++++------- common/music-commands.ily | 9 ++++++++- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/common/clef-key.ily b/common/clef-key.ily index b40ac437..f1883299 100644 --- a/common/clef-key.ily +++ b/common/clef-key.ily @@ -236,6 +236,15 @@ keys = %%%%%%%%%%%%%%%% %%% print the ancient clef and the modern clef (side by side) +#(set-object-property! 'orig-glyph + 'backend-type? string?) +#(set-object-property! 'orig-glyph + 'backend-doc "Original clef glyph") +#(set-object-property! 'orig-clef-position + 'backend-type? number?) +#(set-object-property! 'orig-clef-position + 'backend-doc "Original clef position") + clefWithOriginal = #(define-music-function (parser location clef-name) (string?) (let* ((match (string-match "^(.*)/(.*)$" clef-name)) @@ -246,17 +255,15 @@ clefWithOriginal = (modern-clef (cond (match (match:substring match 2)) (clefs (symbol->string (cddr clefs))) (else clef-name)))) - (if (eqv? #t (ly:get-option 'ancient-style)) - ;; ancient clef only - (make-clef-set ancient-clef) - ;; ancient clef + modern clef + (if (symbol? (*part*)) + ;; part: modern clef only + (make-clef-set modern-clef) (let ((clef-def (assoc ancient-clef supported-clefs))) (if (not (pair? clef-def)) (ly:error "~a is not a supported clef" ancient-clef)) (let ((glyph (cadr clef-def)) (position (caddr clef-def))) - #{ -\set Staff.forceClef = ##t + #{ \set Staff.forceClef = ##t \once\override Staff.Clef.orig-glyph = #glyph \once\override Staff.Clef.orig-clef-position = #position \once\override Staff.Clef.stencil = #print-clef-with-original-clef @@ -264,7 +271,7 @@ clefWithOriginal = \once\override Staff.ClefModifier.X-offset = #clef-modifier-with-original-clef-x-offset $(make-clef-set modern-clef) - #}))))) + #}))))) #(define (original-clef-stencil clef) (ly:stencil-translate-axis diff --git a/common/music-commands.ily b/common/music-commands.ily index 2f808575..8220315d 100644 --- a/common/music-commands.ily +++ b/common/music-commands.ily @@ -104,9 +104,16 @@ Then, use: %% Force clef printing, with full size forceFullClef = { \set Staff.forceClef = ##t - \override Staff.Clef #'full-size-change = ##t + \once\override Staff.Clef #'full-size-change = ##t } +ffclef = +#(define-music-function (parser location type) (string?) + #{ \set Staff.forceClef = ##t + \once\override Staff.Clef #'full-size-change = ##t + $(make-clef-set type) #}) + + %% Print clef in full size fullClef = \override Staff.Clef #'full-size-change = ##t -- 2.11.4.GIT