See http://lists.gnu.org/archive/html/bug-lilypond/2005-09/msg00125.html
for a somewhat related question.
/Mats
Peter Hays wrote:
Han-Wen Nienhuys wrote:
If you don't want to format bar numbers, then what are you looking for?
Good question. Sorry I didn't just state that up front.
I want to put multiple Rehearsal Marks over selective bars.
Specifically, I want to put a bar 'letter' and a bar 'number' over a
bar, using some form of a '\mark' statement. Ideally, I would like the
letter in a circled and the number boxed. My understanding, and my
observation, is that multiple \mark statements can nat be applied to the
same bar. Only the last statement is evaluated. I have seen other
threads to this effect. It would be great if I was wrong.
So far, the closest I have come is combining the following:
1. "\set Score.markFormatter = #(...currentBarNumber)" to box the numbers
2. "\override Score.TextScript #'print-function = ..." to circle the
letters
3. Override the RehearslaMark font size (small) and the TextScript font
size (large)
4. Use a '\mark \default' statement at measure position 0 place the bar
number
5. Use '\override #extra-offse () to move the following TextScript over
the previous bar number
5. Use a 'c^A' to place an explicit letter over the bar number.
6 Change 'TextScript' to 'MultiMeasureRestText' if the first note is a
multi-measure-rest. "R4*2^A"
(A)
[33]
------|------
------|------
------|------
------|------
------|------
Some bars only get bar numbers, not all TextScripts need to be circled,
and so each instance of my letter-number RehearsalMark requires several
overrides.
I was looking for a way to include some expression in a '\mark
\markup{....}' statement that would combine as many of theses elements
as possible. The letter does not need to be circled, and the letter
itself can be specified explicitly.
It seems it can be done.
a.) I can combine text and a symbol (coda) in a 'mark \markup' argument,
and arrange them in a column.
b.) I can explicitly include currentBarNumber (with a box!) in a '\mark'
statement:
\mark #(lambda (mark context)
(make-box-markup (number->string (ly:context-property
context 'currentBarNumber))))
Unfortunately, b. does NOT work as a '\mark \markup' statement:
\mark \markup #(lambda (mark context)
(make-box-markup (number->string (ly:context-property
context 'currentBarNumber))))
Th error is "\mark format expected"
If c. worked, I could combine a letter with the boxed number, and
arrange in a column.
\mark \markup {\col {\huge A} {#(lambda...'currentBarNumber)}}
I feel I am close, but really don't know what I'm doing. I got b. to
work just by trial and error.
Thanks again.
Peter
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user
--
=============================================
Mats Bengtsson
Signal Processing
Signals, Sensors and Systems
Royal Institute of Technology
SE-100 44 STOCKHOLM
Sweden
Phone: (+46) 8 790 8463
Fax: (+46) 8 790 7260
Email: [EMAIL PROTECTED]
WWW: http://www.s3.kth.se/~mabe
=============================================
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user