Re: Concatenating markup fragments in a function

2019-09-17 Thread Andrew Bernard
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

2019-09-17 Thread Brian Barker via lilypond-user

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

2019-09-17 Thread karl
 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

2019-09-17 Thread Jay Vara
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

2019-09-17 Thread Aaron Hill

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

2019-09-17 Thread Aaron Hill

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

2019-09-17 Thread Andrew Bernard

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

2019-09-17 Thread Aaron Hill

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

2019-09-17 Thread Aaron Hill

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

2019-09-17 Thread Jay Vara
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

2019-09-17 Thread Andrew Bernard
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)

2019-09-17 Thread Urs Liska
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)

2019-09-17 Thread arnepe
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

2019-09-17 Thread Werner LEMBERG

>>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)

2019-09-17 Thread Werner LEMBERG

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.

2019-09-17 Thread Hwaen Ch'uqi
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

2019-09-17 Thread Urs Liska


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

2019-09-17 Thread Malte Meyn
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

2019-09-17 Thread 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.
>
>[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