Re: polyrhythm with multiple tempi

2019-12-10 Thread Lukas-Fabian Moser

Hi Kieren,

Am 10.12.19 um 22:54 schrieb Kieren MacMillan:

Hi all,

Please consider the following snippet:

%%%  SNIPPET BEGINS
\version "2.19.83"

\layout {
   \context {
 \Score
 \remove "Timing_translator"
 \remove "Default_bar_line_engraver"
 \remove "Metronome_mark_engraver"
   }
   \context {
 \Staff
 \consists "Timing_translator"
 \consists "Default_bar_line_engraver"
 \consists "Metronome_mark_engraver"
   }
}

slower = {
   \tempo 4=80
   \scaleDurations 120/80 { \repeat unfold 12 { c'4 } }
}

faster = {
   \tempo 4=120
   \repeat unfold 16 { c'4 }
}

\score {
   <<
 \new Staff \slower
 \new Staff \faster
   >>
}
%%%  SNIPPET ENDS

The polyrhythm stretches out and lines up as expected, but I can’t seem to get 
the barlines to offset [despite moving the engravers I thought were required]. 
Corrections/hints appreciated.


\scaleDurations does not scale the measure length as well. Try inserting

  \set Timing.measureLength = #(ly:make-moment 12/8)

in the \slower part.

See you in Salzburg!
Lukas




Re: How to remove all notes and only show Chords and Lyrics?

2019-12-10 Thread Dominic Sonntag
Hi Kieren,

we're coming closer! But running your snippet as-is through lilypond I still 
have some
gaps (see attached screenshot).

Now they are (probably) no more between chords and lyrics but between the whole 
lines.

Using annotate-spacing I see that there is a greater "extra dist 
(system-system-spacing)"
between some lines. In most lines it is less than 2, but the two gaps have 5.21 
or 27.86.
How can I reduce those? I can't find a reason for those gaps being that big ...

Kind regards
Dominic



On 10.12.19 18:11, Kieren MacMillan wrote:
> Hi Dominic,
> 
>> Hi Jaap,
>> this is really great!
> 
> I agree!
> 
>> Now I have the problem that in *some* lines the chords are very far away 
>> from the lyrics
>> whereas in most lines, they are positioned very well.
>>
>> Do you have any idea what's the reason for this and how I could solve it?
> 
> There were two issues: the basic- and minimum-distances as set, and the page 
> height. The following modified snippet fixes both (I think?).
> 
> %%%  SNIPPET BEGINS
> \version "2.18.2"
> 
> \paper {
> indent = 0
> paper-height = 120\in
> ragged-right = ##t
> system-system-spacing = #'((basic-distance . 6) (minimum-distance . 6) 
>   (padding . 2.5) (stretchability . 0))
> score-system-spacing.padding = #12
> }
> 
> lyricsbreak = \tag #'lyricsheet { \bar "" \break }
> 
> verseOne = \lyricmode {
> \set stanza = "1. "
> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 
> eirmod \lyricsbreak
> tempor invidunt ut labore et dolore magna aliquyam erat, sed diam 
> voluptua. \lyricsbreak
> At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 
> \lyricsbreak
> gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. 
> \lyricsbreak
> }
> 
> verseTwo = \lyricmode {
> \set stanza = "2. "
> Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 
> eirmod \lyricsbreak
> tempor invidunt ut labore et dolore magna aliquyam erat, sed diam 
> voluptua. \lyricsbreak
> At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 
> \lyricsbreak
> gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. 
> \lyricsbreak
> }
> 
> 
> harmonies = {
> \chordmode { \set majorSevenSymbol = \markup { "maj7" }
>  s4 f2 c bes2 g:m7 f d:m g:m c f c bes g:m7 f d:m % p.1 
>  g:m c f c bes g:m7 f d:m g:m c f c bes g:m7 f d:m c4 f 
> }
> }
> 
> melody = \relative c'' {
> \key f \major
> \time 4/4
> \partial 4
> \autoBeamOff
> 
> a8 bes | c8. bes16 a bes c8~ c4 a8 bes | c4 c16 c d8~ d f, f g |
> a4 f8 g a4 bes8 a | a g16 g~ g f g8~ g4 a8 bes16 c~ |
> c4 a16 bes8 c16~ c4 r8 a16 bes | c4 c8 c16 d~ d8 f, f g | a4 r8 f16 g a4 
> bes16 a8.
> 
> % p.2:
> f8 g~ g4 r a8 bes | c bes a16 bes8. c4 r8 a16 bes | c8 c c c d f, r f16 g 
> |
> a4 r8 f16 g a4 bes16 a f f | g2 r8. f16 a8 bes | c4 r8 a16 bes c8. a16 a8 
> bes16 c~ |
> c16 c c8~ c16 c d8 r8. f,16 f8 g | \time 6/4 
> a8. g16 f8 g a16 a8. a16 bes8. a8 g f4 | R1. | \time 4/4
> r2 r4 a8 bes | c c a16 bes8 c16~ c4 r8 a16 bes |
> \bar "|."
> }
> 
> \layout {
> \context {
> \ChordNames
> \override ChordName.font-name = #"Alegreya Medium"
> \override VerticalAxisGroup.staff-affinity = #DOWN
> \override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
> #'((basic-distance . 1) (minimum-distance . 1) (padding . 1) 
> (stretchability . 0))
> }
> \context {
> \Lyrics
> \override LyricText.font-name = #"Alegreya"
> \override VerticalAxisGroup.staff-affinity = #UP
> \override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
> #'((basic-distance . 1) (minimum-distance . 1) (padding . 1) 
> (stretchability . 0))
> }
> }
> 
> 
> \score {
> <<
> \new ChordNames \harmonies
> \new RhythmicStaff {
> \new NullVoice \melody
> \addlyrics { \verseOne \verseTwo }
> }
> >>
> 
> \layout {
> \set RhythmicStaff.explicitKeySignatureVisibility = #all-invisible
> \set Staff.printKeyCancellation = ##f
> \context { 
> \RhythmicStaff
> \remove "Time_signature_engraver"
> \remove "Bar_number_engraver"
> \remove "Bar_engraver"
> \override Clef.break-visibility = #all-invisible
> \override StaffSymbol.line-count = #'0
> }
> }
> }
> %%%  SNIPPET ENDS
> 
> Note that I also removed all the custom contexts from my version (which may 
> be inferior, ultimately, to this one!).
> 
> What remains to fix (IMO) is the mid-lyrics gaps. I’ll look into what’s 
> causing those and report back if I fix it.
> 
> Hope this helps!
> Kieren.
> 
> 
> 
> 
> Kieren MacMillan, composer (he/him/his)
> ‣ website: www.ki

