Re: Ddoubled parentheses

2019-12-02 Thread Aaron Hill

On 2019-12-02 9:04 pm, Mogens Lemvig Hansen wrote:

Hi,

The NullVoice in the example below generates its own set of
parentheses so that I get two pairs – see attached.
Same problem with \new NullVoice \with { \remove
"Parenthesis_engraver" }{ \music }
Same problem in \version "2.19.82"


\version "2.18.2"

music = \relative {
  c' e \parenthesize g c
}

\score {
  \new Staff <<
\new Voice { \music }
\new NullVoice { \music }
  >>
}


Suggestions for removing the extra pair – other than by removing the
NullVoice altogether?


The default location for the Parenthesis_engraver is the Score context, 
that is why removing it from the NullVoice has no effect.


The simplest option I see is this:


\version "2.18.2"

music = \relative {
  c' e \parenthesize g c
}

\score {
  \new Staff <<
\new Voice { \music }
\new NullVoice \with { \omit ParenthesesItem } { \music }
  >>
}



-- Aaron Hill



Ddoubled parentheses

2019-12-02 Thread Mogens Lemvig Hansen
Hi,

The NullVoice in the example below generates its own set of parentheses so that 
I get two pairs – see attached.
Same problem with \new NullVoice \with { \remove "Parenthesis_engraver" }{ 
\music }
Same problem in \version "2.19.82"


\version "2.18.2"

music = \relative {
  c' e \parenthesize g c
}

\score {
  \new Staff <<
\new Voice { \music }
\new NullVoice { \music }
  >>
}


Suggestions for removing the extra pair – other than by removing the NullVoice 
altogether?

Regards,
Mogens




Re: Overriding position of a full bar rest does not always work

2019-12-02 Thread Peter Toye
Hello Kieren,

