Re: System-system spacing and ragged-last-bottom with multiple scores

2023-04-16 Thread Ralph Palmer
On Sun, Apr 16, 2023 at 10:57 AM Ralph Palmer 
wrote:

> On Sun, Apr 16, 2023, 8:42 AM Michael Werner  wrote:
>
>> Hi Ralph,
>>
>> On Sun, Apr 16, 2023 at 11:27 AM Ralph Palmer 
>> wrote:
>>
>>>
>>> I'm having a problem with system-system spacing and ragged-last-bottom
>>> in a \Book with multiple scores. I was able, at some point, to do a ragged
>>> last bottom on the first score, but the systems were too close for my
>>> comfort. I've looked a lot at what seem to be the appropriate places in the
>>> Notation Reference, but I cannot figure out how to configure the context
>>> within the first score to control either the ragged bottom or the
>>> system-system distance, much less both.
>>>
>>
>> Both system-system-spacing and ragged-bottom  need to be placed in a
>> \paper block, not a \layout block. There are limits on where a \paper block
>> can be put. In this case what I would do (and there could very well, and
>> probably are, better ways but this is what I came up with) is to put each
>> of the scores into its own \bookpart section, as a \bookpart is one of the
>> places a \paper block is allowed. This also obviates the need for the
>> \pagebreak, as that is automagically put in by using a \bookpart. Also,
>> system-system-spacing is comprised of 4 elements, each of which gets set
>> seperately. Have a look at
>> http://lilypond.org/doc/v2.24/Documentation/notation/the-paper-block
>> and
>>
>> http://lilypond.org/doc/v2.24/Documentation/notation/flexible-vertical-spacing-paper-variables
>> for some details on how it works. But a short version is try something
>> like:
>>
>> \book {
>>   \header {
>> title = "Test"
>> subtitle = "system spacing"
>>   }
>>
>>   \bookpart {
>>   \paper {
>> system-system-spacing.padding = #8
>> ragged-last-bottom = ##t
>>   }
>> \score {
>>   \header {
>> piece = \markup \fill-line \huge \bold { "First" }
>>   }
>>   \new ChoirStaff
>>   <<
>> \new Staff
>> << \IVlaI >>
>> \new Staff
>> << \IVlaII >>
>>   >>
>> }
>>   }
>>
>>   %  \pageBreak
>>
>>   \bookpart {
>> \score {
>>   \header {
>> piece = \markup \fill-line \huge \bold { "Second" }
>>   }
>>   \new ChoirStaff <<
>> \new Staff
>> << \IIVlaI >>
>> \new Staff
>> << \IIVlaII >>
>>   >>
>>   \layout {}
>> }
>>   }
>> }
>>
>> This should get you started along towards what it sounds like you're
>> trying to do.
>>
>> Michael
>>
>
> Thanks for your quick reply, Michael. I'll try it, but when I used \book
> with separate \bookpart s before, the title and subtitle appeared before
> each \bookpart score.
>
> Ralph
>

Okay, I think I've got it. I moved the \header {} from the \book to the
first \bookpart {}, and everything seems okay. Thanks again, Michael, for
your help. BTW, I did look at paper variables, creating titles, headers,
and footers, and layout blocks. It was not clear to me after multiple
readings, which is why I asked the list.

All the best,

Ralph

__
Ralph Palmer
Seattle
USA
(he, him, his)
palmer.r.vio...@gmail.com


Re: System-system spacing and ragged-last-bottom with multiple scores

2023-04-16 Thread Ralph Palmer
On Sun, Apr 16, 2023, 8:42 AM Michael Werner  wrote:

> Hi Ralph,
>
> On Sun, Apr 16, 2023 at 11:27 AM Ralph Palmer 
> wrote:
>
>>
>> I'm having a problem with system-system spacing and ragged-last-bottom
>> in a \Book with multiple scores. I was able, at some point, to do a ragged
>> last bottom on the first score, but the systems were too close for my
>> comfort. I've looked a lot at what seem to be the appropriate places in the
>> Notation Reference, but I cannot figure out how to configure the context
>> within the first score to control either the ragged bottom or the
>> system-system distance, much less both.
>>
>
> Both system-system-spacing and ragged-bottom  need to be placed in a
> \paper block, not a \layout block. There are limits on where a \paper block
> can be put. In this case what I would do (and there could very well, and
> probably are, better ways but this is what I came up with) is to put each
> of the scores into its own \bookpart section, as a \bookpart is one of the
> places a \paper block is allowed. This also obviates the need for the
> \pagebreak, as that is automagically put in by using a \bookpart. Also,
> system-system-spacing is comprised of 4 elements, each of which gets set
> seperately. Have a look at
> http://lilypond.org/doc/v2.24/Documentation/notation/the-paper-block
> and
>
> http://lilypond.org/doc/v2.24/Documentation/notation/flexible-vertical-spacing-paper-variables
> for some details on how it works. But a short version is try something
> like:
>
> \book {
>   \header {
> title = "Test"
> subtitle = "system spacing"
>   }
>
>   \bookpart {
>   \paper {
> system-system-spacing.padding = #8
> ragged-last-bottom = ##t
>   }
> \score {
>   \header {
> piece = \markup \fill-line \huge \bold { "First" }
>   }
>   \new ChoirStaff
>   <<
> \new Staff
> << \IVlaI >>
> \new Staff
> << \IVlaII >>
>   >>
> }
>   }
>
>   %  \pageBreak
>
>   \bookpart {
> \score {
>   \header {
> piece = \markup \fill-line \huge \bold { "Second" }
>   }
>   \new ChoirStaff <<
> \new Staff
> << \IIVlaI >>
> \new Staff
> << \IIVlaII >>
>   >>
>   \layout {}
> }
>   }
> }
>
> This should get you started along towards what it sounds like you're
> trying to do.
>
> Michael
>

Thanks for your quick reply, Michael. I'll try it, but when I used \book
with separate \bookpart s before, the title and subtitle appeared before
each \bookpart score.

Ralph

>


Re: System-system spacing and ragged-last-bottom with multiple scores

2023-04-16 Thread Michael Werner
Hi Ralph,

On Sun, Apr 16, 2023 at 11:27 AM Ralph Palmer 
wrote:

>
> I'm having a problem with system-system spacing and ragged-last-bottom in
> a \Book with multiple scores. I was able, at some point, to do a ragged
> last bottom on the first score, but the systems were too close for my
> comfort. I've looked a lot at what seem to be the appropriate places in the
> Notation Reference, but I cannot figure out how to configure the context
> within the first score to control either the ragged bottom or the
> system-system distance, much less both.
>

Both system-system-spacing and ragged-bottom  need to be placed in a \paper
block, not a \layout block. There are limits on where a \paper block can be
put. In this case what I would do (and there could very well, and probably
are, better ways but this is what I came up with) is to put each of the
scores into its own \bookpart section, as a \bookpart is one of the places
a \paper block is allowed. This also obviates the need for the \pagebreak,
as that is automagically put in by using a \bookpart. Also,
system-system-spacing is comprised of 4 elements, each of which gets set
seperately. Have a look at
http://lilypond.org/doc/v2.24/Documentation/notation/the-paper-block
and
http://lilypond.org/doc/v2.24/Documentation/notation/flexible-vertical-spacing-paper-variables
for some details on how it works. But a short version is try something like:

\book {
  \header {
title = "Test"
subtitle = "system spacing"
  }

  \bookpart {
  \paper {
system-system-spacing.padding = #8
ragged-last-bottom = ##t
  }
\score {
  \header {
piece = \markup \fill-line \huge \bold { "First" }
  }
  \new ChoirStaff
  <<
\new Staff
<< \IVlaI >>
\new Staff
<< \IVlaII >>
  >>
}
  }

  %  \pageBreak

  \bookpart {
\score {
  \header {
piece = \markup \fill-line \huge \bold { "Second" }
  }
  \new ChoirStaff <<
\new Staff
<< \IIVlaI >>
\new Staff
<< \IIVlaII >>
  >>
  \layout {}
}
  }
}

This should get you started along towards what it sounds like you're trying
to do.

Michael


System-system spacing and ragged-last-bottom with multiple scores

2023-04-16 Thread Ralph Palmer
Hi -

My appreciation to all on the list for all the help we pass around.

I'm having a problem with system-system spacing and ragged-last-bottom in a
\Book with multiple scores. I was able, at some point, to do a ragged last
bottom on the first score, but the systems were too close for my comfort.
I've looked a lot at what seem to be the appropriate places in the Notation
Reference, but I cannot figure out how to configure the context within the
first score to control either the ragged bottom or the system-system
distance, much less both.

I would greatly appreciate help on these issues.

All the best,

Ralph

__
Ralph Palmer
Seattle
USA
(he, him, his)
palmer.r.vio...@gmail.com
% Test - system spacing

\version "2.24.0"
\language "english"

% First

IVlaI =
\relative c' {  
  \key c \major
  \clef alto  
  \time 4/4
  
  c4 d e f |
  d e f g |
  f e d c |
  \break
  d c b a |
  g a b c |
  a b c d |
  \break
  b c d e |
  c d e f |
  d e f g |
}


IVlaII =
\relative c' {  
  \key c \major
  \clef alto  
  \time 4/4
  
  d4 c b c |
  b c b c |
  d e d e |
  d b d b |
  c e c e |
  d f d f |
  g f e d |
  f e d c |
  e d c b |
}


% Second

IIVlaI =
\relative c' {  
  \key c \major
  \clef alto  
  \time 4/4
  
  c4 d e f |
}

IIVlaII =
\relative c' {  
  \key c \major
  \clef alto  
  \time 4/4
  
  e4 f g a |
}

\book {  
  \header {
title = "Test"
subtitle = "system spacing"
  }
  
  \score {
\header {
  piece = \markup \fill-line \huge \bold { "First" }
}
\new ChoirStaff 
<<
  \new Staff 
  << \IVlaI >>
  \new Staff 
  << \IVlaII >>
>>
\layout {
  system-system-spacing = #8  
  ragged-last-bottom = ##t
}
  }

  \pageBreak

  \score {
\header {
  piece = \markup \fill-line \huge \bold { "Second" }
}
\new ChoirStaff <<
  \new Staff 
  << \IIVlaI >>
  \new Staff 
  << \IIVlaII >>
>>
\layout {}
  }
}



spacingTest.pdf
Description: Adobe PDF document


Re: system-system-spacing in \layout block

2022-05-22 Thread Jean Abou Samra




Le 22/05/2022 à 16:10, Knute Snortum a écrit :

On Sat, May 21, 2022 at 1:47 PM Knute Snortum  wrote:

On Sat, May 21, 2022 at 1:14 PM Jean Abou Samra  wrote:

There is a vast array of other options available; I suggest to give
more information on your score if none of these two solutions
is sufficient for you.

Thank you, Jean.  As always, a thorough and informative answer!

Hi Jean,

While I was playing with your "macro" enlarge, I ran into a problem.
If the left hand has notes with stems, the stem will be way too long.

%%%
\version "2.22.2"

enlarge = \tweak vertical-skylines #(ly:make-unpure-pure-container
   ly:grob::simple-vertical-skylines-from-extents)
   \tweak Y-extent
   \etc

rightHand = { c'4 4 4 4 \break | c'4 4 4 4 }

leftHand = { \clef bass \enlarge #'(-20 . 0) c4 4 4 4 | c4 4 4 4 }

\score {
\new PianoStaff <<
  \new Staff \rightHand
  \new Staff \leftHand
>>
}
%%%

(The main difference is that the left hand part has notes with stems.)

Is there a way to fix this?  If this doesn't give way to a simple
solution, I may post all my code to Google Drive and give a detailed
explanation of the problem I'm facing.  (Would people feel comfortable
clicking a Google Drive link?)



Well yes, that's the problem with this approach: it disturbs
other spacing. You could try another object, e.g.

\version "2.22.2"

enlarge = \tweak vertical-skylines #(ly:make-unpure-pure-container
  ly:grob::simple-vertical-skylines-from-extents)
  \tweak Y-extent
  \etc

rightHand = { c'4 4 4 4 \break | c'4 4 4 4 }

leftHand = { \clef bass c4\single \hide Script \enlarge #'(-30 . 0) _. 4 
4 4 | c4 4 4 4 }


\score {
   \new PianoStaff <<
 \new Staff \rightHand
 \new Staff \leftHand
   >>
}

In the end, the easiest solution might actually be overriding
the system offsets manually, as explained in
https://lilypond.org/doc/v2.22/Documentation/notation/explicit-staff-and-system-positioning.html

Jean



Re: system-system-spacing in \layout block

2022-05-22 Thread Knute Snortum
On Sat, May 21, 2022 at 1:47 PM Knute Snortum  wrote:
>
> On Sat, May 21, 2022 at 1:14 PM Jean Abou Samra  wrote:
> >
> > There is a vast array of other options available; I suggest to give
> > more information on your score if none of these two solutions
> > is sufficient for you.
>
> Thank you, Jean.  As always, a thorough and informative answer!

Hi Jean,

While I was playing with your "macro" enlarge, I ran into a problem.
If the left hand has notes with stems, the stem will be way too long.

%%%
\version "2.22.2"

enlarge = \tweak vertical-skylines #(ly:make-unpure-pure-container
  ly:grob::simple-vertical-skylines-from-extents)
  \tweak Y-extent
  \etc

rightHand = { c'4 4 4 4 \break | c'4 4 4 4 }

leftHand = { \clef bass \enlarge #'(-20 . 0) c4 4 4 4 | c4 4 4 4 }

\score {
   \new PianoStaff <<
 \new Staff \rightHand
 \new Staff \leftHand
   >>
}
%%%

(The main difference is that the left hand part has notes with stems.)

Is there a way to fix this?  If this doesn't give way to a simple
solution, I may post all my code to Google Drive and give a detailed
explanation of the problem I'm facing.  (Would people feel comfortable
clicking a Google Drive link?)