(Pheraps) a not difficult way for modifying slurs with any SVG editor and feed Lilypond with modifications

2019-12-10 Thread Paolo Pr
Perhaps I found an easy way to modify slurs with any svg editor, and
automatically (or semi-automatically) correct the .ly file with the changes
made.
The procedure is the following, and I need a little help for the
programming parts in the Scheme language (I know it too badly to write the
functions myself, but I can take care of the rest of the code, see the
steps below)

1) For each slur, I visually generate the control points, using the
excellent function written by Aaron:

https://lists.gnu.org/archive/html/lilypond-user/2019-11/msg00266.html

2) [Need help!] For each group of four control_points, I need to associate
four IDs obtained with a global variable that is incremented with each new
slur. For example, if I have two slurs in my score, the control points IDs
will be:

slur_1_cp_1, slur_1_cp_2, slur_1_cp_3, slur_1_cp_4,

slur_2_cp_1, slur_2_cp_2, slur_2_cp_3, slur_2_cp_4

This ID must be set in the SVG object corresponding to each control point.
Can anyone modify the previous lilybin snippet to get this result?
I know it is possible to do this, from what I read on this page:

http://lilypond.org/doc/v2.19/Documentation/notation/alternative-output-formats

3) I open with an editor (for example: Inkscape) the generated SVG file;
next to each slur to be corrected, I draw the correct slur (bezier curve),
and I associate to this slur (always with the editor) an ID equal to the ID
of the respective control points, without the final substrting. For
example, if the control points have id equal to "slur_1_cp_1 (/ 2/3/4)", I
will assign to the slur drawn with the editor ID = "slur_1"

4) At this point (I can write a script in Python or some other programming
language), I can parser the new svg file (with some xml library) and
calculate for each slur created with Inkscape, identified with IDSLUR, the
difference of coordinates (x, y) between its control points and control
points with ID = IDSLUR_cp_1, IDSLUR_cp_2, IDSLUR_cp_3, IDSLUR_cp_4

5) Once these differences are obtained, I can apply this function (taken
from http://lsr.di.unimi.it/LSR/Item?id=777  ) for each slur to modify:

\shapeSlur # '(x1 y1 x2 y2 x3 y3 x4 y4)

Where x1 y1 x2 y2 x3 y3 x4 y4 are precisely the differences between the
control points coordinates, just calculated.

What do you think? Is it worth it? If someone can write the function of
point 2) (it shouldn't be difficult, nor time-consuming), I can take care
of point 4)


StaffPad

2019-12-10 Thread Mark Stephen Mrotek
Andrew

 

My error in not stating purpose for posting the web site.

Perhaps someone in the Lilypond community had seen/tried it and could
comment.

 

Mark



polyrhythm with multiple tempi

2019-12-10 Thread Kieren MacMillan
Hi all,

Please consider the following snippet:

%%%  SNIPPET BEGINS
\version "2.19.83"

\layout {
  \context {
\Score
\remove "Timing_translator"
\remove "Default_bar_line_engraver"
\remove "Metronome_mark_engraver"
  }
  \context {
\Staff
\consists "Timing_translator"
\consists "Default_bar_line_engraver"
\consists "Metronome_mark_engraver"
  }
}

