Mon, 24 Nov 2003 22:10:39 -0800, Guy a dit : > I'm trying to typeset music for classical guitar for which I need > to be able to produce the barre > symbol. I've managed to acheive the desired output with text > spanners via the code:
> \property Voice.TextSpanner \set #'edge-text = #'("C II " . "") > \property Voice.TextSpanner \set #'direction = #1 > \property Voice.TextSpanner \set #'style = #'line > \property Voice.TextSpanner \set #'edge-height = #'(0 . 0.5) > \property Voice.TextSpanner \set #'padding = #1 > \property Voice.TextSpanner \set #'enclose-bounds = ##t > c''\startTextSpan ..... \stopTextSpan > I'de like to define this as a pair of commands. The first would be > \statBarre which would take as > a parameter the barre position, say \startBarre "IV". The position > has to be concatinated with the > "C" symbol and replaced as the first parameter in the edge-text > property. The second command > is a simple \stopBarre which I think I can do by just defining: > stopBarre = \stopTextSpan. > Thanks. Supposing one is using the extra lib[1] that I mentionned in a reply to Paul Scott, here what it could look like : ------------------------------------------------------------ #(use-modules (ice-9 optargs) (srfi srfi-13) (lilypond music)) #(define (barre str) (ly:export (mus:seq (mus:context-override Voice TextSpanner edge-text (cons (string-concatenate (list "C " str)) "") #:once #t) (mus:context-override Voice TextSpanner direction 1 #:once #t) (mus:context-override Voice TextSpanner style 'line #:once #t) (mus:context-override Voice TextSpanner edge-height '(0 . 0.5) #:once #t) (mus:context-override Voice TextSpanner padding 1 #:once #t) (mus:context-override Voice TextSpanner enclose-bounds #t #:once #t)))) \score { \notes { c' c'#(barre "II") c'\startTextSpan c'\stopTextSpan c' c'#(barre "IV") c'\startTextSpan c'\stopTextSpan }} ------------------------------------------------------------ I don't think that it is possible to put property overrides between the note and the span event, that's why the `barre' function only sets the properties. [1] http://nicolas.sceaux.free.fr/schemingly/scheme-hacks.html Regards, nicolas _______________________________________________ Lilypond-user mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/lilypond-user