Re: Concatenating markup fragments in a function
Ideal! Andrew On Tue, 17 Sep 2019 at 23:33, Aaron Hill wrote: > Would this work for you? > > ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Drinking song symbols
At 22:01 17/09/2019 +0200, Karl Hammar wrote: ... I made a little wineglass symbol where in the song you are to take a drink, as in bar 14 in: http://aspodata.se/choir/ud/k%C3%A4y_metsolan_halki/k%C3%A4y_metsolan_halki.pdf ... The first basses won't get much drinking done during a vivace crotchet, especially as they have to squeeze a breath in as well! Why do the other voices get five times as long to get tipsy? I think we should be told ... Brian Barker ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
drinking song symbols
As an idea a saw somewhere, I made a little wineglass symbol where in the song you are to take a drink, as in bar 14 in: http://aspodata.se/choir/ud/k%C3%A4y_metsolan_halki/k%C3%A4y_metsolan_halki.pdf source code in http://aspodata.se/git/musik/Eduard_Hermes/k%C3%A4y_metsolan_halki/ Perhaps someone would be interested in improving the design, currently it is a simple postscript markup: kippis = \markup { \postscript " 0 0.5 moveto 2 0.5 lineto stroke 1 0.5 moveto 1 1.5 lineto 0.3 3 lineto 1.7 3 lineto 1 1.5 lineto stroke " } Regards, /Karl Hammar ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Multiple context NoteNames
Wow! Fantastic! Thanks Aaron! -- Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Multiple context NoteNames
On 2019-09-17 5:52 am, Aaron Hill wrote: myNoteNamesWithOld = #(lambda (grob) (let* ((default-name (ly:grob-property grob 'text)) (new-name (assoc-get default-name newnames))) (ly:grob-set-property! grob 'text #{ \markup \override #'(baseline-skip . 1.5) \center-column { \line { \bold $new-name } \line { \tiny \concat { ( $default-name ) } } } #}) (ly:text-interface::print grob))) The above had some unnecessary uses of \line. Here's a cleaner version: myNoteNamesWithOld = #(lambda (grob) (let* ((default-name (ly:grob-property grob 'text)) (new-name (assoc-get default-name newnames))) (ly:grob-set-property! grob 'text #{ \markup \override #'(baseline-skip . 1.5) \center-column { \bold $new-name \tiny \concat { ( $default-name ) } } #}) (ly:text-interface::print grob))) -- Aaron Hill ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Concatenating markup fragments in a function
On 2019-09-17 6:24 am, Andrew Bernard wrote: What would be the most elegant way to add a space between the elements, and enclose the lot in '[' and ']'? Would this work for you? #(define-markup-command (note-names-multiple layout props args) (markup-list?) "Provide multiple note names for clarity." (define (paired lst) (if (null? lst) '() (cons (cons (first lst) (second lst)) (paired (cddr lst) (interpret-markup layout props #{ \markup \concat { \vcenter [ \override #'(word-space . 1) \line { $@(map (lambda (x) #{ \markup \note-names $(car x) $(cdr x) #}) (paired args)) } \vcenter ] } #} )) -- Aaron Hill ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Concatenating markup fragments in a function
Thanks Aaron, That's great. Must be the bump and cuts on my head affecting my concentration. Most appreciated. What would be the most elegant way to add a space between the elements, and enclose the lot in '[' and ']'? It's particularly nice the way you did this using the single shot function. I like that. Andrew On 17/9/19 10:36 pm, Aaron Hill wrote: This new markup command expects a markup-list? that contains an even number of items, which are the arguments to your existing \note-names command. It then uses \concat to smoosh together the items. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Multiple context NoteNames
On 2019-09-17 3:20 am, Jay Vara wrote: Now, some of the student also want to see the names of notes C, D, E, F, G, A, B. Is there a way to show both the note names I have defined and the english note names? Ideally, one would be below the other. Simplest option is to just define another NoteNames context that omits changing the stencil. Then you can control each as you want. Of course, you can always define any arbitrary markup if you want when changing the text property. An example of what you can do is below: \version "2.19.83" newnames = #`(("c" . "S") ("d" . "R") ("e" . "G") ("f" . "M") ("g" . "P") ("a" . "D") ("b" . "N")) myNoteNames = #(lambda (grob) (let* ((default-name (ly:grob-property grob 'text)) (new-name (assoc-get default-name newnames))) (ly:grob-set-property! grob 'text new-name) (ly:text-interface::print grob))) myNoteNamesWithOld = #(lambda (grob) (let* ((default-name (ly:grob-property grob 'text)) (new-name (assoc-get default-name newnames))) (ly:grob-set-property! grob 'text #{ \markup \override #'(baseline-skip . 1.5) \center-column { \line { \bold $new-name } \line { \tiny \concat { ( $default-name ) } } } #}) (ly:text-interface::print grob))) geetam = \relative c' { e4 e g2 g a4 g c2 c } \new Staff << \geetam \new NoteNames \with { \override NoteName #'stencil = #myNoteNames \override NoteName #'color = #red } { \geetam} \new NoteNames \with { \override NoteName #'color = #green } { \geetam} \new NoteNames \with { \override NoteName #'stencil = #myNoteNamesWithOld \override NoteName #'color = #blue } { \geetam} >> -- Aaron Hill___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Concatenating markup fragments in a function
On 2019-09-17 4:43 am, Andrew Bernard wrote: Now what I would like to do is modify this to be able to say, in the same vein as the single name function above, for example: ^\markup \note-names-multiple #'(("C" . \natural) ("E" . \natural) ("G" . \sharp)) What you have above is going to be a little problematic as the \natural and \sharp appearing in the list will not be treated as markup. Here's a new strategy: \version "2.19.83" #(define-markup-command (note-names layout props note-name accidental) (markup? markup?) "Provide note name for clarity." (interpret-markup layout props #{ \markup { \override #'(font-name . "Latin Modern Sans Demi Cond") \concat { \fontsize #-1 \vcenter #note-name \hspace #.2 \fontsize #-4 #accidental } } #})) #(define-markup-command (note-names-multiple layout props args) (markup-list?) "Provide multiple note names for clarity." (define (paired lst) (if (null? lst) '() (cons (cons (first lst) (second lst)) (paired (cddr lst) (interpret-markup layout props #{ \markup \concat { $@(map (lambda (x) #{ \markup \note-names $(car x) $(cdr x) #}) (paired args)) } #} )) { ^\markup \note-names-multiple { "C" \natural "E" \natural "G" \sharp } } This new markup command expects a markup-list? that contains an even number of items, which are the arguments to your existing \note-names command. It then uses \concat to smoosh together the items. -- Aaron Hill ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Multiple context NoteNames
I have defined alternate note names using the following method: newnames = #`(("c" . "S") ("d" . "R") ("e" . "G") ("f" . "M") ("g" . "P") ("a" . "D") ("b" . "N")) myNoteNames = #(lambda (grob) (let* ((default-name (ly:grob-property grob 'text)) (new-name (assoc-get default-name newnames))) (ly:grob-set-property! grob 'text new-name) (ly:text-interface::print grob))) geetam = \relative c' { e4 e g2 g a4 g c2 c } \new Staff << \geetam \context NoteNames \with { \override NoteName #'stencil = #myNoteNames } { \geetam} >> This works perfectly. Now, some of the student also want to see the names of notes C, D, E, F, G, A, B. Is there a way to show both the note names I have defined and the english note names? Ideally, one would be below the other. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Concatenating markup fragments in a function
Sometimes in my scores I need to indicate a note name, with accidental, for example for very very high notes, just to aid the player. Sometimes I use a list to help out with very densely packed chords. [Don't blame me for this practice - it's my composer colleague!] I am perfectly well aware I can user a markup such as "C#" with unicode accidentals. Fine. But I find the accidentals to be too small to read easily in my contexts, and the point of this is to enhance readability, so I have a function which uses a separate concatenation of an accidental so I can make the size larger. This works well. \version "2.19.83" #(define-markup-command (note-names layout props note-name accidental) (markup? markup?) "Provide note name for clarity." (interpret-markup layout props #{ \markup { \override #'(font-name . "Latin Modern Sans Demi Cond") \concat { \fontsize #-1 \vcenter #note-name \hspace #.2 \fontsize #-4 #accidental } } #})) example: c'4 ^\markup \note-names "C" \natural [Using this function also gives me the possibilty to adapt it easily to use smufl accidentals which is something I also need, so there re multiple reasons for having this.] But having made this function a while ago, I am going through some old scores which have lists of note names, like this: _\markup \note-names "[A♯ B♮ C♯ D♯ F♯ G♯]" Now what I would like to do is modify this to be able to say, in the same vein as the single name function above, for example: ^\markup \note-names-multiple #'(("C" . \natural) ("E" . \natural) ("G" . \sharp)) Here is my (very poor) sketch of what I need: \version "2.19.83" #(define-markup-command (note-names-multiple layout props note-names-list) (list?) "Provide multiple note names for clarity." (let ((txt "")) (let loop ((l note-names-list)) (if (not (null? l)) (begin (display (car l)) (newline) (set! txt (string-append txt (car (car l (set! txt (string-append txt " ")) (display txt) (newline) (loop (cdr l)) ) )) (interpret-markup layout props (markup txt) ) )) Obviously this is not complete. But I have come to a dead halt not knowing how I can glue bits of markup, rather than text, together inside the let loop, as per the single shot in the first function. [Pardon me if this attempt looks like complete nonsense - I banged my head badly with much blood on the bandsaw in my workshop today and I confess I may not be thinking straight! Dear me.] Andrew ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Music Engraving Conference Mozarteum (Jan. 2020)
17. September 2019 10:48, "arnepe" schrieb: > that sounds really interesting - and if it makes sense for a non-programming > person, who's (just) using lily/fresco I'd love to attend… > The conference is explicitly conceived as a hybrid, both targeting "users" for general (or advanced) information on music engraving topics and various notation software, and developers for presenting their work and discussing challenges. Urs > cheers > Arne Peters > > -- > Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html > > ___ > lilypond-user mailing list > lilypond-user@gnu.org > https://lists.gnu.org/mailman/listinfo/lilypond-user ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: Music Engraving Conference Mozarteum (Jan. 2020)
that sounds really interesting - and if it makes sense for a non-programming person, who's (just) using lily/fresco I'd love to attend… cheers Arne Peters -- Sent from: http://lilypond.1069038.n5.nabble.com/User-f3.html ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A periodic enquiry re 2.20
>>Probable background of Urs’ question: >>https://www.uni-mozarteum.at/en/kunst/music-engraving-conference.php > > Yes, but I didn't want to disclose that before Werner makes an > official announcement ;-) Well, I was just taking a shower before sitting in front of my Computer :-) Werner ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Music Engraving Conference Mozarteum (Jan. 2020)
Dear LilyPonders! Lukas-Fabian Moser, Urs Liska, and I proudly announce the conference Music Engraving in the 21st Century Developments and Perspectives January 17th – 19th, 2020 Mozarteum Salzburg, Austria All details – and a Call for Papers – can be found here: https://www.uni-mozarteum.at/en/kunst/music-engraving-conference.php (English) https://www.uni-mozarteum.at/de/kunst/notensatz-konferenz.php (German) Of special interest for you is probably the planned LilyPond and Frescobaldi developer meeting on January 19th (Su). Similar to the conference's Call for Papers we ask you for contributions of all kinds! We have reserved some rooms for conference participants in a guest house near the Mozarteum; we can also offer some limited travel cost support. If you would like to come please contact us at notensatz-konfer...@moz.ac.at ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Baseline-skip question.
Greetings All, If I am understanding correctly, a baseline-skip unit of #1 is equivalent to one staff space, and a \vspace unit of #1 is equivlent to three staff spaces. What is the default baseline-skip setting in a simple \markup context, and what is the baseline-skip unit in a \column? Where can I find these bits of information in the manuals? It appears that the default baseline-skip setting in a \column is larger, but I can't find exactly what it is. Many thanks for any help. Hwaen Ch'uqi ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A periodic enquiry re 2.20
Am 17. September 2019 09:33:14 MESZ schrieb Malte Meyn : >Probable background of Urs’ question: >https://www.uni-mozarteum.at/en/kunst/music-engraving-conference.php Yes, but I didn't want to disclose that before Werner makes an official announcement ;-) > >Am 17.09.19 um 09:10 schrieb Urs Liska: >> To be a bit more specific: is there any chance for a release by >mid-January? >> >> Am 17. September 2019 02:42:26 MESZ schrieb Andrew Bernard >> : >> >> Will 2.20 be released at any stage? Is there a roadmap? It seems >> like a very long time now with no news. > >___ >lilypond-user mailing list >lilypond-user@gnu.org >https://lists.gnu.org/mailman/listinfo/lilypond-user -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A periodic enquiry re 2.20
Probable background of Urs’ question: https://www.uni-mozarteum.at/en/kunst/music-engraving-conference.php Am 17.09.19 um 09:10 schrieb Urs Liska: To be a bit more specific: is there any chance for a release by mid-January? Am 17. September 2019 02:42:26 MESZ schrieb Andrew Bernard : Will 2.20 be released at any stage? Is there a roadmap? It seems like a very long time now with no news. ___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
Re: A periodic enquiry re 2.20
To be a bit more specific: is there any chance for a release by mid-January? Am 17. September 2019 02:42:26 MESZ schrieb Andrew Bernard : >Will 2.20 be released at any stage? Is there a roadmap? It seems like a >very long time now with no news. > >[I KNOW we are very under-resourced. I regret that I find the code >difficult to grasp, so I can't contribute myself, despite wanting to >very >much.] > >Andrew -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.___ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user