slower = {
  \tempo 4=80
  \scaleDurations 120/80 { \repeat unfold 12 { c'4 } }
}

faster = {
  \tempo 4=120
  \repeat unfold 16 { c'4 }
}

\score {
  <<
\new Staff \slower
\new Staff \faster
  >>
}
%%%  SNIPPET ENDS

The polyrhythm stretches out and lines up as expected, but I can’t seem to get 
the barlines to offset [despite moving the engravers I thought were required]. 
Corrections/hints appreciated.

Thanks,
Kieren.


Kieren MacMillan, composer (he/him/his)
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info




Re: How to remove all notes and only show Chords and Lyrics?

2019-12-10 Thread Kieren MacMillan
Hi Dominic,

> Hi Jaap,
> this is really great!

I agree!

> Now I have the problem that in *some* lines the chords are very far away from 
> the lyrics
> whereas in most lines, they are positioned very well.
> 
> Do you have any idea what's the reason for this and how I could solve it?

There were two issues: the basic- and minimum-distances as set, and the page 
height. The following modified snippet fixes both (I think?).

%%%  SNIPPET BEGINS
\version "2.18.2"

\paper {
indent = 0
paper-height = 120\in
ragged-right = ##t
system-system-spacing = #'((basic-distance . 6) (minimum-distance . 6) 
  (padding . 2.5) (stretchability . 0))
score-system-spacing.padding = #12
}

lyricsbreak = \tag #'lyricsheet { \bar "" \break }

verseOne = \lyricmode {
\set stanza = "1. "
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 
eirmod \lyricsbreak
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. 
\lyricsbreak
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 
\lyricsbreak
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. 
\lyricsbreak
}

verseTwo = \lyricmode {
\set stanza = "2. "
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy 
eirmod \lyricsbreak
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. 
\lyricsbreak
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd 
\lyricsbreak
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. 
\lyricsbreak
}


harmonies = {
\chordmode { \set majorSevenSymbol = \markup { "maj7" }
 s4 f2 c bes2 g:m7 f d:m g:m c f c bes g:m7 f d:m % p.1 
 g:m c f c bes g:m7 f d:m g:m c f c bes g:m7 f d:m c4 f 
}
}

melody = \relative c'' {
\key f \major
\time 4/4
\partial 4
\autoBeamOff

a8 bes | c8. bes16 a bes c8~ c4 a8 bes | c4 c16 c d8~ d f, f g |
a4 f8 g a4 bes8 a | a g16 g~ g f g8~ g4 a8 bes16 c~ |
c4 a16 bes8 c16~ c4 r8 a16 bes | c4 c8 c16 d~ d8 f, f g | a4 r8 f16 g a4 
bes16 a8.

% p.2:
f8 g~ g4 r a8 bes | c bes a16 bes8. c4 r8 a16 bes | c8 c c c d f, r f16 g |
a4 r8 f16 g a4 bes16 a f f | g2 r8. f16 a8 bes | c4 r8 a16 bes c8. a16 a8 
bes16 c~ |
c16 c c8~ c16 c d8 r8. f,16 f8 g | \time 6/4 
a8. g16 f8 g a16 a8. a16 bes8. a8 g f4 | R1. | \time 4/4
r2 r4 a8 bes | c c a16 bes8 c16~ c4 r8 a16 bes |
\bar "|."
}

\layout {
\context {
\ChordNames
\override ChordName.font-name = #"Alegreya Medium"
\override VerticalAxisGroup.staff-affinity = #DOWN
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((basic-distance . 1) (minimum-distance . 1) (padding . 1) 
(stretchability . 0))
}
\context {
\Lyrics
\override LyricText.font-name = #"Alegreya"
\override VerticalAxisGroup.staff-affinity = #UP
\override VerticalAxisGroup.nonstaff-relatedstaff-spacing =
#'((basic-distance . 1) (minimum-distance . 1) (padding . 1) 
(stretchability . 0))
}
}


\score {
<<
\new ChordNames \harmonies
\new RhythmicStaff {
\new NullVoice \melody
\addlyrics { \verseOne \verseTwo }
}
>>

\layout {
\set RhythmicStaff.explicitKeySignatureVisibility = #all-invisible
\set Staff.printKeyCancellation = ##f
\context { 
\RhythmicStaff
\remove "Time_signature_engraver"
\remove "Bar_number_engraver"
\remove "Bar_engraver"
\override Clef.break-visibility = #all-invisible
\override StaffSymbol.line-count = #'0
}
}
}
%%%  SNIPPET ENDS

Note that I also removed all the custom contexts from my version (which may be 
inferior, ultimately, to this one!).

What remains to fix (IMO) is the mid-lyrics gaps. I’ll look into what’s causing 
those and report back if I fix it.

Hope this helps!
Kieren.




Kieren MacMillan, composer (he/him/his)
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info




Re: Merge_rests_engraver bug with whole measure rest?

2019-12-10 Thread David Wright
On Tue 10 Dec 2019 at 11:25:02 (+0100), Jens Gyldenkærne Jensen wrote:
> Den tir. 10. dec. 2019 kl. 10.57 skrev Thomas Morley 
> :
> > Am Di., 10. Dez. 2019 um 10:42 Uhr schrieb Jens Gyldenkærne Jensen 
> > :
> > >
> > > The example from the manual regarding merging of rests (
> > http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#merging-rests)
> > show a strange difference between whole measure rests and smaller rests.
> > The crotchet rest in bar one is placed in the middle of the staff whereas
> > the whole note rest in bar two is placed at the top (similar to the
> > placement of the \voiceOne rest in the unmerged staff). Is this intentional
> > or a bug? I would think that the correct placement would be in the middle
> > of the staff.
> >
> > This is fixed in upcoming 2.21.0, probably in upcoming 2.20.0 as well.
> > Attached the image from the locally compiled 2.21.0 NR
> 
> Excellent. Hope to see them released in a near future.

As a stopgap, you might be able to correct this for yourself, but I
can't be certain. When rest-merging was just a snippet (336), it
would IIRC place whole measure rests on the centre line, and I
changed a line in #(define merge-multi-measure-rests-on-Y-offset
to correct it, from "0)" to "1)". (At that time, it also had a bug
that printed both dots when it merged dotted crochet rests.)
More recent downloads seem to have corrected both these bugs,
so the "0)" value now works, and I still use the download, rather
than the built-in version.

AFAICT, the code that sets the rest positions is in
lilypond-2.19.83-1.linux-64/lilypond/usr/share/lilypond/current/scm/scheme-engravers.scm
in the lines following

  (define-public (Merge_rests_engraver context)
  "Engraver to merge rests in multiple voices on the same staff.

  This works by gathering all rests at a time step. If they are all of the same
  length and there are at least two they are moved to the correct location as
  if there were one voice."

but I'm not familiar enough with scheme to know precisely which line.
Perhaps others are. It might be as simple as changing one digit.

Cheers,
David.



Re: How to remove all notes and only show Chords and Lyrics?

2019-12-10 Thread Dominic Sonntag
Hi Jaap,

this is really great! It is now very close to what I need (but better without 
the use of
LyricText.Y-offset).

Now I have the problem that in *some* lines the chords are very far away from 
the lyrics
whereas in most lines, they are positioned very well.

Do you have any idea what's the reason for this and how I could solve it?

Kind regards
Dominic



On 10.12.19 15:14, lilyp...@de-wolff.org wrote:
> 
> 
>> -Original Message-
>> From: Dominic Sonntag 
>> Sent: Tuesday, December 10, 2019 8:44 AM
>> To: lilyp...@de-wolff.org
>> Cc: lilypond-user@gnu.org
>> Subject: Re: How to remove all notes and only show Chords and Lyrics?
>>
>> This is really quite close, but can I remove that horizontal line and bring 
>> the
>> chords and lyrics closer together?
>>
>>
>> On 07.12.19 15:50, lilyp...@de-wolff.org wrote:
>>>
>>>
 -Original Message-
 From: lilypond-user
 
 On Behalf Of Dominic Sonntag
 Sent: Friday, December 6, 2019 11:08 AM
 To: lilypond-user@gnu.org
 Subject: How to remove all notes and only show Chords and Lyrics?

 Hi,

 in a special case I need a "score" with notes, only chords and
 lyrics. A basic example is
 this:

 \version "2.19.82"
 \score { <<
 \new ChordNames { s4 f2 c }
 \new Staff {
 \relative c' {
 \partial 4
 \time 4/4
 \key f \major
 f8 g | f4. e16 d e c8~ c4
 }
 }
 \addlyrics { It's not time to make a change, }
>> }


 I want the notes and clefs and barlines etc. (the whole staff) not to
 be shown, but the lyrics should still take the time the notes have.
 In this little example, the result should look something like this:

  F  C
 It's not time to make a change,

 or see my attached image.

 How can I achieve this? (Maybe with the least effort on changing the
 input as it is a long
 song.)

 Kind regards
 Dominic
>>> [>]
>>> This is not exactly what you want, but it is close:
>>> \version "2.19.82"
>>>
>>> \layout {
>>>   \set RhythmicStaff.explicitKeySignatureVisibility = #all-invisible
>>>   \set Staff.printKeyCancellation = ##f
>>> \context {
>>> \RhythmicStaff
>>>   \remove "Time_signature_engraver"
>>>   \override Clef.break-visibility = #all-invisible
>>> }
>>> }
>>>
>>>
>>> \score { <<
>>> \new ChordNames { s4 f2 c }
>>> \new RhythmicStaff {
>>>   \new NullVoice
>>> \relative c' {
>>> \override Score.BarLine.stencil = ##f
>>> \partial 4
>>> \time 4/4
>>> \key f \major
>>> f8 g | f4. e16 d e c8~ c4
>>> }
>>> }
>>> \addlyrics { It's not time to make a change, }
> }
>>>
>>>
> [>] 
> 
> Try:
> \layout {
>  \context { 
>  \RhythmicStaff
>\remove "Time_signature_engraver"
> \override StaffSymbol.line-count = #'0
>  }
>  \context {
>\Lyrics
>\override LyricText.Y-offset = #10.0
>  }
>  }
> 
> You can play with the Y-offset, if it is to close for you
> Jaap
> 
\version "2.18.2"

\paper {
indent = 0
ragged-right = ##t
system-system-spacing = #'((basic-distance . 6) (minimum-distance . 6) 
  (padding . 2.5) (stretchability . 0))
score-system-spacing.padding = #12
}

lyricsbreak = \tag #'lyricsheet { \bar "" \break }

verseOne = \lyricmode {
\set stanza = "1. "
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \lyricsbreak
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \lyricsbreak
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd \lyricsbreak
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \lyricsbreak
}

verseTwo = \lyricmode {
\set stanza = "2. "
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod \lyricsbreak
tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. \lyricsbreak
At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd \lyricsbreak
gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. \lyricsbreak
}


harmonies = {
\chordmode { \set majorSevenSymbol = \markup { "maj7" }
 s4 f2 c bes2 g:m7 f d:m g:m c f c bes g:m7 f d:m % p.1 
 g:m c f c bes g:m7 f d:m g:m c f c bes g:m7 f d:m c4 f 
}
}

melody = \relative c'' {
\key f \major
\time 4/4
\partial 4
\autoBeamOff

a8 bes | c8. bes16 a bes c8~ c4 a8 bes | c4 c16 c d8~ d f, f g |
a4 f8 g a4 bes8 a | a g16 g~ g f g8~ g4 a8 bes16 c~ |
c4 a16 bes8 c16~ c4 r8 a16 bes | c4 c8 c16 d~ d8 f, f g | a4 r8 f16 g a4 bes16 a8.

% p.2:
f8 g~ g4 r a8 bes | c bes a16 bes8. c4 r8 a16 bes | c8 c c c d f, r f16 g |
a4 r8 f16 g a

Re: problems with cues

2019-12-10 Thread David Kastrup
"Peter Gentry"  writes:

> David
>
>  
>
> I'm sorry my explanations are not very clear, probably because I am a bit
> confused.

You did not answer a single of the questions I asked for clarification.

> However I may be getting somewhere when the Header file is introduced
> I get

This is very nice but as long as you continue vaguely using your own
terminology about what happens instead of posting actual information
that anybody but yourself can interpret, there is little except possibly
sympathy that you can expect the mailing list to provide.

> Starting lilypond-windows.exe 2.19.81 [Op38_Gg_L2_Test.ly]...
>
> Processing
> `C:/Users/Peter/Lilypool/Music_Files/Farrenc/Work/Op38_Gg_L2_Test.ly'
>
> Parsing...
>
> warning: no glyph for character U+92 in font `C:/Program Files
> (x86)/LilyPond/usr/share/lilypond/current/fonts/otf/texgyreschola-regular.ot
> f'
>
> Finding the ideal number of pages...
>
> Fitting music on 1 page...
>
> Drawing systems...
>
> Layout output to `./tmp-lilypond-crrBo6'...
>
> Converting to `Op38_Gg_L2_Test.pdf'...
>
> Deleting `./tmp-lilypond-crrBo6'...
>
> Interpreting music...
>
> Interpreting music...
>
> Interpreting music...
>
> Preprocessing graphical objects...
>
> Interpreting music...[8]
>
> Preprocessing graphical objects...
>
> Finding the ideal number of pages...
>
> Fitting music on 1 page...
>
> Drawing systems...
>
> Layout output to `./tmp-lilypond-LIcuhH'...
>
> Converting to `Op38_Gg_L2_Test-1.pdf'...
>
> Deleting `./tmp-lilypond-LIcuhH'...
>
> Success: compilation successfully completed
>
> Completed successfully in 1.9".
>
>  
>
> Despite the Completed successfully in 1.9 there was no music output - just
> the attached header page .

You did notice that 2 files got produced for whatever reason not
discernible from your description?  Namely Op38_Gg_L2_Test.pdf as well
as Op38_Gg_L2_Test-1.pdf .

-- 
David Kastrup



Re: transpositions within a global key setting.

2019-12-10 Thread David Wright
On Tue 10 Dec 2019 at 07:41:07 (+0100), Urs Liska wrote:
> Am 09.12.19 um 15:24 schrieb N. Andrew Walsh:
> > let us say I have a piece where I want to specify the key
> > signature once for all instruments. I have something like the
> > following:
> > 
> > \version = 2.19.82
> > global= {
> >  \key f \minor
> >  \time 4/8
> >   }
> > %% (and whatever other settings I want)
> > 
> > oDAMusic = \transpose a c {
> >    \relative c''' {
> >      \key as \minor
> >      {{MUSIC}}
> >    }
> > }
> 
> What this code is trying to convey (different from your intentions)
> that MUSIC is some music in as minor that is then transposed to f
> minor.
> 
> What you *need* to say is that the music is in f minor (because that
> is your key signature) but transposed *for display* to as minor. It
> should immediately strike you as odd when you seem to need to write
> \key as \minor when you are not actually having polytonality.
> 
> So the key signature in your music should be the f minor specified in
> the global variable (note BTW that it is not ideal practice naming a
> variable "global"),

But both the LM and NR use this convention frequently; the former
recommends it (§3.2.3).

> and you can simply include that *within* the music
> expression rather than in teh staff definition.

I don't see how that works for anything beyond the trivial, for example:

global = { % with original pagination
  \key f \major
  \time 2/2
  s1 * 3 \break
  s1
  \repeat volta 2 {
s1 * 3 \break
s1 * 3 \break
  } \alternative {
{
  s1 * 2
} {
  s1 \break
  s1
} }
  s1 * 3 \break
  \pageBreak
  s1 * 5 \break
  s1 * 3 \break
  s1 * 3 \break
  s1 * 2
  \bar "||"
  \key c \major
  s1 \break
  s1 * 3 \break
  \pageBreak
  s1 * 3 \break
  s1 * 3 \break
  s1 * 3 \break
  s1 * 3 \break
  \bar "||"
  \key df \major
  s1 * 3 \break
  \pageBreak
  s1 * 3 \break
  s1 * 2
  \bar "||"
  \key f \major
  s1 \break
  s1 * 3 \break
  s1 * 3 \break
  s1
  \bar "||"
  s1 s2
  \bar "|."
}

#(set-global-staff-size 18)
\book {
  \bookOutputSuffix "2staves"
  \score {
\transpose f f
\new ChoirStaff <<
  \new Staff = stop \with { \consists Bar_number_engraver } <<
\clef treble \global
\new Voice { \accident \voiceOne \soprano }
\addlyrics \with { alignAboveContext = stop } { \sopranofrag }
\new Voice { \accident \voiceTwo \alto }
\addlyrics { \altotext }
\addlyrics { \altotextii }
  >>
  \new Staff = sbot <<
\clef "bass^8" \global
\new Voice { \accident \voiceOne \tenor }
\addlyrics \with { alignAboveContext = sbot } { \tenorfrag }
\new Voice { \accident \voiceTwo \bass }
\addlyrics { \bassfrag }
  >>
>>
\layout {
  \context {
\Score
\remove Bar_number_engraver
  }
}
  }
}

> You define the music in the original key and then transpose it to the
> key you want it displayed in. If you are dealing with MIDI output (and
> even if not you should consider it) you can then use \transposition to
> re-transpose the MIDI output without affecting the engraved key and
> pitches (see 
> http://lilypond.org/doc/v2.19/Documentation/notation/displaying-pitches#instrument-transpositions
> (which is where you should have looked at)).
> 
> This is what you want to do:
> 
> \version  "2.19.82"
> global= {
>   \key f \minor
>   \time 4/8
> }
> 
> oDAMusic =
> \transpose f as
> \relative c' {
>   \transposition a
>   \global
>   f g as
> }
> 
> \score {
>   \new Staff = "Staff_oboeDA" <<
> \oDAMusic
>   >>
> }
> 
> > \score {
> > \new Staff = "Staff_oboeDA" <<
> >       \global \oDAMusic
> >     >>
> > }
> > 
> > I've omitted other variables, instrument blocks, and settings. My
> > question is what to do about this instrument, the oboe d'amore,
> > which transposes. According to the NR, here:
> > 
> > http://lilypond.org/doc/v2.19/Documentation/notation/changing-multiple-pitches#transpose
> > 
> > I would need to format the block like this to print the correct
> > key signature. When I do this, however, Lily throws an error about
> > "Two simultaneous key-change events" and that one will be junked.
> > Score output, however, looks fine, with the transposition and
> > key-signature correct.
> > 
> > As a general question, how should I be formatting this so that I
> > don't get an error?

Cheers,
David.



Re: transpositions within a global key setting.

2019-12-10 Thread Wols Lists
On 10/12/19 06:41, Urs Liska wrote:
> 
> Am 09.12.19 um 15:24 schrieb N. Andrew Walsh:
>> Hi List,
>>
>> let us say I have a piece where I want to specify the key signature
>> once for all instruments. I have something like the following:
>>
>> \version = 2.19.82
>> global= {
>>  \key f \minor
>>  \time 4/8
>>   }
>> %% (and whatever other settings I want)
>>
>> oDAMusic = \transpose a c {
>>   \relative c''' {
>> \key as \minor
>> {{MUSIC}}
>>   }
>> }
> 
> 
> What this code is trying to convey (different from your intentions) that
> MUSIC is some music in as minor that is then transposed to f minor.
> 
> What you *need* to say is that the music is in f minor (because that is
> your key signature) but transposed *for display* to as minor. It should
> immediately strike you as odd when you seem to need to write \key as
> \minor when you are not actually having polytonality.
> 
> So the key signature in your music should be the f minor specified in
> the global variable (note BTW that it is not ideal practice naming a
> variable "global"), and you can simply include that *within* the music
> expression rather than in teh staff definition.
> 
> You define the music in the original key and then transpose it to the
> key you want it displayed in. If you are dealing with MIDI output (and
> even if not you should consider it) you can then use \transposition to
> re-transpose the MIDI output without affecting the engraved key and
> pitches (see
> http://lilypond.org/doc/v2.19/Documentation/notation/displaying-pitches#instrument-transpositions
> (which is where you should have looked at)).
> 
> This is what you want to do:
> 
> \version  "2.19.82"
> global= {
>   \key f \minor
>   \time 4/8
> }
> 
> oDAMusic = 
> \transpose f as 
> \relative c' {
>   \transposition a
>   \global
>   f g as
> }
> 
> \score {
>   \new Staff = "Staff_oboeDA" <<
> \oDAMusic 
>   >>
> }
> 
> HTH
> Urs
> 
As a player in a concert band and a brass band, this is my main use of
lilypond. I don't use midi, and I've never got to grips with
transposition (because I don't use midi?)

So when I'm INPUTing music, I always do

voiceTrombone = \transpose c' c' { notes }
or
voiceTrombone = \transpose c' bf { notes }

This then gives me a music variable with all my notes IN CONCERT PITCH.

When outputting, I then do

\Staff {
   \Clef = bass
   \transpose c' c' {
  \key ...
  \voiceTrombone
  ...
   }
}

or

\Staff {
   \Clef = treble_8
   \transpose bf c' {
  \key ...
  \voiceTrombone
  ...
   }
}

That way, everything is always in concert until the last possible
moment, but also, when I'm looking at the music, I can tell whether it
was copied from a concert or a brass part, and the notes in the .ly file
match the notes on the piece of paper.

(And I *always* transpose, even from C to C, because it tells me I
haven't forgotten anything :-)

Cheers,
Wol



Re: Merge_rests_engraver bug with whole measure rest?

2019-12-10 Thread Malte Meyn




Am 10.12.19 um 10:57 schrieb Thomas Morley:

Am Di., 10. Dez. 2019 um 10:42 Uhr schrieb Jens Gyldenkærne Jensen
:


The example from the manual regarding merging of rests 
(http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#merging-rests)
 show a strange difference between whole measure rests and smaller rests. The 
crotchet rest in bar one is placed in the middle of the staff whereas the whole 
note rest in bar two is placed at the top (similar to the placement of the 
\voiceOne rest in the unmerged staff). Is this intentional or a bug? I would 
think that the correct placement would be in the middle of the staff.


This is fixed in upcoming 2.21.0, probably in upcoming 2.20.0 as well.


I can confirm: 2.19.84/2.20.0 contains the fix.



RE: How to remove all notes and only show Chords and Lyrics?

2019-12-10 Thread lilypond



> -Original Message-
> From: Dominic Sonntag 
> Sent: Tuesday, December 10, 2019 8:44 AM
> To: lilyp...@de-wolff.org
> Cc: lilypond-user@gnu.org
> Subject: Re: How to remove all notes and only show Chords and Lyrics?
> 
> This is really quite close, but can I remove that horizontal line and bring 
> the
> chords and lyrics closer together?
> 
> 
> On 07.12.19 15:50, lilyp...@de-wolff.org wrote:
> >
> >
> >> -Original Message-
> >> From: lilypond-user
> >> 
> >> On Behalf Of Dominic Sonntag
> >> Sent: Friday, December 6, 2019 11:08 AM
> >> To: lilypond-user@gnu.org
> >> Subject: How to remove all notes and only show Chords and Lyrics?
> >>
> >> Hi,
> >>
> >> in a special case I need a "score" with notes, only chords and
> >> lyrics. A basic example is
> >> this:
> >>
> >> \version "2.19.82"
> >> \score { <<
> >> \new ChordNames { s4 f2 c }
> >> \new Staff {
> >> \relative c' {
> >> \partial 4
> >> \time 4/4
> >> \key f \major
> >> f8 g | f4. e16 d e c8~ c4
> >> }
> >> }
> >> \addlyrics { It's not time to make a change, }
>  }
> >>
> >>
> >> I want the notes and clefs and barlines etc. (the whole staff) not to
> >> be shown, but the lyrics should still take the time the notes have.
> >> In this little example, the result should look something like this:
> >>
> >>  F  C
> >> It's not time to make a change,
> >>
> >> or see my attached image.
> >>
> >> How can I achieve this? (Maybe with the least effort on changing the
> >> input as it is a long
> >> song.)
> >>
> >> Kind regards
> >> Dominic
> > [>]
> > This is not exactly what you want, but it is close:
> > \version "2.19.82"
> >
> > \layout {
> >   \set RhythmicStaff.explicitKeySignatureVisibility = #all-invisible
> >   \set Staff.printKeyCancellation = ##f
> > \context {
> > \RhythmicStaff
> >   \remove "Time_signature_engraver"
> >   \override Clef.break-visibility = #all-invisible
> > }
> > }
> >
> >
> > \score { <<
> > \new ChordNames { s4 f2 c }
> > \new RhythmicStaff {
> >   \new NullVoice
> > \relative c' {
> > \override Score.BarLine.stencil = ##f
> > \partial 4
> > \time 4/4
> > \key f \major
> > f8 g | f4. e16 d e c8~ c4
> > }
> > }
> > \addlyrics { It's not time to make a change, }
> >>> }
> >
> >
[>] 

Try:
\layout {
 \context { 
 \RhythmicStaff
   \remove "Time_signature_engraver"
\override StaffSymbol.line-count = #'0
 }
 \context {
   \Lyrics
   \override LyricText.Y-offset = #10.0
 }
 }

You can play with the Y-offset, if it is to close for you
Jaap




Re: software

2019-12-10 Thread Kevin Cole
On a related "note" -- see what I just did there? ;-)

I've just purchased a reMarkable (TM) tablet. I'm not ready to say it's the
greatest thing ever, since I haven't really poked around with it much yet,
but I was looking for two separate products:

* a device that's particularly good at reading PDFs (without trying to be
good at everything else).
* a device on which I could sketch.

I'd looked at a few devices -- most notably Sony's digital paper product
and Wacom tablets -- and the reMarkable seemed to be a reasonable
compromise. Also I was impressed when I saw a guy at our local hackerspace
using one. (In fact, I was unaware of the product until I saw him using it
and said "Cool!")

Here's the tie in -- more of a fantasy at this point: One of the selling
points to me was that it's got a modified Linux under the hood and one can
SSH into it. The company also offers a cloud-based feature that promises to
turn handwriting into text...

That last tidbit looks like the promise of StaffPad. Given the sorta-kinda
open sourciness of the reMarkable, I wonder if the company could be nudged
into going beyond handwriting translation to  notation translation. The
reMarkable wouldn't do playback, but if the cloud service is brainy enough
to do a decent translation, it might be possible for it to "Save as..."
MusicXML or some such, that could then be massaged by Lilypond and / or
MuseScore 3 and / or whatever else is out there, and one can SCP files to
and from the device...

It may be that a more general purpose device from a more proprietary
company, using more closed source software would do a better job, but I'd
rather try to stay a bit closer to the open when possible.

Anyway, just a thought...


Re: software

2019-12-10 Thread Andrew Bernard
I don't think they ever released this anyway. Mark, has your email
client been hijacked?

As an aside, I have noticed in the last few months a surge in spam
messages on many mailing lists, including one that I run myself..
Maybe spammers are resorting to that as people get better at blocking
spam in personal accounts.

Andrew



problems with cues

2019-12-10 Thread Peter Gentry
David

 

I'm sorry my explanations are not very clear, probably because I am a bit
confused.

 

However I may be getting somewhere when the Header file is introduced I get

 

Starting lilypond-windows.exe 2.19.81 [Op38_Gg_L2_Test.ly]...

Processing
`C:/Users/Peter/Lilypool/Music_Files/Farrenc/Work/Op38_Gg_L2_Test.ly'

Parsing...

warning: no glyph for character U+92 in font `C:/Program Files
(x86)/LilyPond/usr/share/lilypond/current/fonts/otf/texgyreschola-regular.ot
f'

Finding the ideal number of pages...

Fitting music on 1 page...

Drawing systems...

Layout output to `./tmp-lilypond-crrBo6'...

Converting to `Op38_Gg_L2_Test.pdf'...

Deleting `./tmp-lilypond-crrBo6'...

Interpreting music...

Interpreting music...

Interpreting music...

Preprocessing graphical objects...

Interpreting music...[8]

Preprocessing graphical objects...

Finding the ideal number of pages...

Fitting music on 1 page...

Drawing systems...

Layout output to `./tmp-lilypond-LIcuhH'...

Converting to `Op38_Gg_L2_Test-1.pdf'...

Deleting `./tmp-lilypond-LIcuhH'...

Success: compilation successfully completed

Completed successfully in 1.9".

 

Despite the Completed successfully in 1.9 there was no music output - just
the attached header page .

 

 

Regards Peter

 



Op38_Gg_L2_Test.pdf
Description: Adobe PDF document


Re: Merge_rests_engraver bug with whole measure rest?

2019-12-10 Thread Jens Gyldenkærne Jensen
Excellent. Hope to see them released in a near future.

thx
Jens



Den tir. 10. dec. 2019 kl. 10.57 skrev Thomas Morley <
thomasmorle...@gmail.com>:

> Am Di., 10. Dez. 2019 um 10:42 Uhr schrieb Jens Gyldenkærne Jensen
> :
> >
> > The example from the manual regarding merging of rests (
> http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#merging-rests)
> show a strange difference between whole measure rests and smaller rests.
> The crotchet rest in bar one is placed in the middle of the staff whereas
> the whole note rest in bar two is placed at the top (similar to the
> placement of the \voiceOne rest in the unmerged staff). Is this intentional
> or a bug? I would think that the correct placement would be in the middle
> of the staff.
>
> This is fixed in upcoming 2.21.0, probably in upcoming 2.20.0 as well.
> Attached the image from the locally compiled 2.21.0 NR
>
> Cheers,
>   Harm
>


-- 
Jens Gyldenkærne Jensen
Korshøj 226
3670 Veksø
tlf: 2087 3360


Re: Merge_rests_engraver bug with whole measure rest?

2019-12-10 Thread Thomas Morley
Am Di., 10. Dez. 2019 um 10:42 Uhr schrieb Jens Gyldenkærne Jensen
:
>
> The example from the manual regarding merging of rests 
> (http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#merging-rests)
>  show a strange difference between whole measure rests and smaller rests. The 
> crotchet rest in bar one is placed in the middle of the staff whereas the 
> whole note rest in bar two is placed at the top (similar to the placement of 
> the \voiceOne rest in the unmerged staff). Is this intentional or a bug? I 
> would think that the correct placement would be in the middle of the staff.

This is fixed in upcoming 2.21.0, probably in upcoming 2.20.0 as well.
Attached the image from the locally compiled 2.21.0 NR

Cheers,
  Harm


Merge_rests_engraver bug with whole measure rest?

2019-12-10 Thread Jens Gyldenkærne Jensen
The example from the manual regarding merging of rests (
http://lilypond.org/doc/v2.19/Documentation/notation/multiple-voices#merging-rests)
show a strange difference between whole measure rests and smaller rests.
The crotchet rest in bar one is placed in the middle of the staff whereas
the whole note rest in bar two is placed at the top (similar to the
placement of the \voiceOne rest in the unmerged staff). Is this intentional
or a bug? I would think that the correct placement would be in the middle
of the staff.


(In the snippet below I've added a third staff showing the rest placement
with a single voice in the staff. As expected lilypond places both rests
vertically centered in this staff)


\version "2.19.83"
voiceA = \relative { d''4 r d2 | R1 | }
voiceB = \relative { fis'4 r g2 | R1 | }

\score {
<<
\new Staff \with {
instrumentName = "unmerged"
}
<<
\new Voice { \voiceOne \voiceA }
\new Voice { \voiceTwo \voiceB }
>>
\new Staff \with {
instrumentName = "merged"
\consists "Merge_rests_engraver"
\consists "Merge-mmrests-engraver"
}
<<
\new Voice { \voiceOne \voiceA }
\new Voice { \voiceTwo \voiceB }
>>
\new Staff \with {
instrumentName = "single"
}
\new Voice { \voiceA }
>>
}

-- 
Jens Gyldenkærne Jensen
Korshøj 226
3670 Veksø
tlf: 2087 3360