Re: A question for the wise with brains or those who just used it for a while and know :)

2021-05-15 Thread Jean Abou Samra

Hi all,

Le 14/05/2021 à 16:18, Carl Sorensen a écrit :


On 5/14/21, 7:05 AM, "darki...@jesusgod-pope666.info" 
 wrote:


 
 The Half note of cause is should still be a half note or half break, I

 just don't want it taking precious space like that, that is nonsense in
 my view. I like how they did it in the old days without concern of such
 things. I just want it nice spread out really, the lower notes I would
 like to get a little more room as well. Like mixing the new with the
 old, the best of both worlds :)
  
If you want to make every note take up the space of an eighth note, you can scale the durations.


Instead of e2, use e2*1/4
 
You can do the same for rests.




There is also this trick:

\layout {
  \context {
    \Score
    \override SpacingSpanner.spacing-increment = 0
  }
  \context {
    \Voice
    \override NoteHead.extra-spacing-width = #'(-2 . 2)
  }
}

{ \cadenzaOn c1 c2 c4 c8 c16 c32 c64 }







 g4^
  \markup
  \center-column { " " " "
  \override #'(size . 0.5) % 1 standard
  \override #'(thickness . 0.1) % 0.1 standard
  \woodwind-diagram #'flute #'((cc . (one two three))(lh . ())(rh .
 ()))
 }

If you want to make this process easier, you can define an alist with the flute 
diagrams, one entry per pitch.  It will be a big alist, but you only have to do 
it once.

You can then define a music function (call it fluteNotes) that will take a 
sequence of notes, and return the notes with the flute diagrams attached as 
markups.  It's possible that Harm (Thomas Morely) or Aaron Hill might even 
write the music function for you, as they seem to like this kind of programming 
challenge.

So then you could do something like