Thanks. I think this is the first time I've had to set a score of this 
complexity (which is pretty low compared with many I've seen). Thanks very much 
for the help. I shall now rewrite large amounts of music :(

Best regards,

Peter
mailto:lilyp...@ptoye.com
www.ptoye.com

-
Monday, December 2, 2019, 12:54:31 PM, kieren_macmillan kieren_macmillan wrote:

> Hi Peter,

>> I've just thought of another reason not too use \mark for placing text for
>> tempo changes and expressive text: what happens if it's not at the beginning
>> of the bar?

> I think you’ve misunderstood. Using \mark
> doesn’t mean you stop using precise
> timing placement — of course you still need to do that!

> Here’s what I (and most serious Lilypond
> engravers I know) do: you have a
> completely separate variable that includes all
> score-level items (tempi,
> rehearsal marks, etc.), which are set using
> skips (so that they are placed at
> the correct point in the score, regardless of
> what’s contained in other voices).
> Then you add that variable to whatever
> context(s) need it (e.g., above the top
> staff, also above the string group in a full score, etc.).

> Hope that helps!
> Kieren.

Re: Problems with \table in \markuplist

2019-12-02 Thread Peter Toye
Hi Harm,

-
Monday, December 2, 2019, 1:31:09 PM, Thomas Morley wrote:

> Am Mo., 2. Dez. 2019 um 13:00 Uhr schrieb Peter
> Toye :

>> I'm trying to lay out text using a \table and have found (to date) two 
>> problems.

>> Firstly, the wordwrap feature doesn't seem to work. See Table 1. I've tried 
>> using \wordwrap-lines but the result is the same. Obviously I'm missing 
>> something but can't see what.

> You do:
> \wordwrap {"a very very very very very very very very long row 3"}
> i.e. wordwrap gets a markup-list with exactly one entry, a line-break
> will never happen this way.

> Either use wordwrap-string like:
> \markup
>   \override #'(line-width . 12)
>   \wordwrap-string
> "a very very very very very very very very
> very very very very long text 3"

> Or wardwrap with a suitable markuplist:
> \markup
>   \override #'(line-width . 12)
>   \wordwrap
> {
>  a very very very very very very very very
> very very very very long text 3
> }

Ah thanks, that works fine. \wordwrap-string doesn't seem to work in tables.

>> Secondly, the spacing between rows in a table doesn't seem quite right when 
>> I use columns. In Table 2, Row 2 the columns have the expected spacing but 
>> the space between the last line and row 3 is too small. It's correct for the 
>> gap between rows 3 and 4.

> Has nothing to do with the
> table-markup-list-command but with \column
> and similar markup-commands.
> See:
> \markup
>   \column {
> \box \column { a b }
> \box \column { a b }
>   }

> This minimal is fixable with:
> \markup
>   \override #'(baseline-skip . 6)
>   \column {
> \box \override #'(baseline-skip . 3) \column { a b }
> \box \override #'(baseline-skip . 3) \column { a b }
>   }

> Though I've currently no good idea how to do so in \table

I agree you can do it in a \markup. But I need it in the table. I've now tried 
to add \vspace after the columns, but t the results are not encouraging. There 
is now extra space between the bottom of the column and the next row, even with 
\vspace #0.

\version "2.19.52"

\language "english"

\markuplist  {
  "Table 2"
  \override #'( padding . 3 )
  \override #'( baseline-skip .  4 )
  \table #'(-1 -1)
  {
"Row 1"
"Text 1"
\column {
  "a column"
  "row 2"
}
\override #'( baseline-skip . 2.5 )
{\column {
  "a "
  "slightly"
  "but not much"
  "but sort of"
  "getting there"
  "longer"
  "text 2"
 }
}
\vspace #0
\vspace #0
"Row 3"
"Text 3"
"Row 4"
"Text 4"
  }
}

>> Two further questions that I can't find the answers to:

>> Is there a way of ensuring that two items in a markup list are not broken by 
>> a page break? For example, the title of a table and the first row.

> No, at least I know none.

Oh well, I can always add some vspace to bring the table title to the top of 
the next page.

>> How can I increase the distance between the page header and the first line 
>> of markup text following a page break?  Setting 
>> top-markup-spacing.basic-distance doesn't seem to work.

> Here again I'm sorry being of no help.

> Though this behaviour bugs me as well, here a less complex example:

Looks like this should be an issue. I imagine that markuplist isn't treated as 
markup here.

The major issue is that LP doesn't have proper word-processing facilities - nor 
should it - but trying to integrate documents with both text and music doesn't 
seem that easy. I've never looked at LATEX and would prefer not to have to at 
this stage in my life.

> Cheers,
>   Harm

Re: Problems with \table in \markuplist

2019-12-02 Thread Thomas Morley
Am Mo., 2. Dez. 2019 um 13:00 Uhr schrieb Peter Toye :
>
> I'm trying to lay out text using a \table and have found (to date) two 
> problems.
>
> Firstly, the wordwrap feature doesn't seem to work. See Table 1. I've tried 
> using \wordwrap-lines but the result is the same. Obviously I'm missing 
> something but can't see what.

You do:
\wordwrap {"a very very very very very very very very long row 3"}
i.e. wordwrap gets a markup-list with exactly one entry, a line-break
will never happen this way.

Either use wordwrap-string like:
\markup
  \override #'(line-width . 12)
  \wordwrap-string
"a very very very very very very very very very very very very long text 3"

Or wardwrap with a suitable markuplist:
\markup
  \override #'(line-width . 12)
  \wordwrap
{
 a very very very very very very very very very very very very long text 3
}
>
> Secondly, the spacing between rows in a table doesn't seem quite right when I 
> use columns. In Table 2, Row 2 the columns have the expected spacing but the 
> space between the last line and row 3 is too small. It's correct for the gap 
> between rows 3 and 4.

Has nothing to do with the table-markup-list-command but with \column
and similar markup-commands.
See:
\markup
  \column {
\box \column { a b }
\box \column { a b }
  }

This minimal is fixable with:
\markup
  \override #'(baseline-skip . 6)
  \column {
\box \override #'(baseline-skip . 3) \column { a b }
\box \override #'(baseline-skip . 3) \column { a b }
  }

Though I've currently no good idea how to do so in \table

> Two further questions that I can't find the answers to:
>
> Is there a way of ensuring that two items in a markup list are not broken by 
> a page break? For example, the title of a table and the first row.

No, at least I know none.

>
> How can I increase the distance between the page header and the first line of 
> markup text following a page break?  Setting 
> top-markup-spacing.basic-distance doesn't seem to work.

Here again I'm sorry being of no help.

Though this behaviour bugs me as well, here a less complex example:

#(set-default-paper-size "a7")

mrkpl =
\markuplist
  %\column-lines
  %\box
  \justified-lines {
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat
non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Curabitur pretium tincidunt lacus. Nulla gravida orci a odio. Nullam varius,
turpis et commodo pharetra, est eros bibendum elit, nec luctus magna felis
sollicitudin mauris. Integer in mauris eu nibh euismod gravida. Duis ac
tellus et risus vulputate vehicula. Donec lobortis risus a elit. Etiam
tempor. Ut ullamcorper, ligula eu tempor congue, eros est euismod turpis, id
tincidunt sapien risus a quam. Maecenas fermentum consequat mi. Donec
fermentum. Pellentesque malesuada nulla a mi. Duis sapien sem, aliquet nec,
commodo eget, consequat quis, neque. Aliquam faucibus, elit ut dictum
aliquet, felis nisl adipiscing sapien, sed malesuada diam lacus eget erat.
Cras mollis scelerisque nunc. Nullam arcu. Aliquam consequat. Curabitur
augue lorem, dapibus quis, laoreet et, pretium ac, nisi. Aenean magna nisl,
mollis quis, molestie eu, feugiat in, orci. In hac habitasse platea
dictumst.
  }

\mrkpl
\pageBreak
\mrkpl

\paper {
  top-markup-spacing =
   #'((padding . 15)
  (minimum-distance . 15)
  (basic-distance . 15))
  %annotate-spacing = ##t
  %ragged-last-bottom = ##f
}

Looks like the provided values for top-markup-spacing are not
called/used again before the markuplist ended, even if distributed
over several pages.

Cheers,
  Harm



Re: Overriding position of a full bar rest does not always work

2019-12-02 Thread kieren_macmillan kieren_macmillan
Hi Peter,

> I've just thought of another reason not too use \mark for placing text for
> tempo changes and expressive text: what happens if it's not at the beginning
> of the bar?

I think you’ve misunderstood. Using \mark doesn’t mean you stop using precise
timing placement — of course you still need to do that!

Here’s what I (and most serious Lilypond engravers I know) do: you have a
completely separate variable that includes all score-level items (tempi,
rehearsal marks, etc.), which are set using skips (so that they are placed at
the correct point in the score, regardless of what’s contained in other voices).
Then you add that variable to whatever context(s) need it (e.g., above the top
staff, also above the string group in a full score, etc.).

Hope that helps!
Kieren.



Re: programming error: note column without heads and stem

2019-12-02 Thread Thomas Morley
Am Mo., 2. Dez. 2019 um 11:51 Uhr schrieb Sandro Santilli :
>
> On Sat, Nov 30, 2019 at 05:25:28PM +0100, Thomas Morley wrote:
> > Am Fr., 29. Nov. 2019 um 12:11 Uhr schrieb Sandro Santilli :
> > >
> > > When using \partcombine I'm getting 3 of these errors:
> > >
> > >   programming error: note column without heads and stem
> > >   continuing, cross fingers
> > >
> > > The errors doesn't tell which line/column they come from.
> > > How can I debug it ?
> >
> > Took me 20 min to boil it down to a three lines minimal. That's _your_ task.
> > No time left for searching a sollution ;)
>
> Ok, sorry. The problem was this block:
>
>   \layout {
> \context { \Voice
>   \consists "Ambitus_engraver"
> }
>   }
>
> It looks like using an "Ambitus_engraver" with a \partcombine
> results in that warning.