--
Knute Snortum


Re: system-system-spacing in \layout block

2022-05-21 Thread Knute Snortum
On Sat, May 21, 2022 at 1:14 PM Jean Abou Samra  wrote:
>
> There is a vast array of other options available; I suggest to give
> more information on your score if none of these two solutions
> is sufficient for you.

Thank you, Jean.  As always, a thorough and informative answer!



Re: system-system-spacing in \layout block

2022-05-21 Thread Jean Abou Samra

Le 21/05/2022 à 21:44, Knute Snortum a écrit :

Hi everyone,

I'm trying to figure out if I can change system-system-spacing by
score, that is, in the \layout block.  I have a collection of scores
(preludes) where the global \paper settings work fine for some, but I
have a score that needs its own system-system-spacing values.  My
question is very similar to this post [1] but as far as I can see, it
was not replied to.




Simple answer: no. Currently, this is not possible.

More precisely: from experimentation with the snippet you cite,
I conclude these settings are being reflected in the page breaking
calculations, but not in page spacing calculations. Try
changing the value in this code:

\version "2.23.9"

\score {
  <<
    \new Staff { c'1 \break c'1 }
    \new Staff { c'1 c'1 }
  >>
  \layout {
    % replace with 130 to see second system move to the second page
    system-system-spacing.padding = 125
  }
}

Basically, the padding value does let LilyPond put fewer
systems on the page (when it tries to compute how many
it can cram on each page), but when actually spacing the
systems, it gets lost.

Depending on the particular context, there are a couple
workarounds possible. For example, if the score is on
a page on its own, you could put it in its own \bookpart
and use \paper in \bookpart. If you need to increase the
spacing, you could also use this sort of trick:

\version "2.23.9"

enlarge = \tweak vertical-skylines #(ly:make-unpure-pure-container
ly:grob::simple-vertical-skylines-from-extents)
  \tweak Y-extent \etc

\score {
  <<
    \new Staff { c'1 \break c'1 }
    \new Staff {
  \enlarge #'(-20 . 0) c'1
  c'1
    }
  >>
}


There is a vast array of other options available; I suggest to give
more information on your score if none of these two solutions
is sufficient for you.

Best,
Jean




system-system-spacing in \layout block

2022-05-21 Thread Knute Snortum
Hi everyone,

I'm trying to figure out if I can change system-system-spacing by
score, that is, in the \layout block.  I have a collection of scores
(preludes) where the global \paper settings work fine for some, but I
have a score that needs its own system-system-spacing values.  My
question is very similar to this post [1] but as far as I can see, it
was not replied to.

There is a snippet [2] that suggests that you can put
system-system-spacing values in a \layout block, but I haven't been
able to get this to work.  Can you do this, or is there another way to
deal with this?

Here is my MWE:

%%%
\version "2.23.9"

\paper {
  % This works
  % system-system-spacing.padding = 30
}

\score {
  \new PianoStaff <<
\new Staff { \repeat unfold 16 c'4 \break \repeat unfold 16 c'4 }
\new Staff { \clef bass \repeat unfold 16 c4 \break \repeat unfold 16 c4 }
  >>
  \layout {
% Doesn't work, although it's written in this snippet:
% 
https://lilypond.org/doc/v2.22/Documentation/snippets-big-page.html#chords-chord-names-alternative
system-system-spacing.padding = 30
  }
}
%%%

[1] https://lists.gnu.org/archive/html/lilypond-user/2017-03/msg00550.html
[2] 
https://lilypond.org/doc/v2.22/Documentation/snippets-big-page.html#chords-chord-names-alternative

--
Knute Snortum



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-14 Thread Werner LEMBERG


>> Oh, sorry, I thought it was obvious.  I vote against adding a new
>> argument to `-dcrop`.
> 
> Why? The description quoted shows that an argumant is optional.

My objection is by principle.  Backward compatibility doesn't make
sense to me for situations that are (a) completely buggy, and (b)
which can already be circumvented by other means.

> But why would you want to prevent anybody using the current
> behaviour, should they so desire, by writing "-dcrop 0"? 

Because the natural extension of `-dcrop` is to specify margin values!
For example,

  -dcrop 3

could mean that there should be a 3mm whitespace border on all sides.