\new \Staff {
   \fluteNotes {g'4 e'2 d'4}
}

And you would automatically get the notes with the flute diagrams attached.  I 
think this is the easiest way for you to get the automatic flute diagrams you 
want.



I once posted something like that on the French list
(http://lilypond-french-users.1298960.n2.nabble.com/tin-whistle-td7590313.html).
Here is an amended version:

\version "2.22.0"

autoFingerings =
#(define-music-function (instrument alist music)
    (symbol? list? ly:music?)
   #{
 <<
   \new Dynamics {
 #(music-map
    (lambda (m)
  (if (music-is-of-type? m 'note-event)
  (let* ((pitch (ly:music-property m 'pitch))
 (semitones (ly:pitch-semitones pitch))
 (reduced-semitones (modulo semitones 12))
 (fingerings
   (or
 (assv-ref alist reduced-semitones)
 (begin
   (ly:music-warning m
 "fingering for pitch 
~a in semitones not found"

reduced-semitones)
   '()
    (make-music
  'SkipEvent
  'duration
  (ly:music-property m 'duration)
  'articulations
  (list
    (make-music
  'TextScriptEvent
  'text
  #{
    \markup
    \center-column {
  \override #'(size . 0.5)
  \override #'(thickness . 0.5)
  \woodwind-diagram #instrument #fingerings
    }
    #}
  m))
    (ly:music-deep-copy music))
   }
   { #music }
 >>
   #})

% G note is 7 semitones above C)
myFingeringAlist.7 = #'((cc . (one two three)) (lh . ()) (rh . ()))
% Add further entries in the same way.


\autoFingerings flute \myFingeringAlist {
  g4
}


Best regards,
Jean




Lyrics and Repeats

2021-05-15 Thread Kaj Persson

Hi all

In the Notation manual is described how to manage Lyrics in Repeat 
conditions. It shows examples the Repeat section following an initial 
part of music. There are also examples when the Repeat starts the piece 
and then followed by more music. But if you are searching the 
combination of these two you search in vain. This was really what I 
wanted, an initial part before the Repeat then a couple of alternatives 
and an ending part outside of the repeat and alternatives. Well I 
understand the author of the manual who left this case aside, because 
the solution I succeeded to find does not agree with the normal rules 
described in the manual. The rule with repeated { \skip 1 } was changed. 
Instead of counting individual tones, you now has to define whole 
measures. If you do not, the text is gliding away, possibly of the 
score, it vanishes and you cannot find it! I suppose this is a bug that 
ought to be corrected.


Another observation is that \lyricsto adds an extra space at the start 
in the case that you define an new lyric at the beginning of the 
\repeat. So the '\new Lyric \lyricsto "melody" { ' is NOT equivalent 
with '\new Lyric { \set associatedVoice = "melody" '. This too ought to 
be a bug.


To find this took of course a quite lot of time, and I am still not 
shure I have catched the full truth. In the following examlple I have 
used variables for the lyrics, just to test that it work, and it does. 
The interested can also test removing the "% " before the \lyricsto to 
see the consequence.


I am running LilyPond version 2.21.0 via Frescobaldi. Appended an image 
of the Music example.


Kaj P

\version "2.22.0"
ta = \lyricmode {
  % Not re -- peat -- ed.
  a a a a }
  tb = \lyricmode {
% The first time words.
  b b b b }
  tc = \lyricmode {
% Sec -- ond time words.
  c c c c }
  tx = \lyricmode {
x x x x }
  ty = \lyricmode {
y y y y }
  tz = \lyricmode {
z z z z }

  \score {
<<
  \new Staff {
\new Voice = "melody" {
  \relative {
a'4 a a a
\repeat volta 2 { b4 b b b }
\alternative {
  { c,4 c c c   c c c c  }
  { d4 d d d }
}
e4 e e e
  }
}
  }
  \new Lyrics \lyricsto "melody" {
\ta
<<
  { \tb \tx \tx \tx \repeat unfold 1 { \skip 1 } \tz }
  \new Lyrics % \lyricsto "melody"
  {
\set associatydVoice = "melody"
\tc
\repeat unfold 3 { \skip 1 }
\ty
  }
>>
  }
>>
  }


Re: Lyrics and Repeats

2021-05-15 Thread David Wright
On Sat 15 May 2021 at 16:03:54 (+0200), Kaj Persson wrote:
> 
> In the Notation manual is described how to manage Lyrics in Repeat
> conditions. It shows examples the Repeat section following an initial
> part of music. There are also examples when the Repeat starts the
> piece and then followed by more music. But if you are searching the
> combination of these two you search in vain. This was really what I
> wanted, an initial part before the Repeat then a couple of
> alternatives and an ending part outside of the repeat and
> alternatives. Well I understand the author of the manual who left this
> case aside, because the solution I succeeded to find does not agree
> with the normal rules described in the manual. The rule with repeated
> { \skip 1 } was changed. Instead of counting individual tones, you now
> has to define whole measures. If you do not, the text is gliding away,
> possibly of the score, it vanishes and you cannot find it! I suppose
> this is a bug that ought to be corrected.
> 
> Another observation is that \lyricsto adds an extra space at the start
> in the case that you define an new lyric at the beginning of the
> \repeat. So the '\new Lyric \lyricsto "melody" { ' is NOT equivalent
> with '\new Lyric { \set associatedVoice = "melody" '. This too ought
> to be a bug.
> 
> To find this took of course a quite lot of time, and I am still not
> shure I have catched the full truth. In the following examlple I have
> used variables for the lyrics, just to test that it work, and it does.
> The interested can also test removing the "% " before the \lyricsto to
> see the consequence.
> 
> I am running LilyPond version 2.21.0 via Frescobaldi. Appended an
> image of the Music example.

Perhaps you should look back at this post from last week:
https://lists.gnu.org/archive/html/lilypond-user/2021-05/msg00038.html
You have to choose one method or the other, not a sort of mixture.

BTW your lyrics have no durations, fair enough with method 1, but then
the same will be true for \skips. Syntactically, however, they must have
a numeric suffix, whose value is ignored. (§ Invisible rests, p62 NR 2.22.0)

Cheers,
David.



Basic functions

2021-05-15 Thread Jenifer Tribe
I want to include a change of midi tempo at various points in a score, using 
something like
  \setSpeed #2 #120

where
setSpeed =
  #(define-music-function
  (parser location scale speed)
  (number? number? )
#{
   \set Score.tempoHideNote = ##t
   \tempo scale = speed
#}
  )

I'm still using 2.18 I'm afraid, which still used the parser and location 
parameters..
I'm assuming this should be a music function rather than markup, but perhaps my 
arguments aren't numbers.
In this case the function is hardly worth it, but I want to base more 
complicated routines on it, and have failed at the first hurdle!

Jonathan


Re: Basic functions

2021-05-15 Thread Jean Abou Samra


Le 15/05/2021 à 19:49, Jenifer Tribe a écrit :
I want to include a change of midi tempo at various points in a score, 
using something like

\setSpeed #2 #120

where
setSpeed =
  #(define-music-function
      (parser location scale speed)
      (number? number? )
    #{
       \set Score.tempoHideNote = ##t
       \tempo scale = speed
    #}
  )

I'm still using 2.18 I'm afraid, which still used the parser and 
location parameters..
I'm assuming this should be a music function rather than markup, but 
perhaps my arguments aren't numbers.
In this case the function is hardly worth it, but I want to base more 
complicated routines on it, and have failed at the first hurdle!



There are two mistakes here:

- In the function, scale and speed are interpreted as strings.
  You want $scale and $speed (the reason for using $ instead
  of # is explained in [1]).

- The scale argument is a duration, not a number (you can do
  \tempo 4. = 120 for instance).

Corrected version:

\version "2.23.3"

setSpeed =
#(define-music-function
    (parser location scale speed)
    (ly:duration? number?)
  #{
 \set Score.tempoHideNote = ##t
 \tempo $scale = $speed
  #})


\score {
  {
    \setSpeed 4. 4
    c
  }
  \layout { }
  \midi { }
}

There is also the possibility of doing

\layout {
  \context {
    \Score
    tempoHideNote = ##t
  }
}

to set tempoHideNote globally (read [2]), and then you
can just use the normal \tempo command in the music.


Best,
Jean

[1] 
https://extending-lilypond.readthedocs.io/en/latest/lily-and-scheme.html#hash-vs-dollar
[2] 
http://lilypond.org/doc/v2.22/Documentation/notation/changing-context-default-settings




how to engrave an arpeggio based on a chord of differing length notes?

2021-05-15 Thread Kenneth Wolcott
Hello;

  I have an interesting engraving problem I haven't seen before
(example png file attached).

  I understand how to handle the tuplet, the crescendo, the
decrescendo and the general polyphony, even the arpeggio.

  However, the arpeggio is based on a half note and a dotted half
note.  How to handle that?

  I'm using Lilypond 2.22.0.

Thanks,
Ken Wolcott


Re: how to engrave an arpeggio based on a chord of differing length notes?

2021-05-15 Thread Fr. Samuel Springuel
> On 15 May, 2021, at 7:39 PM, Kenneth Wolcott  wrote:
> 
> Hello;
> 
>  I have an interesting engraving problem I haven't seen before
> (example png file attached).
> 
>  I understand how to handle the tuplet, the crescendo, the
> decrescendo and the general polyphony, even the arpeggio.
> 
>  However, the arpeggio is based on a half note and a dotted half
> note.  How to handle that?

Are you sure it’s an appregio and not a quarter rest?

✝✝
Fr. Samuel, OSB
(R. Padraic Springuel)
St. Anselm’s Abbey
4501 South Dakota Ave, NE
Washington, DC, 20017
202-269-2300
(c) 202-853-7036

PAX ☧ ΧΡΙΣΤΟΣ




Re: how to engrave an arpeggio based on a chord of differing length notes?

2021-05-15 Thread Kenneth Wolcott
Well, that certainly makes it a lot simpler! :-)

Thanks for helping with the obvious that I just did not see.

Awesome!

On Sat, May 15, 2021 at 5:20 PM Fr. Samuel Springuel
 wrote:
>
> > On 15 May, 2021, at 7:39 PM, Kenneth Wolcott  
> > wrote:
> >
> > Hello;
> >
> >  I have an interesting engraving problem I haven't seen before
> > (example png file attached).
> >
> >  I understand how to handle the tuplet, the crescendo, the
> > decrescendo and the general polyphony, even the arpeggio.
> >
> >  However, the arpeggio is based on a half note and a dotted half
> > note.  How to handle that?
>
> Are you sure it’s an appregio and not a quarter rest?
>
> ✝✝
> Fr. Samuel, OSB
> (R. Padraic Springuel)
> St. Anselm’s Abbey
> 4501 South Dakota Ave, NE
> Washington, DC, 20017
> 202-269-2300
> (c) 202-853-7036
>
> PAX ☧ ΧΡΙΣΤΟΣ
>



Re: Lyrics and Repeats

2021-05-15 Thread Kaj Persson



2021-05-15 20:31 skrev David Wright:

On Sat 15 May 2021 at 16:03:54 (+0200), Kaj Persson wrote:


In the Notation manual is described how to manage Lyrics in Repeat
conditions. It shows examples the Repeat section following an initial
part of music. There are also examples when the Repeat starts the
piece and then followed by more music. But if you are searching the
combination of these two you search in vain. This was really what I
wanted, an initial part before the Repeat then a couple of
alternatives and an ending part outside of the repeat and
alternatives. Well I understand the author of the manual who left this
case aside, because the solution I succeeded to find does not agree
with the normal rules described in the manual. The rule with repeated
{ \skip 1 } was changed. Instead of counting individual tones, you now
has to define whole measures. If you do not, the text is gliding away,
possibly of the score, it vanishes and you cannot find it! I suppose
this is a bug that ought to be corrected.

Another observation is that \lyricsto adds an extra space at the start
in the case that you define an new lyric at the beginning of the
\repeat. So the '\new Lyric \lyricsto "melody" { ' is NOT equivalent
with '\new Lyric { \set associatedVoice = "melody" '. This too ought
to be a bug.

To find this took of course a quite lot of time, and I am still not
shure I have catched the full truth. In the following examlple I have
used variables for the lyrics, just to test that it work, and it does.
The interested can also test removing the "% " before the \lyricsto to
see the consequence.

I am running LilyPond version 2.21.0 via Frescobaldi. Appended an
image of the Music example.


Perhaps you should look back at this post from last week:
https://lists.gnu.org/archive/html/lilypond-user/2021-05/msg00038.html
You have to choose one method or the other, not a sort of mixture.

BTW your lyrics have no durations, fair enough with method 1, but then
the same will be true for \skips. Syntactically, however, they must 
have
a numeric suffix, whose value is ignored. (§ Invisible rests, p62 NR 
2.22.0)


Cheers,
David.


Thank you, David, for your reply and your efforts to explain my 
experiences. Unfortunately you did not succeed completely. First you 
notice that there are no duration figures with the words/syllables in 
the lyrics. The only exceptions are the skip commands. I have used this 
method because the manual suggests it. I have read that in lyric text 
LilyPond ignores the figure at \skip. I have seen an implied word 
"never", but from your answer one should possibly understand it as 
"sometimes" or at least "most often". I think I have read most of the 
relevant parts in Notation manual and also Learning manual, but, 
according to what I can remember, I have nowhere seen a declaration of 
the conditions when LilyPond in fact uses the duration figure of \skip. 
Obviously I have happened to run across such a condition. It also 
explains my observation that the \skip command does not mean individual 
notes/tones but whole measures. The figure 1 does mean a full measure in 
the tempo 4/4. So it should mean two measures in 2/2, but I have not 
tested that. All this, until these conditions are presented, about when 
LilyPond uses the figure, makes me, from now on, skip the \skip and 
instead use one of the alternatives which I by chance happened to 
discover in the snippets manual (I think it was) namely the empty string 
("") or the underscore (_), which at a quick test seem not to have the 
drawbacks of \skip. The method of defining the duration for every 
word/syllable really does not entice me much. Letting the notes alone 
define the durations is too comfortable for that. Moreover I have not 
found how to return to the normal mode, if I at a short, special 
section, does define the durations for lyrics words.
All this so long, however, does not explain the extra space introduced 
by \lyricsto, so that is another question.


Regards and once again, thank you David for your try to help.
/Kaj
So



Re: Lyrics and Repeats

2021-05-15 Thread Aaron Hill

On 2021-05-15 9:07 pm, Kaj Persson wrote:

[...]


\addlyrics and \lyricsto are related constructs that both create 
LyricCombineMusic.  This is what allows you to enter lyric syllables 
without specifying durations, where the durations are inferred by an 
associated Voice.  Note that in this special mode and only this mode, 
\skip durations are ignored.  So it is the count of \skips that matter.


When you are entering lyrics outside LyricCombineMusic, you must specify 
durations manually lest they be assumed given the most recently 
specified duration.  In this case, \skip carries its normal meaning 
where the duration matters.


It should be noted that \setting associatedVoice has no effect outside 
of LyricCombineMusic.


Here is an example demonstrating the difference between using \lyricsto 
and manual durations:



\version "2.22.0"

lyricSkip =
#(define-music-function
  (count) (integer?)
  "Inserts the specified number of lyric skips."
  #{ \repeat unfold #count \skip 1 #})

<<
  \new Voice = melody {
\time 3/4
\partial 4 g'8 8
\repeat volta 2 { 2 4 }
\alternative {
  { 2 4 | 2 8 8 }
  { 4 2 }
}
2. \bar "|."
  }
  \new Lyrics \lyricsto melody {
\set stanza = "lyricsto"
a b | c d | e f | g h i
  }
  \new Lyrics \lyricsto melody {
\lyricSkip 2 | j k \lyricSkip 5 | l m | n
  }
  \new Lyrics \lyricmode {
\set stanza = "manual"
a8 b | c2 d4 | e2 f4 | g2 h8 i
  }
  \new Lyrics \lyricmode {
\skip 4 | j2 k4 \skip 2.*2 | l4 m2 | n2.
  } >>



-- Aaron Hill