Not exactly. Below returns the same programming error:

\version "2.19.83"

\layout { \context { \Voice \consists "Ambitus_engraver" } }

\new Staff
  <<
\new Voice s4
\new Voice s4
  >>

\partcombine creates a bunch of Voices called "one", "two", "shared",
"solo" and "null"
It's not unlikely that some of them remain without notes, so
\partcombine will trigger the problem more frequently.

Probably Ambitus_engraver should return a more meaningful warning for
Voices with no nore-columns, avoiding a 'programming error' at all.

> I tried a \remove "Ambitus_engraver"
> in the part-combined score but didn't work so I ended up moving
> the \consist in each score in which I wanted the Ambitus engraver.

Consisting in Staff always works for me:
\layout { \context { \Staff \consists "Ambitus_engraver" } }

Cheers,
  Harm

P.S. never post example code without the needed include-files ;)



Problems with \table in \markuplist

2019-12-02 Thread Peter Toye
I'm trying to lay out text using a \table and have found (to date) two problems.

Firstly, the wordwrap feature doesn't seem to work. See Table 1. I've tried 
using \wordwrap-lines but the result is the same. Obviously I'm missing 
something but can't see what.

Secondly, the spacing between rows in a table doesn't seem quite right when I 
use columns. In Table 2, Row 2 the columns have the expected spacing but the 
space between the last line and row 3 is too small. It's correct for the gap 
between rows 3 and 4.

