On Wed, Feb 05, 2014 at 09:17:53PM -0800, Matthew wrote: > Not wanting to type a long \override command in every staff I want a caesura, > I > tried defining a command to shorten things for me :) . This is what I've tried > so far: > > caesura = { > \override BreathingSign.text = \markup { \musicglyph > #"scripts.caesura.straight" } > \breathe > \override BreathingSign.text = \markup { \musicglyph #"scripts.rcomma" } > } > > As you might guess, it doesn't work. Specifically, the breathe mark that > appears > is an rcomma, which also happens when I inline this. I guess this is because I > need another note to appear before the next override. It works if I remove the > rcomma override, though I'd like to "un-override" BreathingSign.text within > the > command. > > My question is, is there a way to accomplish this? Some way to make that > command > there take the next note as a parameter? I realize I could come up with an > \uncaesura command, though I'd rather keep this to one command if possible. I > wouldn't be surprised if a proper Scheme function will be needed to this, > actually.
Here's what I use: caesuraOn = \override BreathingSign #'text = #(make-musicglyph-markup "scripts.caesura.straight") caesuraOff = \revert BreathingSign #'text caesura = { \once \caesuraOn \revert BreathingSign #'Y-offset \breathe } breath = { \caesuraOff \override BreathingSign #'Y-offset = #5 \breathe } I then use \caesura or \breath where I need them. HTH Paul Scott _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user