As far as I can see there isn't a big difference between changing your
suggested `-dcrop` to `-dcrop 0` on the command line and putting

  \paper { system-system-spacing.basic-distance = #0 }

into a file that gets added to the command line before the actual
input.  In both cases you have to change something, and in both cases
it can be easily done on the command line (for most use cases) without
changing the document.  If necessary, the above line can be added to
the document, which shouldn't be too much a burden either.

> It's quite usual to allow people to access previous behaviour when
> revising software.

Not for such fundamental flaws IMHO.


Werner



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-13 Thread David Wright
On Wed 13 Jan 2021 at 21:01:42 (+0100), Werner LEMBERG wrote:
> >> > Perhaps the syntax and functionality of -dcrop could be extended to
> >> > include:
> >> > 
> >> >  ie default #f:  as now, no cropped output
> >> > -dcrop   ie #t: preserve whitespace, set as one long cropped
> >> >  *page* 
> >> > -dcrop num   separate cropped *systems* by num mm of whitespace
> >> >  (mm is already used as the unit of eps-box-padding)
> >> > 
> >> > So anyone who relies on the current behaviour could just add 0 to
> >> > their -dcrop option. Transparent strut workarounds could be
> >> > removed.
> >> 
> >> I vote against this.  LilyPond's behaviour is simply broken and
> >> should be corrected.  People who use struts can also easily set the
> >> staff-staff distance to zero (using the standard LilyPond paper
> >> variables).
> > 
> > I think you could be more specific about precisely which parts
> > you're unhappy with, rather than quoting the entirety and saying you
> > vote against this.
> 
> Oh, sorry, I thought it was obvious.  I vote against adding a new
> argument to `-dcrop`.

Why? The description quoted shows that an argumant is optional.

> Instead, the option should behave as expected
> and documented (i.e., having the output is on a single page with
> cropped margins, and no changes to any other vertical whitespace).

There is no "instead": it's not an either/or, but a both.
The -dcrop option would behave precisely as you required:

> -dcrop   ie #t: preserve whitespace, set as one long cropped *page*

Sorry, I should have written:

  ie #t: set as one long cropped page, preserving whitespace.

But why would you want to prevent anybody using the current
behaviour, should they so desire, by writing "-dcrop 0"?
It's quite usual to allow people to access previous behaviour
when revising software.

Cheers,
David.



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-13 Thread Werner LEMBERG


>> > Perhaps the syntax and functionality of -dcrop could be extended to
>> > include:
>> > 
>> >  ie default #f:  as now, no cropped output
>> > -dcrop   ie #t: preserve whitespace, set as one long cropped
>> >  *page* 
>> > -dcrop num   separate cropped *systems* by num mm of whitespace
>> >  (mm is already used as the unit of eps-box-padding)
>> > 
>> > So anyone who relies on the current behaviour could just add 0 to
>> > their -dcrop option. Transparent strut workarounds could be
>> > removed.
>> 
>> I vote against this.  LilyPond's behaviour is simply broken and
>> should be corrected.  People who use struts can also easily set the
>> staff-staff distance to zero (using the standard LilyPond paper
>> variables).
> 
> I think you could be more specific about precisely which parts
> you're unhappy with, rather than quoting the entirety and saying you
> vote against this.

Oh, sorry, I thought it was obvious.  I vote against adding a new
argument to `-dcrop`.  Instead, the option should behave as expected
and documented (i.e., having the output is on a single page with
cropped margins, and no changes to any other vertical whitespace).


Werner



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-13 Thread David Wright
On Wed 13 Jan 2021 at 18:29:12 (+0100), Werner LEMBERG wrote:
> 
> > Perhaps the syntax and functionality of -dcrop could be extended to
> > include:
> > 
> >  ie default #f:  as now, no cropped output
> > -dcrop   ie #t: preserve whitespace, set as one long cropped *page*
> > -dcrop num   separate cropped *systems* by num mm of whitespace
> >  (mm is already used as the unit of eps-box-padding)
> > 
> > So anyone who relies on the current behaviour could just add 0 to
> > their -dcrop option. Transparent strut workarounds could be removed.
> 
> I vote against this.  LilyPond's behaviour is simply broken and should
> be corrected.  People who use struts can also easily set the
> staff-staff distance to zero (using the standard LilyPond paper
> variables).

I think you could be more specific about precisely which parts you're
unhappy with, rather than quoting the entirety and saying you vote
against this.

Cheers,
David.



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-13 Thread Niols

On 13/01/2021 18:29, Werner LEMBERG wrote:



Perhaps the syntax and functionality of -dcrop could be extended to
include:

 ie default #f:  as now, no cropped output
-dcrop   ie #t: preserve whitespace, set as one long cropped *page*
-dcrop num   separate cropped *systems* by num mm of whitespace
  (mm is already used as the unit of eps-box-padding)

So anyone who relies on the current behaviour could just add 0 to
their -dcrop option. Transparent strut workarounds could be removed.


I vote against this.  LilyPond's behaviour is simply broken and should
be corrected.  People who use struts can also easily set the
staff-staff distance to zero (using the standard LilyPond paper
variables).


I thought of that. But if the argument is that some people want to 
generate a SVG that does not contain the spacing information, it is not 
helping them to replace a value by 0 but to keep the SVG file the same 
otherwise.


That being said, I am not sure if that isn't what the current 
implementation of -dcrop in LilyPond is doing and I do not understand 
the use case of the current -dcrop option. I would tend to think that it 
is a broken behaviour indeed.


Cheers,
— Niols



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-13 Thread Werner LEMBERG


> Perhaps the syntax and functionality of -dcrop could be extended to
> include:
> 
>  ie default #f:  as now, no cropped output
> -dcrop   ie #t: preserve whitespace, set as one long cropped *page*
> -dcrop num   separate cropped *systems* by num mm of whitespace
>  (mm is already used as the unit of eps-box-padding)
> 
> So anyone who relies on the current behaviour could just add 0 to
> their -dcrop option. Transparent strut workarounds could be removed.

I vote against this.  LilyPond's behaviour is simply broken and should
be corrected.  People who use struts can also easily set the
staff-staff distance to zero (using the standard LilyPond paper
variables).


   Werner



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-13 Thread David Wright
On Wed 13 Jan 2021 at 12:11:01 (+0100), Niols wrote:
> On 13/01/2021 06:07, David Wright wrote:
> > On Tue 12 Jan 2021 at 09:30:05 (-0500), Trevor Bača wrote:
> > > I’m the OP, and I realize that I failed to provide the context of my
> > > workflow. I’ll try to do that now, to help make better use of all your 
> > > time!
> > > 
> > > My workflow has to do with maintaining the docs for Abjad. (Abjad is a
> > > Python package for generating LilyPond files programmatically.) I’ve used
> > > Lily for years to produce (PDF output of) my own scores, which never
> > > involved cropping. More recently, documentation of examples on the Abjad
> > > website has necessitated cropping. Here’s an example of a 
> > > minuet-generating
> > > game from the 18th-century, sometimes attributed to Mozart:

[…]

> > > There’s just not enough whitespace between systems. And it would be so
> > > lovely to bring the whole thing up to the beautiful standards that are now
> > > possible with the sharpness of the SVG output. (And the bass clef hasn’t
> > > been attached yet in that example! ;)
> > > 
> > > In the upcoming release of Abjad’s docs, my workaround has been to add
> > > transparent markup “struts” above notes in the top system, sprinkling
> > > something like …
> > > 
> > >- \tweak staff-padding #10
> > >- \tweak transparent ##t
> > >^ \markup A
> > > 
> > > … at strategic places.
> > 
> > A workaround that wouldn't involve changing the source code for every
> > multiline score would be to remove "-dcrop" from the flags list in
> > sphinx.py, and instead use Python's subprocess module to crop the
> > image with Niols's method (inkscape), shown half-a-dozen posts upthread.
> > 
> > The result would look like cartoon D in my earlier post (with
> > tagline=##f.) (My own workflow is PDF-based, and pdfcrop is the
> > utility I use to achieve the same result as what you want.)
> 
> This is exactly my workflow. Except I am doing OCaml and not python. I
> am serving web pages containing previsualisations of tunes and I use
> LilyPond to generate these previsualisations (I also use LilyPond to
> generate the "end product": books of dozens of tunes under the form of
> a downloadable PDF file.) Because my target is the web, I went for a
> SVG-based workflow.
> 
> I looked into the -dcrop option back in the day and found myself in
> the same situation as Trevor. That is when I looked for alternatives
> and settled up with Inkscape to post-process the SVG generated by
> LilyPond. It works nicely and has been working smoothly for years now
> (except when I update to Inkscape 1.0 and had to update my command
> line arguments).
> 
> It is however still a bit of a shame to be doing it that way. I don't
> necessarily like adding too many dependencies to my projects, and
> Inkscape is a fairly big one (it is also fairly mainstream and
> therefore easily present or installable on people's machines and that
> is why I chose it). Moreover, since I have a pretty slow machine, this
> adds a considerable amount of processing time per tune. A typical tune
> will spend 13 seconds in LilyPond and then 9 extra seconds in Inkscape
> for the cropping only! I could probably mitigate that by using or
> writing a tool that only does the cropping of SVG, of course.
> 
> Finally, I am a bit puzzled by this -dcrop option and its removal of
> inter-system space. Depending on the initial use case, this can be
> intended or not. I suppose -dcrop could be made to only crop (and not
> remove other kinds of spacing) or could be kept as is. In any case,
> this might deserve some more words in the documentation.

Perhaps the syntax and functionality of -dcrop could be extended to
include:

 ie default #f:  as now, no cropped output
-dcrop   ie #t: preserve whitespace, set as one long cropped *page*
-dcrop num   separate cropped *systems* by num mm of whitespace
 (mm is already used as the unit of eps-box-padding)

So anyone who relies on the current behaviour could just add 0 to
their -dcrop option. Transparent strut workarounds could be removed.

Cheers,
David.



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-13 Thread Niols

Hi everyone,

On 13/01/2021 06:07, David Wright wrote:

On Tue 12 Jan 2021 at 09:30:05 (-0500), Trevor Bača wrote:

Hi Werner, Aaron and David (again),

I’m the OP, and I realize that I failed to provide the context of my
workflow. I’ll try to do that now, to help make better use of all your time!

My workflow has to do with maintaining the docs for Abjad. (Abjad is a
Python package for generating LilyPond files programmatically.) I’ve used
Lily for years to produce (PDF output of) my own scores, which never
involved cropping. More recently, documentation of examples on the Abjad
website has necessitated cropping. Here’s an example of a minuet-generating
game from the 18th-century, sometimes attributed to Mozart:

https://abjad.github.io/literature_examples/mozart.html

That page contains three examples created by LilyPond:

1.

a two-measure (single-system) toy example (near the top of the page);
2.

a 17-measure minuet (near the bottom of the page); and
3.

the same 17-measure minuet with a few more overrides (at the very bottom
of the page).

You can right away the quality of Lily’s SVG output for these examples is
fantastic. Lily’s SVG images have added a new level of professionalism to
my docs.

But you can also see the multisystem examples (#2 and #3) look kinda crazy
because of the “system-packing” trait carried by the current implementation
of -dcrop:

[image: screen-shot-example-2.png]

There’s just not enough whitespace between systems. And it would be so
lovely to bring the whole thing up to the beautiful standards that are now
possible with the sharpness of the SVG output. (And the bass clef hasn’t
been attached yet in that example! ;)

In the upcoming release of Abjad’s docs, my workaround has been to add
transparent markup “struts” above notes in the top system, sprinkling
something like …

   - \tweak staff-padding #10
   - \tweak transparent ##t
   ^ \markup A

… at strategic places.


A workaround that wouldn't involve changing the source code for every
multiline score would be to remove "-dcrop" from the flags list in
sphinx.py, and instead use Python's subprocess module to crop the
image with Niols's method (inkscape), shown half-a-dozen posts upthread.

The result would look like cartoon D in my earlier post (with
tagline=##f.) (My own workflow is PDF-based, and pdfcrop is the
utility I use to achieve the same result as what you want.)


This is exactly my workflow. Except I am doing OCaml and not python. I 
am serving web pages containing previsualisations of tunes and I use 
LilyPond to generate these previsualisations (I also use LilyPond to 
generate the "end product": books of dozens of tunes under the form of a 
downloadable PDF file.) Because my target is the web, I went for a 
SVG-based workflow.


I looked into the -dcrop option back in the day and found myself in the 
same situation as Trevor. That is when I looked for alternatives and 
settled up with Inkscape to post-process the SVG generated by LilyPond. 
It works nicely and has been working smoothly for years now (except when 
I update to Inkscape 1.0 and had to update my command line arguments).


It is however still a bit of a shame to be doing it that way. I don't 
necessarily like adding too many dependencies to my projects, and 
Inkscape is a fairly big one (it is also fairly mainstream and therefore 
easily present or installable on people's machines and that is why I 
chose it). Moreover, since I have a pretty slow machine, this adds a 
considerable amount of processing time per tune. A typical tune will 
spend 13 seconds in LilyPond and then 9 extra seconds in Inkscape for 
the cropping only! I could probably mitigate that by using or writing a 
tool that only does the cropping of SVG, of course.


Finally, I am a bit puzzled by this -dcrop option and its removal of 
inter-system space. Depending on the initial use case, this can be 
intended or not. I suppose -dcrop could be made to only crop (and not 
remove other kinds of spacing) or could be kept as is. In any case, this 
might deserve some more words in the documentation.


Cheers,
— Niols











Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-12 Thread David Wright
On Tue 12 Jan 2021 at 09:30:05 (-0500), Trevor Bača wrote:
> Hi Werner, Aaron and David (again),
> 
> I’m the OP, and I realize that I failed to provide the context of my
> workflow. I’ll try to do that now, to help make better use of all your time!
> 
> My workflow has to do with maintaining the docs for Abjad. (Abjad is a
> Python package for generating LilyPond files programmatically.) I’ve used
> Lily for years to produce (PDF output of) my own scores, which never
> involved cropping. More recently, documentation of examples on the Abjad
> website has necessitated cropping. Here’s an example of a minuet-generating
> game from the 18th-century, sometimes attributed to Mozart:
> 
> https://abjad.github.io/literature_examples/mozart.html
> 
> That page contains three examples created by LilyPond:
> 
>1.
> 
>a two-measure (single-system) toy example (near the top of the page);
>2.
> 
>a 17-measure minuet (near the bottom of the page); and
>3.
> 
>the same 17-measure minuet with a few more overrides (at the very bottom
>of the page).
> 
> You can right away the quality of Lily’s SVG output for these examples is
> fantastic. Lily’s SVG images have added a new level of professionalism to
> my docs.
> 
> But you can also see the multisystem examples (#2 and #3) look kinda crazy
> because of the “system-packing” trait carried by the current implementation
> of -dcrop:
> 
> [image: screen-shot-example-2.png]
> 
> There’s just not enough whitespace between systems. And it would be so
> lovely to bring the whole thing up to the beautiful standards that are now
> possible with the sharpness of the SVG output. (And the bass clef hasn’t
> been attached yet in that example! ;)
> 
> In the upcoming release of Abjad’s docs, my workaround has been to add
> transparent markup “struts” above notes in the top system, sprinkling
> something like …
> 
>   - \tweak staff-padding #10
>   - \tweak transparent ##t
>   ^ \markup A
> 
> … at strategic places.

A workaround that wouldn't involve changing the source code for every
multiline score would be to remove "-dcrop" from the flags list in
sphinx.py, and instead use Python's subprocess module to crop the
image with Niols's method (inkscape), shown half-a-dozen posts upthread.

The result would look like cartoon D in my earlier post (with
tagline=##f.) (My own workflow is PDF-based, and pdfcrop is the
utility I use to achieve the same result as what you want.)

> Surprisingly, the presence of the (transparent)
> markup tricks -dcrop into preserving the whitespace between systems, giving
> totally beautiful results. Here’s an example (local to my machine and not
> yet visible at the link above):
> 
> [image: local-with-whitespace.png]
> 
> Ok, apologies for going on at length here, but hopefully now my workflow is
> a little more clear.
> 
> I’m not here to condemn the implementation of a feature (or anyone’s
> work!). I was just surprised that -dcrop “packs” systems together, because
> that’s not a behavior of cropping I'm used to in other pieces of software.
> And the “system packing” behavior of the current implementation of -dcrop
> means that in the Abjad docs I have really wonderful single-system examples
> … but messier multisystem examples.
> 
> In the end, I guess all of this reduces to the following: the current
> (“system-packing”) trait of -dcrop means that my multisystem examples are
> less than ideal. That’s all ;)
> 
> Knowing all this, would it be possible to allow for a non-system-packing
> version of -dcrop?
> 
> Only because I have hard time imagining a use case for the current
> system-packing behavior, I suppose it’s possible that the behavior of
> -dcrop should be changed globally to preserve intersystem spacing. (“Why
> would we want to remove an element of page layout that users specify by
> hand, with system-system-spacing and the like?”) But maybe there are users
> with creative uses of the current system-packing behavior? In which case
> I’d be delighted with perhaps an additional flag (-dcrop-preserve?) to
> allow page-layout-preserving cases, too.
> 
> Either outcome opens up a new world of possibilities in which users can use
> SVG output to demo the page layout of music, cropped to fit nicely into doc
> websites and the like.

Cheers,
David.



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-12 Thread Noeck
Hi,

many years ago, I asked for a -dcrop options for SVG for a very similar
usecase: adding SVG images to a website (a markdown extension in
particular). It was then implemented some time later and I was happy
with it (with my single line scores). It might be that Étienne Beaulé
implemented it, but that is just a guess from a distant memory - git
could surely tell.

I am writing that here, because I’d like to add that as far as I
remember, the intention for -dcrop was like Trevor explained and the
removal of inter-system white-space seems like an accident to me.

Cheers,
Joram



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-12 Thread Werner LEMBERG

> In the upcoming release of Abjad’s docs, my workaround has been to
> add transparent markup “struts” above notes in the top system, [...]

Nice idea!  For multi-system cropped output this is a good temporary
workaround IMHO.

> Knowing all this, would it be possible to allow for a
> non-system-packing version of -dcrop?

I hope that some of the more powerful LilyPond developers find time
and interest to fix this in the not too distant future.

You might help us with submitting a bug report, BTW – it seems that
the problem has been discussed on the mailing list(s) but I can't find
something related in lilypond's issue database.


Werner


Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-12 Thread Trevor Bača
On Fri, Jan 8, 2021 at 6:02 PM David Wright 
wrote:

> On Thu 07 Jan 2021 at 19:57:12 (-0500), Trevor Bača wrote:
> > On Wed, Jan 6, 2021 at 2:29 PM David Wright wrote:
> > > On Wed 06 Jan 2021 at 11:34:24 (-0500), Trevor Bača wrote:
> > > > On Tue, Jan 5, 2021 at 11:31 PM David Wright wrote:
> > > > > On Tue 05 Jan 2021 at 19:05:30 (-0500), Trevor Bača wrote:
> > > > > > I love the functionality for cropped SVGs! (Added back in 2019,
> or
> > > > > > around then?)
> > > > > >
> > > > > > Question: it appears that cropped multisystem SVGs remove all
> > > > > > whitespace between systems. Is this supposed to happen?
> > > > >
> > > > > I think that removing all the margins is the functionality "crop"
> is
> > > > > supposed to add to LP. To generate the equivalent cropped and
> packed
> > > > > image without this facility would be quite tedious to do (unless
> > > > > someone has a trick for doing it?).
> > > > >
> > > > > > %%% BEGIN %%%
> > > > > > […]
> > > > > > %%% END %%%
> > > > > >
> > > > > > Called with ...
> > > > > >lilypond -dbackend=svg -dcrop test.ly
> > > > > > ... produces test.cropped.svg as attached here.
> > > > > >
> > > > > > Screenshot:
> > > > > > […]
> > > > > >
> > > > > > Seems like cropping should be around the edges of the image
> (rather
> > > > > > than between systems)?
> > > > >
> > > > > If you just want to crop the whole page image, you can do that
> easily
> > > > > at the end of a normal run with the usual utilities. If you require
> > > > > LP to set the entire score on a single page, just use a very long
> > > > > custom page (as in NR §4.1.2: width, then length).
> > > >
> > > > I'm sorry; I don't understand.
> > > >
> > > > What I want Lily to do: remove whitespace from the *edges* of an SVG.
> > >
> > > As I said, you run LP as normal, and then trim to taste. So, taking
> > > your example, I ran it with
> > > $ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dno-point-and-click
> > > Bača.ly
> > > and then edited the first line of Bača.svg, resulting in
> Bača-trimmed.svg.
> > > The end of the first line is modified from
> > >  width="210.00mm" height="297.00mm" viewBox="0 0 119.5016 169.0094">
> > > to
> > >  width="192.00mm" height="297.00mm" viewBox="4.5 0 109.5016 169.0094">
> > > which I did by inspection. As you use SVG files in your workflow,
> > > I assume you can carry this out more easily and precisely¹ with some
> > > particular tool. (I'm PDF-centric myself.) I only considered X because
> > > I was inspecting the file on a landscape screen (and you didn't remove
> > > the tagline anyway).
> > >
> > > > What Lily actually does when -dcrop is set: removes whitespace from
> the
> > > > edges *and from between all systems* of an SVG.
> > >
> > > That's right, so that your file contains all the information,
> > > unencumbered by margins, ready for some sort of further processing.
> > > Obviously, I don't know what that will be in your case.
> > >
> > > It reminds me of those PNG files that you find in browsers' cache,
> > > which have a strip or grid of little images that are used internally,
> > > either as a toolbar, or displayed sequentially like a movie.
> > >
> > > > So my question is: is Lily supposed to remove whitespace from
> *between*
> > > > systems when -d[c]rop is set?
> > >
> > > AIUI yes. But this is policy: I await pronouncements from higher-ups.
> > >
> > > ¹ I believe the modifications need to be kept proportional, in order
> > >   to preserve the aspect ratio.
> >
> > I really appreciate the responses, but I'm even more confused than
> before.
> >
> > When you ran ...
> >
> > $ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dno-point-and-click
> Bača.ly
> >
> > ... why didn't you include the -dcrop option?
>
> [You need a fixed width font to make sense of text below.]
>
> What running my command on your source produces might be represented by:
>
> A   ┌┐
> ││
> ││
> │⸱⸱⸱▒▒⸱⸱⸱│
> ││
> │⸱⸱⸱▒▒⸱⸱⸱│
> ││
> │⸱⸱⸱▒▒⸱⸱⸱│
> ││
> ││
> ││
> ││
> ││
> ││
> │⸱tt⸱│
> ││
> └┘
>
> where ⸱ is white space, ▒ is music, and t is the tagline.
>
> What my previous post also had attached to it was the result of
> trimming off the whitespace from just the sides:
>
> B   ┌──┐
> │⸱⸱│
> │⸱⸱│
> │▒▒│
> │⸱⸱│
> │▒▒│
> │⸱⸱│
> │▒▒│
> │⸱⸱│
> │⸱⸱│
> │⸱⸱│
> │⸱⸱│
> │⸱⸱│
> │⸱⸱│
> │⸱⸱tt⸱⸱│
> │⸱⸱│
> └──┘
>
> (I trimmed only the sides because the i

Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-11 Thread Werner LEMBERG

>> For me, it's a bug, mainly because the behaviour is completely
>> unexpected.  Also, `-dhelp` says
>> 
>>   crop (#f)Match the size of the normal output to the
>>typeset image.
>> 
>> which differs from the reality.  Note the words 'normal output'.
>> Removing inter-line spacing between staves is definitely not normal
>> output.
> 
> I'd missed that. I only looked at the Usage manual:
> 
>   crop boolIf bool is #t, fit all the music and headers, without
>margins, into a ‘single-page’ output file. Default: #f.

Well, it's a buglet by itself that this info differs from what
`-dhelp` gives.  It essentially says that the music gets output to a
single page that can become arbitrarily long.  Again, there is zero
reason to remove the vertical inter-staff space.

BTW, the documentation misses to mention that a PNG image gets created
in addition to a PDF.  It's also missing that the cropped PDF file and
its PNG rendering output have the suffixes `.cropped.pdf` and
`.cropped.png` by default, respectively, and that those files are
created in addition to a normal PDF output file.  See MR !605 for a
fix.

> So I certainly agree that it needs clarification as to whether
> "music" means *systems* or *made-up pages*.

I don't understand what you want to say.  Please clarify.


Werner


Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-09 Thread David Wright
On Sat 09 Jan 2021 at 07:31:19 (+0100), Werner LEMBERG wrote:
> >> $ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dcrop Bača.ly
> >> will produce the tightly packed:
> >> E   ┌──┐
> >> │▒▒│
> >> │▒▒│
> >> │▒▒│
> >> └──┘
> >> which is what you implied you didn't want (by saying "Is this
> >> supposed to happen?" and "Seems like cropping should be …").
> > 
> > This is clearly something that needs to be documented more clearly,
> > but also we may need to reconsider what -dcrop *should* be doing
> > rather than what is currently does.
> 
> For me, it's a bug, mainly because the behaviour is completely
> unexpected.  Also, `-dhelp` says
> 
>   crop (#f)Match the size of the normal output to the
>typeset image.
> 
> which differs from the reality.  Note the words 'normal output'.
> Removing inter-line spacing between staves is definitely not normal
> output.

I'd missed that. I only looked at the Usage manual:

  crop boolIf bool is #t, fit all the music and headers, without
   margins, into a ‘single-page’ output file. Default: #f.

So I certainly agree that it needs clarification as to whether "music"
means *systems* or *made-up pages*.

Cheers,
David.



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-09 Thread David Wright
On Fri 08 Jan 2021 at 15:28:25 (-0800), Aaron Hill wrote
(in a different order):
> On 2021-01-08 3:01 pm, David Wright wrote:
> > To answer your question—why not use the -dcrop option—I think
> > we are in agreement that:
> > 
> > $ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dcrop Bača.ly
> > 
> > will produce the tightly packed:
> > 
> > E   ┌──┐
> > │▒▒│
> > │▒▒│
> > │▒▒│
> > └──┘
> > 
> > which is what you implied you didn't want (by saying "Is this
> > supposed to happen?" and "Seems like cropping should be …").
> 
> This is clearly something that needs to be documented more clearly,
> but also we may need to reconsider what -dcrop *should* be doing
> rather than what is currently does.

Yes. I have no axe to grind/skin in the game as SVG has never been
part of my workflow, my final target being paper rather than web
pages or whatever.

> At this time, if you just want to remove the outer margins, then you
> should not be using -dcrop.  Rather, you should be manually removing
> the margins themselves within the \paper section.  Basically, make the
> virtual paper match precisely what you need, obviating the need to use
> -dcrop.

This is why, when I read the OP, and then looked at Usage, I wondered
why would one add a facility to LP itself for performing this operation.
(Not that I would fiddle with the paper size to get it to match the
output, as suggested here, but just use a tool that would do it for me.)

> It seems reasonable for folks to expect -dcrop to simply remove the
> empty margin space, which is why there is confusion that inter-system
> spacing is affected.

> The documentation makes no comment about reduced
> spacing, only that margins are to be ignored.

What's implied by 'margin' might depend on whether you're being
system-centric or page-centric. The margins of an image include
the top and bottom margins. This fact's clarity is blurred by our
having a richer vocabulary for pages: head (for headers), foot
(for footnotes), margins (for marginal notes) and gutters (empty
as concealed by the binding). So the inter-system spacing (Y-axis)
is just the lower+upper margins of two systems, corresponding
(X-axis) to the gutter, the right+left margins of a two page spread.

> What -dcrop seems to actually do is reduce each
> system to its reported extents, packing the results together while
> ignoring the paper spacing variables.

Cropping has one further effect, largely ignored here: the output
is all placed onto *one* page/image. So a side-effect of respecting
inter-system space (however it's going to be calculated) is to
further lengthen it. I had assumed that an SVG user's main concern
would be the availability of the made-up systems' stencils, and
not all the blank space in between (rather like nesting shapes
before cutting them out of a sheet of material).

> Is this a bug or not, is an
> unanswered question.

I would call it a misfeature, rather than a bug, if I didn't like it.
But, as I said, I don't know what the author's workflow might look
like, nor the OP's or anybody else's.

Cheers,
David.



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-08 Thread Werner LEMBERG

>> $ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dcrop Bača.ly
>> will produce the tightly packed:
>> E   ┌──┐
>> │▒▒│
>> │▒▒│
>> │▒▒│
>> └──┘
>> which is what you implied you didn't want (by saying "Is this
>> supposed to happen?" and "Seems like cropping should be …").
> 
> This is clearly something that needs to be documented more clearly,
> but also we may need to reconsider what -dcrop *should* be doing
> rather than what is currently does.

For me, it's a bug, mainly because the behaviour is completely
unexpected.  Also, `-dhelp` says

  crop (#f)Match the size of the normal output to the
   typeset image.

which differs from the reality.  Note the words 'normal output'.
Removing inter-line spacing between staves is definitely not normal
output.


Werner


Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-08 Thread Aaron Hill

On 2021-01-08 3:01 pm, David Wright wrote:

To answer your question—why not use the -dcrop option—I think
we are in agreement that:

$ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dcrop Bača.ly

will produce the tightly packed:

E   ┌──┐
│▒▒│
│▒▒│
│▒▒│
└──┘

which is what you implied you didn't want (by saying "Is this
supposed to happen?" and "Seems like cropping should be …").


This is clearly something that needs to be documented more clearly, but 
also we may need to reconsider what -dcrop *should* be doing rather than 
what is currently does.


It seems reasonable for folks to expect -dcrop to simply remove the 
empty margin space, which is why there is confusion that inter-system 
spacing is affected.  What -dcrop seems to actually do is reduce each 
system to its reported extents, packing the results together while 
ignoring the paper spacing variables.  Is this a bug or not, is an 
unanswered question.  The documentation makes no comment about reduced 
spacing, only that margins are to be ignored.


At this time, if you just want to remove the outer margins, then you 
should not be using -dcrop.  Rather, you should be manually removing the 
margins themselves within the \paper section.  Basically, make the 
virtual paper match precisely what you need, obviating the need to use 
-dcrop.



-- Aaron Hill



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-08 Thread David Wright
On Thu 07 Jan 2021 at 19:57:12 (-0500), Trevor Bača wrote:
> On Wed, Jan 6, 2021 at 2:29 PM David Wright wrote:
> > On Wed 06 Jan 2021 at 11:34:24 (-0500), Trevor Bača wrote:
> > > On Tue, Jan 5, 2021 at 11:31 PM David Wright wrote:
> > > > On Tue 05 Jan 2021 at 19:05:30 (-0500), Trevor Bača wrote:
> > > > > I love the functionality for cropped SVGs! (Added back in 2019, or
> > > > > around then?)
> > > > >
> > > > > Question: it appears that cropped multisystem SVGs remove all
> > > > > whitespace between systems. Is this supposed to happen?
> > > >
> > > > I think that removing all the margins is the functionality "crop" is
> > > > supposed to add to LP. To generate the equivalent cropped and packed
> > > > image without this facility would be quite tedious to do (unless
> > > > someone has a trick for doing it?).
> > > >
> > > > > %%% BEGIN %%%
> > > > > […]
> > > > > %%% END %%%
> > > > >
> > > > > Called with ...
> > > > >lilypond -dbackend=svg -dcrop test.ly
> > > > > ... produces test.cropped.svg as attached here.
> > > > >
> > > > > Screenshot:
> > > > > […]
> > > > >
> > > > > Seems like cropping should be around the edges of the image (rather
> > > > > than between systems)?
> > > >
> > > > If you just want to crop the whole page image, you can do that easily
> > > > at the end of a normal run with the usual utilities. If you require
> > > > LP to set the entire score on a single page, just use a very long
> > > > custom page (as in NR §4.1.2: width, then length).
> > >
> > > I'm sorry; I don't understand.
> > >
> > > What I want Lily to do: remove whitespace from the *edges* of an SVG.
> >
> > As I said, you run LP as normal, and then trim to taste. So, taking
> > your example, I ran it with
> > $ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dno-point-and-click
> > Bača.ly
> > and then edited the first line of Bača.svg, resulting in Bača-trimmed.svg.
> > The end of the first line is modified from
> >  width="210.00mm" height="297.00mm" viewBox="0 0 119.5016 169.0094">
> > to
> >  width="192.00mm" height="297.00mm" viewBox="4.5 0 109.5016 169.0094">
> > which I did by inspection. As you use SVG files in your workflow,
> > I assume you can carry this out more easily and precisely¹ with some
> > particular tool. (I'm PDF-centric myself.) I only considered X because
> > I was inspecting the file on a landscape screen (and you didn't remove
> > the tagline anyway).
> >
> > > What Lily actually does when -dcrop is set: removes whitespace from the
> > > edges *and from between all systems* of an SVG.
> >
> > That's right, so that your file contains all the information,
> > unencumbered by margins, ready for some sort of further processing.
> > Obviously, I don't know what that will be in your case.
> >
> > It reminds me of those PNG files that you find in browsers' cache,
> > which have a strip or grid of little images that are used internally,
> > either as a toolbar, or displayed sequentially like a movie.
> >
> > > So my question is: is Lily supposed to remove whitespace from *between*
> > > systems when -d[c]rop is set?
> >
> > AIUI yes. But this is policy: I await pronouncements from higher-ups.
> >
> > ¹ I believe the modifications need to be kept proportional, in order
> >   to preserve the aspect ratio.
>
> I really appreciate the responses, but I'm even more confused than before.
> 
> When you ran ...
> 
> $ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dno-point-and-click Bača.ly
> 
> ... why didn't you include the -dcrop option?

[You need a fixed width font to make sense of text below.]

What running my command on your source produces might be represented by:

A   ┌┐
││
││
│⸱⸱⸱▒▒⸱⸱⸱│
││
│⸱⸱⸱▒▒⸱⸱⸱│
││
│⸱⸱⸱▒▒⸱⸱⸱│
││
││
││
││
││
││
│⸱tt⸱│
││
└┘

where ⸱ is white space, ▒ is music, and t is the tagline.

What my previous post also had attached to it was the result of
trimming off the whitespace from just the sides:

B   ┌──┐
│⸱⸱│
│⸱⸱│
│▒▒│
│⸱⸱│
│▒▒│
│⸱⸱│
│▒▒│
│⸱⸱│
│⸱⸱│
│⸱⸱│
│⸱⸱│
│⸱⸱│
│⸱⸱│
│⸱⸱tt⸱⸱│
│⸱⸱│
└──┘

(I trimmed only the sides because the image was taller than
my screen, which made it difficult to inspect the entire
image in the Y direction.)

Then Niols posted inkscape command lines to produce:

C   ┌──┐
│▒▒│
│⸱⸱│
│▒▒│
│⸱⸱│
│▒▒│
│⸱⸱│
│⸱

Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-07 Thread Trevor Bača
On Wed, Jan 6, 2021 at 2:29 PM David Wright 
wrote:

> On Wed 06 Jan 2021 at 11:34:24 (-0500), Trevor Bača wrote:
> > On Tue, Jan 5, 2021 at 11:31 PM David Wright wrote:
> > > On Tue 05 Jan 2021 at 19:05:30 (-0500), Trevor Bača wrote:
> > > > I love the functionality for cropped SVGs! (Added back in 2019, or
> around
> > > > then?)
> > > >
> > > > Question: it appears that cropped multisystem SVGs remove all
> whitespace
> > > > between systems. Is this supposed to happen?
> > >
> > > I think that removing all the margins is the functionality "crop" is
> > > supposed to add to LP. To generate the equivalent cropped and packed
> > > image without this facility would be quite tedious to do (unless
> > > someone has a trick for doing it?).
> > >
> > > > %%% BEGIN %%%
> > > > […]
> > > > %%% END %%%
> > > >
> > > > Called with ...
> > > >lilypond -dbackend=svg -dcrop test.ly
> > > > ... produces test.cropped.svg as attached here.
> > > >
> > > > Screenshot:
> > > > […]
> > > >
> > > > Seems like cropping should be around the edges of the image (rather
> than
> > > > between systems)?
> > >
> > > If you just want to crop the whole page image, you can do that easily
> > > at the end of a normal run with the usual utilities. If you require
> > > LP to set the entire score on a single page, just use a very long
> > > custom page (as in NR §4.1.2: width, then length).
> >
> > I'm sorry; I don't understand.
> >
> > What I want Lily to do: remove whitespace from the *edges* of an SVG.
>
> As I said, you run LP as normal, and then trim to taste. So, taking
> your example, I ran it with
> $ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dno-point-and-click
> Bača.ly
> and then edited the first line of Bača.svg, resulting in Bača-trimmed.svg.
> The end of the first line is modified from
>  width="210.00mm" height="297.00mm" viewBox="0 0 119.5016 169.0094">
> to
>  width="192.00mm" height="297.00mm" viewBox="4.5 0 109.5016 169.0094">
> which I did by inspection. As you use SVG files in your workflow,
> I assume you can carry this out more easily and precisely¹ with some
> particular tool. (I'm PDF-centric myself.) I only considered X because
> I was inspecting the file on a landscape screen (and you didn't remove
> the tagline anyway).
>
> > What Lily actually does when -dcrop is set: removes whitespace from the
> > edges *and from between all systems* of an SVG.
>
> That's right, so that your file contains all the information,
> unencumbered by margins, ready for some sort of further processing.
> Obviously, I don't know what that will be in your case.
>
> It reminds me of those PNG files that you find in browsers' cache,
> which have a strip or grid of little images that are used internally,
> either as a toolbar, or displayed sequentially like a movie.
>
> > So my question is: is Lily supposed to remove whitespace from *between*
> > systems when -d[c]rop is set?
>
> AIUI yes. But this is policy: I await pronouncements from higher-ups.
>
> ¹ I believe the modifications need to be kept proportional, in order
>   to preserve the aspect ratio.
>

Hi David,

I really appreciate the responses, but I'm even more confused than before.

When you ran ...

$ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dno-point-and-click
Bača.ly

... why didn't you include the -dcrop option?


-- 
Trevor Bača
www.trevorbaca.com
soundcloud.com/trevorbaca


Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-06 Thread Niols

Hello,

On 06/01/2021 20:29, David Wright wrote:

On Wed 06 Jan 2021 at 11:34:24 (-0500), Trevor Bača wrote:

What I want Lily to do: remove whitespace from the *edges* of an SVG.


As I said, you run LP as normal, and then trim to taste. So, taking
your example, I ran it with
$ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dno-point-and-click Bača.ly
and then edited the first line of Bača.svg, resulting in Bača-trimmed.svg.
The end of the first line is modified from
  width="210.00mm" height="297.00mm" viewBox="0 0 119.5016 169.0094">
to
  width="192.00mm" height="297.00mm" viewBox="4.5 0 109.5016 169.0094">
which I did by inspection. As you use SVG files in your workflow,
I assume you can carry this out more easily and precisely¹ with some
particular tool. (I'm PDF-centric myself.) I only considered X because
I was inspecting the file on a landscape screen (and you didn't remove
the tagline anyway).


In term of particular tool, I personnaly use Inkscape for this task. 
This is probably far from optimal but it works nicely. For Inkscape < 
1.0, the following:


inkscape --without-gui --export-area-drawing 
--export-plain-svg=output.cropped.svg input.svg


For Inkscape >= 1.0, the following:

inkscape --export-area-drawing --export-plain-svg 
--export-filename=output.cropped.svg input.svg


or in short:

inkscape -Dlo output.cropped.svg input.svg

I suppose there might be faster lighter tools for that and I would love 
to hear from them.


Best,
— Niols



Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-06 Thread David Wright
On Wed 06 Jan 2021 at 11:34:24 (-0500), Trevor Bača wrote:
> On Tue, Jan 5, 2021 at 11:31 PM David Wright wrote:
> > On Tue 05 Jan 2021 at 19:05:30 (-0500), Trevor Bača wrote:
> > > I love the functionality for cropped SVGs! (Added back in 2019, or around
> > > then?)
> > >
> > > Question: it appears that cropped multisystem SVGs remove all whitespace
> > > between systems. Is this supposed to happen?
> >
> > I think that removing all the margins is the functionality "crop" is
> > supposed to add to LP. To generate the equivalent cropped and packed
> > image without this facility would be quite tedious to do (unless
> > someone has a trick for doing it?).
> >
> > > %%% BEGIN %%%
> > > […]
> > > %%% END %%%
> > >
> > > Called with ...
> > >lilypond -dbackend=svg -dcrop test.ly
> > > ... produces test.cropped.svg as attached here.
> > >
> > > Screenshot:
> > > […]
> > >
> > > Seems like cropping should be around the edges of the image (rather than
> > > between systems)?
> >
> > If you just want to crop the whole page image, you can do that easily
> > at the end of a normal run with the usual utilities. If you require
> > LP to set the entire score on a single page, just use a very long
> > custom page (as in NR §4.1.2: width, then length).
> 
> I'm sorry; I don't understand.
> 
> What I want Lily to do: remove whitespace from the *edges* of an SVG.

As I said, you run LP as normal, and then trim to taste. So, taking
your example, I ran it with
$ lilypond-2.21.80-1.linux-64/bin/lilypond --svg -dno-point-and-click Bača.ly
and then edited the first line of Bača.svg, resulting in Bača-trimmed.svg.
The end of the first line is modified from
 width="210.00mm" height="297.00mm" viewBox="0 0 119.5016 169.0094">
to
 width="192.00mm" height="297.00mm" viewBox="4.5 0 109.5016 169.0094">
which I did by inspection. As you use SVG files in your workflow,
I assume you can carry this out more easily and precisely¹ with some
particular tool. (I'm PDF-centric myself.) I only considered X because
I was inspecting the file on a landscape screen (and you didn't remove
the tagline anyway).

> What Lily actually does when -dcrop is set: removes whitespace from the
> edges *and from between all systems* of an SVG.

That's right, so that your file contains all the information,
unencumbered by margins, ready for some sort of further processing.
Obviously, I don't know what that will be in your case.

It reminds me of those PNG files that you find in browsers' cache,
which have a strip or grid of little images that are used internally,
either as a toolbar, or displayed sequentially like a movie.

> So my question is: is Lily supposed to remove whitespace from *between*
> systems when -d[c]rop is set?

AIUI yes. But this is policy: I await pronouncements from higher-ups.

¹ I believe the modifications need to be kept proportional, in order
  to preserve the aspect ratio.

Cheers,
David.
\paper
{
system-system-spacing.minimum-distance = #20
}

\new Score {
c'1
\break
c'1
\break
c'1
}


Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-06 Thread Trevor Bača
On Tue, Jan 5, 2021 at 11:31 PM David Wright 
wrote:

> On Tue 05 Jan 2021 at 19:05:30 (-0500), Trevor Bača wrote:
> > I love the functionality for cropped SVGs! (Added back in 2019, or around
> > then?)
> >
> > Question: it appears that cropped multisystem SVGs remove all whitespace
> > between systems. Is this supposed to happen?
>
> I think that removing all the margins is the functionality "crop" is
> supposed to add to LP. To generate the equivalent cropped and packed
> image without this facility would be quite tedious to do (unless
> someone has a trick for doing it?).
>
> > %%% BEGIN %%%
> > […]
> > %%% END %%%
> >
> > Called with ...
> >lilypond -dbackend=svg -dcrop test.ly
> > ... produces test.cropped.svg as attached here.
> >
> > Screenshot:
> > […]
> >
> > Seems like cropping should be around the edges of the image (rather than
> > between systems)?
>
> If you just want to crop the whole page image, you can do that easily
> at the end of a normal run with the usual utilities. If you require
> LP to set the entire score on a single page, just use a very long
> custom page (as in NR §4.1.2: width, then length).
>

I'm sorry; I don't understand.

What I want Lily to do: remove whitespace from the *edges* of an SVG.

What Lily actually does when -dcrop is set: removes whitespace from the
edges *and from between all systems* of an SVG.

So my question is: is Lily supposed to remove whitespace from *between*
systems when -drop is set?


-- 
Trevor Bača
www.trevorbaca.com
soundcloud.com/trevorbaca


Re: Why does -dbackend=svg -dcrop remove system-system-spacing?

2021-01-05 Thread David Wright
On Tue 05 Jan 2021 at 19:05:30 (-0500), Trevor Bača wrote:
> I love the functionality for cropped SVGs! (Added back in 2019, or around
> then?)
> 
> Question: it appears that cropped multisystem SVGs remove all whitespace
> between systems. Is this supposed to happen?

I think that removing all the margins is the functionality "crop" is
supposed to add to LP. To generate the equivalent cropped and packed
image without this facility would be quite tedious to do (unless
someone has a trick for doing it?).

> %%% BEGIN %%%
> […]
> %%% END %%%
> 
> Called with ...
>lilypond -dbackend=svg -dcrop test.ly
> ... produces test.cropped.svg as attached here.
> 
> Screenshot:
> […]
> 
> Seems like cropping should be around the edges of the image (rather than
> between systems)?

If you just want to crop the whole page image, you can do that easily
at the end of a normal run with the usual utilities. If you require
LP to set the entire score on a single page, just use a very long
custom page (as in NR §4.1.2: width, then length).

Cheers,
David.



Re: Can system-system spacing be altered within a \score block?

2020-05-02 Thread Thomas Morley
Am Fr., 1. Mai 2020 um 05:33 Uhr schrieb Brent Annable :
>
> Hi all,
>
> I'm currently putting a whole bunch of separate pieces together into one 
> document, and occasionally I want to manually adjust the distance between 
> systems in one piece without affecting the spacing in the others. Because of 
> the file structure I've chosen, I can't include any top-level instructions in 
> \paper blocks without affecting all the other pieces in the document. Is 
> there a way of including an instruction within a \score block (or below), or 
> some other way to help adjust between-system spacing?
>
> Regards,
>
> Brent.

Hi Brent,

please try the code below.
It's not tested beyond the given minimal, thus test it thoroughly
before you use it for serious work.

\version "2.20.0"

#(define (system-system-extra-offset-per-score number)
"Sets @code{'counter}, defaulting to zero, in @code{ly:grob-layout} using
@code{1+}.
Relying on the read @code{'counter}, @code{'line-break-system-details}'s
subproperty @code{'extra-offset} will be adjusted by the multiplication of
@code{'counter}, starting with zero, and @var{number}.

As a result the first system of a score is not affected, follow up system's
Y-positions will be adjusted to get a different spacing, adding calculated
multiples of @var{number} to the default."
;; See NR 4.4.2 Explicit staff and system positioning
;; for more info about 'line-break-system-details and the 'extra-offset there
  (lambda (grob)
(if (positive? (ly:item-break-dir grob))
(begin
  (ly:output-def-set-variable! (ly:grob-layout grob)
'counter
(1+ (ly:output-def-lookup (ly:grob-layout grob) 'counter 0)))

  (let ((val (ly:output-def-lookup (ly:grob-layout grob) 'counter 0)))
(ly:grob-set-property! grob 'line-break-system-details
  `((extra-offset . (0 . ,(* (1- val) number))

scoreSystemSystemExtraOffset =
#(define-music-function (nmbr)(number?)
"Set @code{Score.NonMusicalPaperColumn.after-line-breaking} to the procedure
@code{system-system-extra-offset-per-score} taking @var{nmbr] as its argument."
#{
  \override Score.NonMusicalPaperColumn.after-line-breaking =
#(system-system-extra-offset-per-score nmbr)
#})

%
%% Examples
%

\paper {
  ragged-right = ##f
  indent = 0
}

%1
\score {
  << R1 R >>
  \header { piece = \markup \rounded-box \fill-line { "Piece 1" } }
}

%2
\score {
  <<
{ \partial 4 r4 R1 \break R1 \break R1 }
{ \partial 4 r4 R1 \break R1 \break R1 }
  >>
  \header { piece = \markup \rounded-box \fill-line { "Piece 2" } }
  \layout {
\scoreSystemSystemExtraOffset #-15
  }
}

\pageBreak

%3
\score {
  <<
{ R1 \break R1 }
{ R1 \break R1 }
  >>
  \header { piece = \markup \rounded-box \fill-line { "Piece 3" } }
  \layout {
  \scoreSystemSystemExtraOffset #6
  }
}


Cheers,
  Harm



Re: Can system-system spacing be altered within a \score block?

2020-05-01 Thread Pierre Perol-Schneider
Oh no, that would cause errors for sure.
So, you'll have some work for sure...
Cheers,
Pierre
(PS. don't forget to reply to the list)

Le ven. 1 mai 2020 à 17:19, Brent Annable  a écrit :

> Hey Pierre,
>
> Aha, I see an unfortunate coincidence has muddied the waters a little. By
> pure chance, the three sample files I sent you contain unique variable
> names for all the music, which allows them to be included in the master
> file without a problem. But the whole project contains around 70 such
> files, many with multiple score blocks, and all using exactly the same
> variable names (rightOne, rightOneAlt, rightOneAltII, etc.) So while your
> solution does work, what I am looking for is one that allows me to include
> all the files as they are without having to rename all the variables first.
>
> Sorry for the mess up. Do you have any ideas for if the music variables in
> the three files all have the same names?
>
> Brent.
>
> On Fri, 1 May 2020 at 23:06, Pierre Perol-Schneider <
> pierre.schneider.pa...@gmail.com> wrote:
>
>> Brent, please find herewith the modified files.
>> Cheers,
>> Pierre
>>
>> Le ven. 1 mai 2020 à 12:57, Brent Annable  a
>> écrit :
>>
>>> Hi Pierre,
>>>
>>> Thanks for your answer. I did try that, but because of my file structure
>>> it doesn't work. As soon as I use \bookpart anywhere in my master file, the
>>> output is corrupted for some reason -- probably because I'm including
>>> multiple files that use higher-level expressions and variables with the
>>> same names. I could reorganize everything, but that's precisely the hassle
>>> I'm trying to avoid.
>>>
>>> I enclose a few files as an example. What I want to do is bring the
>>> systems of 'All things bright and beautiful' closer together on the page.
>>> If I do ragged-bottom = ##t they are too close together; I could insert
>>> some \vspaces to move the whole piece down a bit, but the systems remain
>>> too bunched-up for my liking. If I put the coding for that section into a
>>> \bookpart block, the output is immediately corrupted, so I can't use a
>>> separate \paper block to achieve what I want.
>>>
>>> Any ideas on the best way to solve this?
>>>
>>> Regards,
>>>
>>> Brent.
>>>
>>> On Fri, 1 May 2020 at 16:09, Pierre Perol-Schneider <
>>> pierre.schneider.pa...@gmail.com> wrote:
>>>
 Hi Brent,
 You can put the paper bloc in a bookpart, e.g.:

 \version "2.20.0"

 music = { \repeat unfold 100 s1 }

 \book {
   \bookpart {
 \score { \music }
 \header { piece = \markup\bold\fontsize #5 \fill-line { "15" } }
 \paper { system-system-spacing.basic-distance = 15 }
   }
   \bookpart {
 \score { \music }
 \header { piece = \markup\bold\fontsize #5 \fill-line { "20" } }
 \paper { system-system-spacing.basic-distance = 20 }
   }
   \bookpart {
 \score { \music }
 \header { piece = \markup\bold\fontsize #5 \fill-line { "30" } }
 \paper { system-system-spacing.basic-distance = 30 }
   }
 }

 HTH,
 Cheers,
 Pierre

 Le ven. 1 mai 2020 à 05:32, Brent Annable  a
 écrit :

> Hi all,
>
> I'm currently putting a whole bunch of separate pieces together into
> one document, and occasionally I want to manually adjust the distance
> between systems in one piece without affecting the spacing in the others.
> Because of the file structure I've chosen, I can't include any top-level
> instructions in \paper blocks without affecting all the other pieces in 
> the
> document. Is there a way of including an instruction within a \score block
> (or below), or some other way to help adjust between-system spacing?
>
> Regards,
>
> Brent.
>



Re: Can system-system spacing be altered within a \score block?

2020-05-01 Thread Pierre Perol-Schneider
Brent, please find herewith the modified files.
Cheers,
Pierre

Le ven. 1 mai 2020 à 12:57, Brent Annable  a écrit :

> Hi Pierre,
>
> Thanks for your answer. I did try that, but because of my file structure
> it doesn't work. As soon as I use \bookpart anywhere in my master file, the
> output is corrupted for some reason -- probably because I'm including
> multiple files that use higher-level expressions and variables with the
> same names. I could reorganize everything, but that's precisely the hassle
> I'm trying to avoid.
>
> I enclose a few files as an example. What I want to do is bring the
> systems of 'All things bright and beautiful' closer together on the page.
> If I do ragged-bottom = ##t they are too close together; I could insert
> some \vspaces to move the whole piece down a bit, but the systems remain
> too bunched-up for my liking. If I put the coding for that section into a
> \bookpart block, the output is immediately corrupted, so I can't use a
> separate \paper block to achieve what I want.
>
> Any ideas on the best way to solve this?
>
> Regards,
>
> Brent.
>
> On Fri, 1 May 2020 at 16:09, Pierre Perol-Schneider <
> pierre.schneider.pa...@gmail.com> wrote:
>
>> Hi Brent,
>> You can put the paper bloc in a bookpart, e.g.:
>>
>> \version "2.20.0"
>>
>> music = { \repeat unfold 100 s1 }
>>
>> \book {
>>   \bookpart {
>> \score { \music }
>> \header { piece = \markup\bold\fontsize #5 \fill-line { "15" } }
>> \paper { system-system-spacing.basic-distance = 15 }
>>   }
>>   \bookpart {
>> \score { \music }
>> \header { piece = \markup\bold\fontsize #5 \fill-line { "20" } }
>> \paper { system-system-spacing.basic-distance = 20 }
>>   }
>>   \bookpart {
>> \score { \music }
>> \header { piece = \markup\bold\fontsize #5 \fill-line { "30" } }
>> \paper { system-system-spacing.basic-distance = 30 }
>>   }
>> }
>>
>> HTH,
>> Cheers,
>> Pierre
>>
>> Le ven. 1 mai 2020 à 05:32, Brent Annable  a
>> écrit :
>>
>>> Hi all,
>>>
>>> I'm currently putting a whole bunch of separate pieces together into one
>>> document, and occasionally I want to manually adjust the distance between
>>> systems in one piece without affecting the spacing in the others. Because
>>> of the file structure I've chosen, I can't include any top-level
>>> instructions in \paper blocks without affecting all the other pieces in the
>>> document. Is there a way of including an instruction within a \score block
>>> (or below), or some other way to help adjust between-system spacing?
>>>
>>> Regards,
>>>
>>> Brent.
>>>
>>
\version "2.19"

rightOneAltII = \relative c' {
  
  \key g\major
  %\partial 4
  \oneVoice R1
  
  R1
  s2 d8 e16 fis g a b c \break
  \voiceOne d4. c8 b\arpeggio d c a \oneVoice
  2 4. g8--
  g-- fis-- g-- a-- 2\fermata
  
  
  
}

rightTwoAltII = \relative c'' {
  \key g\major
  s1 s1 s1
  a4 gis e e
  %\partial 4 
 
  
  
  
}

leftOneAltII = \relative c' {
  \key g\major
  %\partial 4
  \clef bass a4. b8 c b a4
  b4. c8 d c b4
  s1
  b4 b c\arpeggio a
  s1
  s1
  
}

leftTwoAltII = \relative c {
  \key g\major
  %\partial 4
  d4. g8 d g d4
  g4. d8 g d g4
  d8 e16 fis g a b c s2
  f,4 e a, c
  \oneVoice d-- e-- d4.-- g8--
  g-- fis-- -- -- 2\fermata
  
  
   \bar "|."
  
}


%{
\score {
  
  \header {
%piece = \markup \bold \underline \large "Cwm Rhondda"
}
  
  \new PianoStaff  <<
\set PianoStaff.connectArpeggios = ##t
  \override PianoStaff.Arpeggio.stencil = #ly:arpeggio::brew-chord-bracket
\new Staff = "right"  << \rightOneAltII \\ \rightTwoAltII >>
\new Staff = "left"   << \leftOneAltII \\ \leftTwoAltII >>
  >>
  \layout { ragged-last = ##f}
  
}
%}
\version "2.19"

%{\header {
  title = "All things bright and beautiful"
  subtitle = "TIS 135"
  composer = "Alan Collyer"
  piece = \markup \bold \underline \large "Intonation"
  tagline = ""
}
%}
% <<\voiceOne {} \new Voice {\voiceTwo } >>
% \override Stem.length = 4.6
% \once \override PianoStaff.Arpeggio.extra-offset = #'(0.9 . 0.0)

global = {
  \key d \major
  \time 4/4
  \override BreathingSign.text = \markup {
\line {
  \musicglyph #"scripts.lvarcomma"
}
  }
}

rightOne = \relative c'' {
  \global
  %\partial 4
  \voiceOne fis8 g a4 a e
  d8 e fis4 fis4. c8
  b cis d4 d4. fis8
  e[ fis] e d cis[ b] a g \break
  d'4 fis, g b
  a4. fis8 d4 b'
  a d fis,4. e8 
  d4. cis8 d8 e fis e
  fis g a4 a b8 cis \break
  d e fis4 fis4. c8
  b8 cis d4 d4. c8
  b8 cis d4 cis8 d e4 d1~-\tweak Y-offset 3.5^\markup {\italic "rall."}
  d1\fermata
}

rightTwo = \relative c'' {
  \global
  %\partial 4 
  d8 e fis4 e8[ d] cis a
  b cis d4 c8 b a4
  g8 a b4 a8 g fis4
  g8 a g4 a8 g fis e
  fis e d4 d cis
  a8 b cis2 e8 cis
  cis d e g b, d cis4
  d4. cis8 b cis d4
  d8 e fis4 e8 fis g a
  b cis d4 c8 b a4
  g8 a b4 a8 g fis4
  g8 a b8 g a4 a8 g 
  fis8 b a g fis g fis e 
  fis1\fermata
}

leftOne = \relative c' {
  \global
  s1*12
  r4 cis8 b a b a g
  a1 \fermata
} %}

leftTwo = \relative c {
  \global
  %\partial 4
 

Re: Can system-system spacing be altered within a \score block?

2020-05-01 Thread Kieren MacMillan
Hi Brent,

> What I want to do is bring the systems of 'All things bright and beautiful' 
> closer together on the page. If I do ragged-bottom = ##t they are too close 
> together; I could insert some \vspaces to move the whole piece down a bit, 
> but the systems remain too bunched-up for my liking. If I put the coding for 
> that section into a \bookpart block, the output is immediately corrupted, so 
> I can't use a separate \paper block to achieve what I want.
> 
> Any ideas on the best way to solve this?

How much work are you willing/able to do in the individual files?
And are you familiar with the edition-engraver?

Once I know the answer to those two questions, I can better offer my "best 
solution" in your situation.

Cheers,
Kieren.


Re: Can system-system spacing be altered within a \score block?

2020-05-01 Thread Brent Annable
Hi Pierre,

Thanks for your answer. I did try that, but because of my file structure it
doesn't work. As soon as I use \bookpart anywhere in my master file, the
output is corrupted for some reason -- probably because I'm including
multiple files that use higher-level expressions and variables with the
same names. I could reorganize everything, but that's precisely the hassle
I'm trying to avoid.

I enclose a few files as an example. What I want to do is bring the systems
of 'All things bright and beautiful' closer together on the page. If I do
ragged-bottom = ##t they are too close together; I could insert some
\vspaces to move the whole piece down a bit, but the systems remain too
bunched-up for my liking. If I put the coding for that section into a
\bookpart block, the output is immediately corrupted, so I can't use a
separate \paper block to achieve what I want.

Any ideas on the best way to solve this?

Regards,

Brent.

On Fri, 1 May 2020 at 16:09, Pierre Perol-Schneider <
pierre.schneider.pa...@gmail.com> wrote:

> Hi Brent,
> You can put the paper bloc in a bookpart, e.g.:
>
> \version "2.20.0"
>
> music = { \repeat unfold 100 s1 }
>
> \book {
>   \bookpart {
> \score { \music }
> \header { piece = \markup\bold\fontsize #5 \fill-line { "15" } }
> \paper { system-system-spacing.basic-distance = 15 }
>   }
>   \bookpart {
> \score { \music }
> \header { piece = \markup\bold\fontsize #5 \fill-line { "20" } }
> \paper { system-system-spacing.basic-distance = 20 }
>   }
>   \bookpart {
> \score { \music }
> \header { piece = \markup\bold\fontsize #5 \fill-line { "30" } }
> \paper { system-system-spacing.basic-distance = 30 }
>   }
> }
>
> HTH,
> Cheers,
> Pierre
>
> Le ven. 1 mai 2020 à 05:32, Brent Annable  a
> écrit :
>
>> Hi all,
>>
>> I'm currently putting a whole bunch of separate pieces together into one
>> document, and occasionally I want to manually adjust the distance between
>> systems in one piece without affecting the spacing in the others. Because
>> of the file structure I've chosen, I can't include any top-level
>> instructions in \paper blocks without affecting all the other pieces in the
>> document. Is there a way of including an instruction within a \score block
>> (or below), or some other way to help adjust between-system spacing?
>>
>> Regards,
>>
>> Brent.
>>
>
arpOffIII = { \once \override PianoStaff.Arpeggio.extra-offset = #'(0.3 . 0.0)}
arpOffIV = { \once \override PianoStaff.Arpeggio.extra-offset = #'(0.4 . 0.0)}
arpOffV = { \once \override PianoStaff.Arpeggio.extra-offset = #'(0.5 . 0.0)}
arpOffVI = { \once \override PianoStaff.Arpeggio.extra-offset = #'(0.6 . 0.0)}
arpOffVII = { \once \override PianoStaff.Arpeggio.extra-offset = #'(0.7 . 0.0)}
arpOffVIII = { \once \override PianoStaff.Arpeggio.extra-offset = #'(0.8 . 0.0)}
arpOffIX = { \once \override PianoStaff.Arpeggio.extra-offset = #'(0.9 . 0.0)}
arpOffX = { \once \override PianoStaff.Arpeggio.extra-offset = #'(1.0 . 0.0)}
arpOffXI = { \once \override PianoStaff.Arpeggio.extra-offset = #'(1.1 . 0.0)}
arpOffXII = { \once \override PianoStaff.Arpeggio.extra-offset = #'(1.2 . 0.0)}

breatheSymbol = {\override BreathingSign.text = \markup {
\line {
  \musicglyph #"scripts.lvarcomma"
}
  }}

pcc = {\partcombineChords}
pca = {\partcombineApart}
pcau = {\partcombineAutomatic}

ssf = {\once \override Stem.length = 4.6}
ss = { 
   \once \override Stem.length = 
#(lambda (grob) (- (ly:stem::calc-length grob) 1.5)) 
 }

stemOff = {\once \hide Staff.Stem}
tsOff = {\once \override Score.TimeSignature.stencil = ##f}
ov = {\once \oneVoice}
ovo = {\once \voiceOne}
ovt = {\once \voiceTwo}
sd = {\once \stemDown}
su = {\once \stemUp}
tn = {\once \tieNeutral }
td = {\once \tieDown}
tu = {\once \tieUp}
pca = {\once \partcombineApart}

startParenthesis = {
  \once \override ParenthesesItem.stencils = #(lambda (grob)
(let ((par-list (parentheses-item::calc-parenthesis-stencils grob)))
  (list (car par-list) point-stencil )))
}

endParenthesis = {
  \once \override ParenthesesItem.stencils = #(lambda (grob)
(let ((par-list (parentheses-item::calc-parenthesis-stencils grob)))
  (list point-stencil (cadr par-list
}

parch =  #(define-music-function (parser location gap) (number?) 
#{
   \once \override Arpeggio #'stencil = #(lambda (grob)
 (ly:stencil-add
   (ly:arpeggio::brew-chord-slur grob)
   (ly:stencil-translate-axis 
 (ly:stencil-rotate (ly:arpeggio::brew-chord-slur grob) 180 0 0)
 gap X)))
   \once \override Arpeggio #'X-extent = #(lambda (grob)
 (ly:stencil-extent (ly:arpeggio::brew-chord-slur grob) X))
   \once \override Arpeggio #'positions = #(lambda (grob) 
 (interval-widen (ly:arpeggio::calc-positions grob) 0.5))
   $(make-music 'EventChord 'elements (list (make-music 'ArpeggioEvent)))
#})

#(define-markup-command (openBracket layout props heitgh) (number?)
   (interpret-markup layout props
 (markup #:line 

Re: Can system-system spacing be altered within a \score block?

2020-04-30 Thread Pierre Perol-Schneider
Hi Brent,
You can put the paper bloc in a bookpart, e.g.:

\version "2.20.0"

music = { \repeat unfold 100 s1 }

\book {
  \bookpart {
\score { \music }
\header { piece = \markup\bold\fontsize #5 \fill-line { "15" } }
\paper { system-system-spacing.basic-distance = 15 }
  }
  \bookpart {
\score { \music }
\header { piece = \markup\bold\fontsize #5 \fill-line { "20" } }
\paper { system-system-spacing.basic-distance = 20 }
  }
  \bookpart {
\score { \music }
\header { piece = \markup\bold\fontsize #5 \fill-line { "30" } }
\paper { system-system-spacing.basic-distance = 30 }
  }
}

HTH,
Cheers,
Pierre

Le ven. 1 mai 2020 à 05:32, Brent Annable  a écrit :

> Hi all,
>
> I'm currently putting a whole bunch of separate pieces together into one
> document, and occasionally I want to manually adjust the distance between
> systems in one piece without affecting the spacing in the others. Because
> of the file structure I've chosen, I can't include any top-level
> instructions in \paper blocks without affecting all the other pieces in the
> document. Is there a way of including an instruction within a \score block
> (or below), or some other way to help adjust between-system spacing?
>
> Regards,
>
> Brent.
>


Can system-system spacing be altered within a \score block?

2020-04-30 Thread Brent Annable
Hi all,

I'm currently putting a whole bunch of separate pieces together into one
document, and occasionally I want to manually adjust the distance between
systems in one piece without affecting the spacing in the others. Because
of the file structure I've chosen, I can't include any top-level
instructions in \paper blocks without affecting all the other pieces in the
document. Is there a way of including an instruction within a \score block
(or below), or some other way to help adjust between-system spacing?

Regards,

Brent.


Re: system-system-spacing

2019-11-14 Thread Aaron Hill

On 2019-11-14 3:16 pm, Paolo Prete wrote:

Hello,
the following syntax was good for some old version of lilypond but
obsolete for 2.19:
\paper {    system-system-spacing #'basic-distance = #28 ...


Please refer to [1] for an example of adjusting paper settings.

[1]: 
http://lilypond.org/doc/v2.19/Documentation/notation/flexible-vertical-spacing-paper-variables



-- Aaron Hill



system-system-spacing

2019-11-14 Thread Paolo Prete
Hello,
the following syntax was good for some old version of lilypond but obsolete for 
2.19:
\paper {    system-system-spacing #'basic-distance = #28 ...

How can I replace it?
Thanks

Changing system-system-spacing for individual scores

2017-03-22 Thread Hendrik Fuß
Hi,

I'm trying to typeset etudes with variations (alternative bowings,
articulations etc. for the same music) at the bottom. The variations should
be printed in small.

Minimal example:

music = \repeat unfold 32 { c'' d'' e'' f'' }

% Default size
\score {
\music
}

% Small staves for variations
\score {
\layout {
#(layout-set-staff-size 16)
}
\music
}

Problem: I find that the space between systems in the small section is too
big.

Changing spacings in the paper block would affect both normal size and
small size scores. How can I reduce the system-system-spacing without
affecting the normal size layout?

cheers
Hendrik
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: system-system-spacing unevenness

2015-02-21 Thread Jim Long
Thank you very much, Harm.

On Sat, Feb 21, 2015 at 10:52:52PM +0100, Thomas Morley wrote:
> 
> 
> harmonies = \new ChordNames
> \with {
>   %% !!!
>   %% from NR:
>   %% "Setting staff-affinity to #f causes a non-staff line to be treated
>   %% as a staff."
>   %% Now 'ChordNames' are recognized by the spacing-engine and equal
>   %% spacing should result, meaning the space between the upper Staff
>   %% for melody and the ChordNames are always the same (not the space
>   %% between two melody-Staffs, though.)
>   %% More, 'VerticalAxisGroup.staff-staff-spacing' will work now, as a 
> valid
>   %% setting for score-spacing
>   %% !!!
>   \override VerticalAxisGroup.staff-affinity = ##f %% default is 
> @code{DOWN}
>   \override VerticalAxisGroup.staff-staff-spacing = #'(
>   (basic-distance . 0.5)
>   (minimum-distance . 0.5)
>   (padding . 1)
>   (stretchability . 0)
> )
> }
> \chordmode {
>   \repeat unfold 9 { c2 a2:m | f2 g2 | s4 c s a:m | f2 g2 }
> }

I did not know that Lily does not by default recognize a
ChordNames context as a "staff" for the purposes of system
spacing!  I always associated my problem with the RhythmicStaff,
because the wider-than-usual system spacing happened whenever
there was a non-hidden RhythmicStaff in a given system.

I can now make some aesthetic improvements to several of my
charts.

Thanks again!

Jim

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: system-system-spacing unevenness

2015-02-21 Thread Trevor Daniels

Jim Long wrote Saturday, February 21, 2015 7:55 PM


> I'd like to take just a slight tangent on the recent thread about
> increasing system-system-spacing.  I often have scores that show
> up with uneven spacing.  A tiny example is attached.
> 
> First, is it syntactically correct?

Yes; not sure the semantics are optimum though.

> And second, how can I get the system spacing more even?

The easiest way is to remove
\context { \RhythmicStaff \RemoveEmptyStaves }
It's then much more even.

There is always
http://www.lilypond.org/doc/v2.19/Documentation/notation/explicit-staff-and-system-positioning

Trevor
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: system-system-spacing unevenness

2015-02-21 Thread Thomas Morley
2015-02-21 20:55 GMT+01:00 Jim Long :
> I'd like to take just a slight tangent on the recent thread about
> increasing system-system-spacing.  I often have scores that show
> up with uneven spacing.  A tiny example is attached.
>
> First, is it syntactically correct?
>
> And second, how can I get the system spacing more even?
>
> The example intentionally doesn't alter system-system spacing
> anywhere.  Instead, it just uses ragged-last-bottom = ##f.  I
> would like the spacing to be equally distributed.  There are 8
> gaps between the 9 systems, but the system-system gaps are
> unequal in size.
>
> How can I get the systems to be equally spaced?
>
> Thanks!
>
> Jim


Hi,

instead of trying to explain things, I paste your code with several
comments below.

In general, LilyPonds spacing-engine is a fabulous one, though, and
that's a big "though", it's very hard to understand (and to remember)
how it works and how to get the disered results.
Speaking only for me, I have to _study_ (not a quick glance as mostly,
like "how was that spelled?") the relevant parts of the NR _every_
time I manipulate spacing-settings.

But 'annotate-spacing' is your friend!

\version "2.18.0"

\paper {
ragged-last-bottom = ##t
%% 'annotate-spacing' is your friend
%annotate-spacing = ##t
}

\paper {
  %% settings for page-layout
  %% the default (taken from paper-defaults-init.ly)
  %system-system-spacing =
  %  #'((basic-distance . 12)
  % (minimum-distance . 8)
  % (padding . 1)
  % (stretchability . 60))
}

melody = \new Staff
%% 'melody' is the lowest context, therefore
%% \override VerticalAxisGroup.staff-staff-spacing
%% has no effect
%% use 'system-system-spacing' in \paper as shown above
%% see:
 \with {
   %% a not valid setting for score-spacing:
   \override VerticalAxisGroup.staff-staff-spacing = #'(
   (basic-distance . 100)
   (minimum-distance . 100)
   (padding . 100)
 )
 }
\repeat unfold 9 { \repeat unfold 4 { g4 g'' g'' g'' } \break }


harmonies = \new ChordNames
\with {
  %% !!!
  %% from NR:
  %% "Setting staff-affinity to #f causes a non-staff line to be treated
  %% as a staff."
  %% Now 'ChordNames' are recognized by the spacing-engine and equal
  %% spacing should result, meaning the space between the upper Staff
  %% for melody and the ChordNames are always the same (not the space
  %% between two melody-Staffs, though.)
  %% More, 'VerticalAxisGroup.staff-staff-spacing' will work now, as a valid
  %% setting for score-spacing
  %% !!!
  \override VerticalAxisGroup.staff-affinity = ##f %% default is @code{DOWN}
  \override VerticalAxisGroup.staff-staff-spacing = #'(
  (basic-distance . 0.5)
  (minimum-distance . 0.5)
  (padding . 1)
  (stretchability . 0)
)
}
\chordmode {
  \repeat unfold 9 { c2 a2:m | f2 g2 | s4 c s a:m | f2 g2 }
}


rhythms = \new RhythmicStaff \with {
  \override StaffSymbol.line-count = #0
  \override StaffSymbol.staff-space = #(magstep -3)
  \omit BarLine
  \omit TimeSignature
  \override NoteHead.style = #'slash
  %% a valid setting for score-layout:
  \override VerticalAxisGroup.staff-staff-spacing = #'(
  (basic-distance . 1)
  (minimum-distance . 1)
  (padding . 1)
)
  fontSize = #-2
} { % 36 bars
  \stemDown
  s1*8
  s1 s1 | r4 b r b | b r b r
  s1*4
  s1 s1 | r4 b r b | b r b r
  s1*8
  s1 s1 | r4 b r b | b r b r
  s1 s1 | r4 b r b | b r b r
} % rhythms


\score {
  <<
\harmonies
\rhythms
\melody
  >>
  \layout {
\context { \RhythmicStaff \RemoveEmptyStaves }
  }
}

HTH,
  Harm

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


system-system-spacing unevenness

2015-02-21 Thread Jim Long
I'd like to take just a slight tangent on the recent thread about
increasing system-system-spacing.  I often have scores that show
up with uneven spacing.  A tiny example is attached.

First, is it syntactically correct?

And second, how can I get the system spacing more even?

The example intentionally doesn't alter system-system spacing
anywhere.  Instead, it just uses ragged-last-bottom = ##f.  I
would like the spacing to be equally distributed.  There are 8
gaps between the 9 systems, but the system-system gaps are
unequal in size.

How can I get the systems to be equally spaced?

Thanks!

Jim
\version "2.18.0"

\paper { ragged-last-bottom = ##f }

melody = \new Staff \with {
  \override VerticalAxisGroup.staff-staff-spacing = #'(
  (basic-distance . 1)
  (minimum-distance . 1)
  (padding . 1)
		)
} \repeat unfold 9 { \repeat unfold 4 { g4 g'' g'' g'' } \break }


harmonies = \new ChordNames \with {
  \override VerticalAxisGroup.staff-staff-spacing = #'(
  (basic-distance . 1)
  (minimum-distance . 1)
  (padding . 1)
		)
} \chordmode {
  \repeat unfold 9 { c2 a2:m | f2 g2 | s4 c s a:m | f2 g2 }
}


rhythms = \new RhythmicStaff \with {
  \override StaffSymbol.line-count = #0
  \override StaffSymbol.staff-space = #(magstep -3)
  \omit BarLine
  \omit TimeSignature
  \override NoteHead.style = #'slash
  \override VerticalAxisGroup.staff-staff-spacing = #'(
  (basic-distance . 1)
  (minimum-distance . 1)
  (padding . 1)
		)
  fontSize = #-2
} { % 36 bars
  \stemDown
  s1*8
  s1 s1 | r4 b r b | b r b r
  s1*4
  s1 s1 | r4 b r b | b r b r
  s1*8
  s1 s1 | r4 b r b | b r b r
  s1 s1 | r4 b r b | b r b r
} % rhythms


\score {
  <<
\harmonies
\rhythms
\melody
  >>
  \layout {
\context { \RhythmicStaff \RemoveEmptyStaves }
  }
}


system-spacing-example.pdf
Description: Adobe PDF document
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: System/System spacing

2012-10-13 Thread Adrian Oehm
Hi all

Thanks for your replies - they all pointed me in the right direction.

After a nice hot shower I realised part of my issue was the setting of 
ragged-bottom = ##t in the \paper block of the \book.

What I didn't realise then (but have worked out now :-) ) is that I can put a 
\paper block into each \bookpart and then control the system-system spacing 
basic-distance there...  And it works.

Thanks again

Adrian


On 14/10/2012, at 12:01 PM, Francisco Vila wrote:

> 2012/10/13 Adrian Oehm :
>> Hi
>> 
>> This is probably a dumb question, but can someone please tell me where to 
>> find info/examples on (or explain how to) increasing the system/system 
>> spacing.
> 
> Suppose we have this score:
> 
> \score { \new Staff \repeat unfold 100 b1 }
> 
> \paper {
>  #(set-paper-size "a5")
> }
> 
> 
> 
> And you want systems to be more spaced out by a minimum amount of 20
> staff-spaces. Add this to the paper block:
> 
> system-system-spacing = #'(
> (basic-distance . 20)
> )
> 
> More complex settings are possible, check out the documentation for
> vertical flexible paper variables. This is an example:
> 
> system-system-spacing = #'((stretchability . 3)
> (basic-distance . 20)
> (minimum-distance . 10)
> (padding . 5))
> 
> This part of our documentation is correct and complete, but I agree in
> that more examples would be very welcome.
> -- 
> Francisco Vila. Badajoz (Spain)
> www.paconet.org , www.csmbadajoz.com


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: System/System spacing

2012-10-13 Thread Francisco Vila
2012/10/13 Adrian Oehm :
> Hi
>
> This is probably a dumb question, but can someone please tell me where to 
> find info/examples on (or explain how to) increasing the system/system 
> spacing.

Suppose we have this score:

\score { \new Staff \repeat unfold 100 b1 }

\paper {
  #(set-paper-size "a5")
}



And you want systems to be more spaced out by a minimum amount of 20
staff-spaces. Add this to the paper block:

system-system-spacing = #'(
 (basic-distance . 20)
 )

More complex settings are possible, check out the documentation for
vertical flexible paper variables. This is an example:

system-system-spacing = #'((stretchability . 3)
 (basic-distance . 20)
 (minimum-distance . 10)
 (padding . 5))

This part of our documentation is correct and complete, but I agree in
that more examples would be very welcome.
-- 
Francisco Vila. Badajoz (Spain)
www.paconet.org , www.csmbadajoz.com

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: System/System spacing

2012-10-13 Thread Janek Warchoł
On Sat, Oct 13, 2012 at 9:53 AM, Adrian Oehm  wrote:
> This is probably a dumb question, but can someone please tell me where to 
> find info/examples on (or explain how to) increasing the system/system 
> spacing.
> Any pointers would be great (I've been scrolling through the manuals all 
> afternoon and can't seem to find something that works...)

A pointer: what you need is described somewhere in Chapter 4 of
Notation Reference
(http://lilypond.org/doc/v2.16/Documentation/notation/spacing-issues),
i don't remember where exactly).

Be sure to use Lilypond version matching the documentation, as David
already said.

hth,
Janek

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


System/System spacing

2012-10-13 Thread wjm

Hi Adrian,
You wrote
+++
This is probably a dumb question, but can someone please tell me where 
to find info/examples on (or explain how to) increasing the 
system/system spacing.

+++
Try Notation Reference
Section 4.1.4
a search for "system-system" will help, maybe! :)

Regards
Bill

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: System/System spacing

2012-10-13 Thread David Kastrup
Adrian Oehm  writes:

> Hi
>
> This is probably a dumb question, but can someone please tell me where
> to find info/examples on (or explain how to) increasing the
> system/system spacing.
>
> I have a piece with 3 systems which looks bunched on the page - I'd
> like to separate them a little more (the piece is part of a book, set
> in a bookpart).
>
> Any pointers would be great (I've been scrolling through the manuals
> all afternoon and can't seem to find something that works...)

Have you used the manuals matching your version of LilyPond?  The ways
of specifying spacing have changed in recent LilyPond versions, so it is
important to consult a manual with a version matching your LilyPond
program.

If you "can't seem to find something that works" in the manuals, it may
very well be that _indeed_ it does not work because of a version
mismatch of your information.

-- 
David Kastrup


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


System/System spacing

2012-10-13 Thread Adrian Oehm
Hi

This is probably a dumb question, but can someone please tell me where to find 
info/examples on (or explain how to) increasing the system/system spacing.

I have a piece with 3 systems which looks bunched on the page - I'd like to 
separate them a little more (the piece is part of a book, set in a bookpart).

Any pointers would be great (I've been scrolling through the manuals all 
afternoon and can't seem to find something that works...)

Thanks

Adrian
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: system-system-spacing in lilypond-book-file

2011-06-29 Thread James Lowe
Stefan,

From: Stefan Thomas [kontrapunktste...@googlemail.com]
Sent: 29 June 2011 20:55
To: James Lowe
Cc: phili...@philmassart.net; lilypond-user
Subject: Re: system-system-spacing in lilypond-book-file

Dear Philippe, dear james, dear community,
I had found the passage You habe mentioned in the documentation before, but I 
didn't understand the sense in the right way.
 For dummies like me an explanation like the following maybee could be better.

"In a latex-document the paper-block doesn't work in a \begin{lilypond} 
\end{lilypond} environment. If You would like to change the distance between 
the systems in a lilypond-environment, embedded in a latex-file, You can do it 
e.g. with:
\newcommand{\betweenLilyPondSystem}[1]{\vspace{36mm}\linebreak}
This line of code should be placed in the latex-header, before 
\begin{document}."

--

Sorry for being dumb, but can you point me to the current documentation where 
this could be better?

There is a LOT of documentation and I am not sure where I need to be looking.

James
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: system-system-spacing in lilypond-book-file

2011-06-29 Thread Stefan Thomas
Dear Philippe, dear james, dear community,
I had found the passage You habe mentioned in the documentation before, but
I didn't understand the sense in the right way.
 For dummies like me an explanation like the following maybee could be
better.

"In a latex-document the paper-block doesn't work in a \begin{lilypond}
\end{lilypond} environment. If You would like to change the distance between
the systems in a lilypond-environment, embedded in a latex-file, You can do
it e.g. with:
\newcommand{\betweenLilyPondSystem}[1]{\vspace{36mm}\linebreak}
This line of code should be placed in the latex-header, before
\begin{document}."





2011/6/29 James Lowe 

> Stefan
> 
> From: 
> lilypond-user-bounces+james.lowe=datacore@gnu.org[lilypond-user-bounces+james.lowe=
> datacore@gnu.org] on behalf of Stefan Thomas [
> kontrapunktste...@googlemail.com]
> Sent: 29 June 2011 07:26
> To: phili...@philmassart.net; lilypond-user
> Subject: Re: system-system-spacing in lilypond-book-file
>
> Dear Philippe,
> thanks for Your explanation. It works fine now.
> I think this should be mentioned explicitly in the manual.
>
> ---
>
> If you could give me a location and which manual, and perhaps some
> explanatory text why/what you think needs adding - it was not clear to me.
>
> I can do that if it is appropriate.
>
> See:
>
>
> http://lilypond.org/doc/v2.13/Documentation/contributor/documentation-suggestions.html
>
> Regards
>
> James
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


RE: system-system-spacing in lilypond-book-file

2011-06-29 Thread James Lowe
Stefan

From: lilypond-user-bounces+james.lowe=datacore@gnu.org 
[lilypond-user-bounces+james.lowe=datacore@gnu.org] on behalf of Stefan 
Thomas [kontrapunktste...@googlemail.com]
Sent: 29 June 2011 07:26
To: phili...@philmassart.net; lilypond-user
Subject: Re: system-system-spacing in lilypond-book-file

Dear Philippe,
thanks for Your explanation. It works fine now.
I think this should be mentioned explicitly in the manual.

---

If you could give me a location and which manual, and perhaps some explanatory 
text why/what you think needs adding - it was not clear to me.

I can do that if it is appropriate.

See:

http://lilypond.org/doc/v2.13/Documentation/contributor/documentation-suggestions.html

Regards

James
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: system-system-spacing in lilypond-book-file

2011-06-29 Thread flup2


Dmytro O. Redchuk-2 wrote:
> 
> I believe it is here:
> http://lilypond.org/doc/v2.14/Documentation/usage/latex
> 
> Isn't it?
> 
> If not, would you please write to bug-lilypond (or here) what exactly
> sould be
> added and to which section of the manual?
> 
> Thank you!
> 

Hello,

The way it's explained in the doc tells mostly about the number of systems
to include in the LaTeX file. For less advanced LaTeX users as I am, it
doesn't look obvious that * betweenLilyPondSystem * can also be used to work
on the space between system and that, in that kind of case, vertical spacing
settings in the lilypond environment have no effect.

Things could be explained like this :

%%%
\betweenLilyPondSystem may also be used to set the space between system, as
vertical spacing settings in a \paper block have no effect since they are
considered as different images. One could specify this way :

\newcommand{\betweenLilyPondSystem}[1]{\vspace{1mm}\linebreak}
%%%

Philippe
-- 
View this message in context: 
http://old.nabble.com/system-system-spacing-in-lilypond-book-file-tp31930124p31952839.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: system-system-spacing in lilypond-book-file

2011-06-29 Thread Dmytro O. Redchuk
On Wed 29 Jun 2011, 08:26 Stefan Thomas wrote:
> Dear Philippe,
> thanks for Your explanation. It works fine now.
> I think this should be mentioned explicitly in the manual.
I believe it is here:
http://lilypond.org/doc/v2.14/Documentation/usage/latex

Isn't it?

If not, would you please write to bug-lilypond (or here) what exactly sould be
added and to which section of the manual?

Thank you!


> Hello,
> >
> > Here is a little explanation about the problem : in fact, when including a
> > lilypond snippet with breaks in a LaTeX document, lilypond-book makes a
> > separate .ly file for each system.
> >
> > In that way, the become 2 images included in a LaTeX file. That's why the
> > \paper {system-system-spacing} block won't do anything.
> >
> > The subject was mentionned 2 years ago here :
> >
> > http://lists.nongnu.org/archive/html/lilypond-devel/2009-01/msg00440.html
> > http://lists.nongnu.org/archive/html/lilypond-devel/2009-01/msg00440.html
> >
> > A possible solution was to add a command in the LaTeX preamble :
> >
> > \newcommand{\
> > betweenLilyPondSystem}[1]{\vspace{1mm}\linebreak}
> >
> > You may of course change the \vspace to the value you want.
> >
> > The question was also mentionned here :
> >
> > http://old.nabble.com/between-system-space-does-not-work-with-lilypond-
> > book-td6988067.html#a6988067
> > http://old.nabble.com/between-system-space-does-not-work-with-lilypond-
> > book-td6988067.html#a6988067
> >
> > Hope this helps.
> >
> > Philippe
> > --
> > View this message in context: http://old.nabble.com/system-system-spacing-
> > in-lilypond-book-file-tp31930124p31945829.html
> > Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.

-- 
  Dmytro O. Redchuk
  Bug Squad

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: system-system-spacing in lilypond-book-file

2011-06-28 Thread Stefan Thomas
Dear Philippe,
thanks for Your explanation. It works fine now.
I think this should be mentioned explicitly in the manual.

Hello,
>
> Here is a little explanation about the problem : in fact, when including a
> lilypond snippet with breaks in a LaTeX document, lilypond-book makes a
> separate .ly file for each system.
>
> In that way, the become 2 images included in a LaTeX file. That's why the
> \paper {system-system-spacing} block won't do anything.
>
> The subject was mentionned 2 years ago here :
>
> http://lists.nongnu.org/archive/html/lilypond-devel/2009-01/msg00440.html
> http://lists.nongnu.org/archive/html/lilypond-devel/2009-01/msg00440.html
>
> A possible solution was to add a command in the LaTeX preamble :
>
> \newcommand{\
> betweenLilyPondSystem}[1]{\vspace{1mm}\linebreak}
>
> You may of course change the \vspace to the value you want.
>
> The question was also mentionned here :
>
> http://old.nabble.com/between-system-space-does-not-work-with-lilypond-
> book-td6988067.html#a6988067
> http://old.nabble.com/between-system-space-does-not-work-with-lilypond-
> book-td6988067.html#a6988067
>
> Hope this helps.
>
> Philippe
> --
> View this message in context: http://old.nabble.com/system-system-spacing-
> in-lilypond-book-file-tp31930124p31945829.html
> Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: system-system-spacing in lilypond-book-file

2011-06-28 Thread flup2

Hello,

Here is a little explanation about the problem : in fact, when including a
lilypond snippet with breaks in a LaTeX document, lilypond-book makes a
separate .ly file for each system. 

In that way, the become 2 images included in a LaTeX file. That's why the
\paper {system-system-spacing} block won't do anything.

The subject was mentionned 2 years ago here :

http://lists.nongnu.org/archive/html/lilypond-devel/2009-01/msg00440.html
http://lists.nongnu.org/archive/html/lilypond-devel/2009-01/msg00440.html 

A possible solution was to add a command in the LaTeX preamble : 

\newcommand{\betweenLilyPondSystem}[1]{\vspace{1mm}\linebreak}

You may of course change the \vspace to the value you want.

The question was also mentionned here : 

http://old.nabble.com/between-system-space-does-not-work-with-lilypond-book-td6988067.html#a6988067
http://old.nabble.com/between-system-space-does-not-work-with-lilypond-book-td6988067.html#a6988067
 

Hope this helps.

Philippe
-- 
View this message in context: 
http://old.nabble.com/system-system-spacing-in-lilypond-book-file-tp31930124p31945829.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: system-system-spacing in lilypond-book-file

2011-06-26 Thread -Eluze


kontrapunktstefan wrote:
> 
> Dear community,
> I tried to change the system-system-spacing in a latex-file. Although I
> was
> able to increase the system-system-spacing by
> embedding the score in a book-context, the output isn't convincing.
> What else could I do?
> 
well, i'm not sure to hit the target, but i think every \book starts a new
page.
then you can use a \paper block in every \book as you need/like it.
for experiments i suggest to use huge values like *system-system-spacing
#'basic-distance = #55* to be sure to see the difference.
i don't know if there is a difference when using latex but without Lilypond
produces 2 pdf files with different system spacing.

hth
Eluze
-- 
View this message in context: 
http://old.nabble.com/system-system-spacing-in-lilypond-book-file-tp31930124p31933216.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: system-system-spacing in lilypond-book-file

2011-06-26 Thread flup2

Hello,

I don't yet know why, but if you add a line   oddFooterMarkup=##f   in your
\paper block, your music fragment doesn't go to the next page.

But I was not yet able so solve the "ragged" problem.

Philippe

-- 
View this message in context: 
http://old.nabble.com/system-system-spacing-in-lilypond-book-file-tp31930124p31931570.html
Sent from the Gnu - Lilypond - User mailing list archive at Nabble.com.


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


system-system-spacing in lilypond-book-file

2011-06-26 Thread Stefan Thomas
Dear community,
I tried to change the system-system-spacing in a latex-file. Although I was
able to increase the system-system-spacing by
embedding the score in a book-context, the output isn't convincing.
What else could I do?

% EXAMPLE %
\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc}
\title{Test }
\author{Stefan}
\date{ }

\begin{document}
\maketitle
How can I increase the distance between the following systems? \\
\begin{lilypond}
 \version "2.14.1."
\paper{system-system-spacing #'basic-distance = #18 }
music = \relative {c4 d e f g1 \break c,4 d e f g1 }
\score {
\new Staff { \music }
}
\end{lilypond} \\
Unfortunately, the paper-block has no effect. Let's try with:\\
\begin{lilypond}
 \version "2.14.1."
\paper{system-system-spacing #'basic-distance = #18 }
music = \relative {c4 d e f g1 \break c,4 d e f g1 }
\book {
\score {
\new Staff { \music }
} }
\end{lilypond} \\
Well, the distance between the systems has become more, but why the music
starts on the next page and why are they ragged?
\end{document}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user