Two further questions that I can't find the answers to:

Is there a way of ensuring that two items in a markup list are not broken by a 
page break? For example, the title of a table and the first row.

How can I increase the distance between the page header and the first line of 
markup text following a page break?  Setting top-markup-spacing.basic-distance 
doesn't seem to work.
 
Regards,

Peter
mailto:lilyp...@ptoye.com
www.ptoye.com

\version "2.19.52"

\language "english"

\markuplist  {
  "Table 1"

  \override #'( line-width . 15 )
  \override #'( padding . 3 )
  \override #'( baseline-skip .  4 )
  \table #'(-1 -1)
  {
"row 1"
"text 1"
"row 2"
"text 2"
\wordwrap {"a very very very very very very very very long row 3"}
\override #'( line-width . 12 )
\wordwrap {"a very very very very very very very very very very very very 
long text 3"}
  }

  \vspace #5
  "Table 2"

  \override #'( padding . 3 )
  \override #'( baseline-skip .  4 )
  \table #'(-1 -1)
  {
"Row 1"
"Text 1"
   \column {
"a column"
"row 2"
   }
   \override #'( baseline-skip . 6 )
   {\column {
"a "
"slightly"
"but not much"
"but sort of"
"getting there"
"longer"
"text 2"
   }
   }
"Row 3"
"Text 3"
"Row 4"
"Text 4"
  }
}


Re: chord/arpeggio

2019-12-02 Thread Mario Bolognani
OK, it works… many thanks 

Mario

Mario Bolognani
email:  mario.bologn...@gmail.com
www.baroquemusic.it



> Il giorno 2 dic 2019, alle ore 11:34, Leo Correia de Verdier 
>  ha scritto:
> 
> This following code works for me, but if you need to have a single note work 
> as a chord (it has happened to me in other circumstances) you can just 
> include it in angle brackets, like  8 .
> 
> \version "2.19.82"
> 
> \new Staff \with {
>  \consists "Span_arpeggio_engraver"
> }
> { 
>  \set Staff.connectArpeggios = ##t
>  \clef bass
> << 
>  { 4 \arpeggio ^\markup \italic "ten." c'!16 b \prall a gis } 
>   \\
>   { d8 \arpeggio \ff s s4 } 
>>> 
> }
> 
>> 1 dec. 2019 kl. 19:05 skrev Mario Bolognani :
>> 
>> Thanks Leo, but \arpeggio is not working with a single note of a chord…
>> 
>> Mario Bolognani
>> email:  mario.bologn...@gmail.com
>> www.baroquemusic.it
>> 
>> 
>> 
>>> Il giorno 1 dic 2019, alle ore 18:36, Leo Correia de Verdier 
>>>  ha scritto:
>>> 
>>> You can include the Span_arpeggio_engraver in the staff you’re writing, set 
>>> Staff.connectArpeggios = ##t and write arpeggios in all voices it should 
>>> include. See 
>>> http://lilypond.org/doc/v2.19/Documentation/notation/expressive-marks-as-lines#arpeggio
>>> 
>>> 1 dec. 2019 kl. 18:25 skrev Mario Bolognani :
>>> 
 How is possible to connect all notes of a chord with \arpeggio?
 
 Many thanks for your suggestions.
 
  or 
 
 
 Mario Bolognani
 email:  mario.bologn...@gmail.com
 www.baroquemusic.it
 
 
 
>> 
> 



Re: programming error: note column without heads and stem

2019-12-02 Thread Sandro Santilli
On Sat, Nov 30, 2019 at 05:25:28PM +0100, Thomas Morley wrote:
> Am Fr., 29. Nov. 2019 um 12:11 Uhr schrieb Sandro Santilli :
> >
> > When using \partcombine I'm getting 3 of these errors:
> >
> >   programming error: note column without heads and stem
> >   continuing, cross fingers
> >
> > The errors doesn't tell which line/column they come from.
> > How can I debug it ?
>
> Took me 20 min to boil it down to a three lines minimal. That's _your_ task.
> No time left for searching a sollution ;)

Ok, sorry. The problem was this block:

  \layout {
\context { \Voice
  \consists "Ambitus_engraver"
}
  }

It looks like using an "Ambitus_engraver" with a \partcombine
results in that warning. I tried a \remove "Ambitus_engraver"
in the part-combined score but didn't work so I ended up moving
the \consist in each score in which I wanted the Ambitus engraver.

--strk;



Re: Overriding position of a full bar rest does not always work

2019-12-02 Thread Peter Toye
Hello Kieren,

I've  just thought of another reason not too use \mark for placing text for 
tempo changes and expressive text: what happens if it's not at the beginning of 
the bar? You would have to do a lot of tweaking to get the position just right 
- and then you decide to change the music in another staff which screws it up 
again (Sod's law). Using a silent voice to place the text accurately and 
tweaking the position of the full bar rest strikes me as an easier way of doing 
it.

Best regards,

Peter
mailto:lilyp...@ptoye.com
www.ptoye.com

-
Sunday, December 1, 2019, 1:22:20 PM, Kieren MacMillan wrote:

> Hi Peter,

>> Oh dear, it didn't! The staff in question (in my score) isn't at the top of 
>> the full score. It's a piano 4-hands score so I want the Ritard. to be at 
>> the top of staves 1 & 3, but not 2 or 4. To the tweak in the snippets won't 
>> work either as that puts marks over all staves.

> You need to look into MarkLine (also known as
> ScoreMarks) — a custom context that includes
> only rehearsal marks, tempo markings, etc.,
> which is then included at only certain points of a multi-staff score.

> Cheers,
> Kieren.

Re: chord/arpeggio

2019-12-02 Thread Leo Correia de Verdier
This following code works for me, but if you need to have a single note work as 
a chord (it has happened to me in other circumstances) you can just include it 
in angle brackets, like  8 .

\version "2.19.82"

\new Staff \with {
  \consists "Span_arpeggio_engraver"
}
{ 
  \set Staff.connectArpeggios = ##t
  \clef bass
<< 
  { 4 \arpeggio ^\markup \italic "ten." c'!16 b \prall a gis } 
   \\
   { d8 \arpeggio \ff s s4 } 
>> 
}

> 1 dec. 2019 kl. 19:05 skrev Mario Bolognani :
> 
> Thanks Leo, but \arpeggio is not working with a single note of a chord…
> 
> Mario Bolognani
> email:  mario.bologn...@gmail.com
> www.baroquemusic.it
> 
> 
> 
>> Il giorno 1 dic 2019, alle ore 18:36, Leo Correia de Verdier 
>>  ha scritto:
>> 
>> You can include the Span_arpeggio_engraver in the staff you’re writing, set 
>> Staff.connectArpeggios = ##t and write arpeggios in all voices it should 
>> include. See 
>> http://lilypond.org/doc/v2.19/Documentation/notation/expressive-marks-as-lines#arpeggio
>> 
>> 1 dec. 2019 kl. 18:25 skrev Mario Bolognani :
>> 
>>> How is possible to connect all notes of a chord with \arpeggio?
>>> 
>>> Many thanks for your suggestions.
>>> 
>>>  or 
>>> 
>>> 
>>> Mario Bolognani
>>> email:  mario.bologn...@gmail.com
>>> www.baroquemusic.it
>>> 
>>> 
>>> 
>