Re: Midiimport für Lilypond/Frescobaldi

2017-04-27 Thread Bernhard Kleine
Hi Carl,

this has been most helpful and I will organize a keyboard for input. How
to record the tunes and to save them will take some time to learn.

With respect to the other contributions, I have Frescobaldi/Lilypond on
win 7. I have seen that VLC mediaplayer has to be supplied with
softfonts e.g. fluid-softfonts. The installation proposal, however, does
not state how to supply this softfonts to the actual VLC. I have still
efforts before me to get MIDI output on my machine.

Kind regards Bernhard


Am 26.04.2017 um 20:16 schrieb Carl Sorensen:
> Andrew Hawryluk has this web page:
> http://www.musicbyandrew.ca/finale-lilypond-4.html
>
> where he describes his preferred way of entering pitches for LilyPond
> using a MIDI keyboard.
>
> HTH,
>
> Carl
>

-- 
spitzhalde9
D-79853 lenzkirch
bernhard.kle...@gmx.net
www.b-kleine.com, www.urseetal.net
-
thunderbird mit enigmail
GPG schlüssel: D5257409
fingerprint:
08 B7 F8 70 22 7A FC C1 15 49 CA A6 C7 6F A0 2E D5 25 74 09




signature.asc
Description: OpenPGP digital signature
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Midiimport für Lilypond/Frescobaldi

2017-04-27 Thread Richard Shann
On Thu, 2017-04-27 at 10:08 +0200, Bernhard Kleine wrote:
> Hi Carl,
> 
> this has been most helpful and I will organize a keyboard for input. How
> to record the tunes and to save them will take some time to learn.
> 
> With respect to the other contributions, I have Frescobaldi/Lilypond on
> win 7. I have seen that VLC mediaplayer has to be supplied with
> softfonts e.g. fluid-softfonts. The installation proposal, however, does
> not state how to supply this softfonts to the actual VLC. I have still
> efforts before me to get MIDI output on my machine.

Denemo will work out of the box to play simple MIDI for you, and it also
has a Playback View which will play LilyPond's MIDI output for you
(which is more sophisticated). Again, this will work out-of-the-box on
windows.

Richard




> 
> Kind regards Bernhard
> 
> 
> Am 26.04.2017 um 20:16 schrieb Carl Sorensen:
> > Andrew Hawryluk has this web page:
> > http://www.musicbyandrew.ca/finale-lilypond-4.html
> >
> > where he describes his preferred way of entering pitches for LilyPond
> > using a MIDI keyboard.
> >
> > HTH,
> >
> > Carl
> >
> 
> ___
> lilypond-user mailing list
> lilypond-user@gnu.org
> https://lists.gnu.org/mailman/listinfo/lilypond-user



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


Re: Midiimport für Lilypond/Frescobaldi

2017-04-27 Thread Robin Bannister

Bernhard Kleine wrote:


With respect to the other contributions, I have Frescobaldi/Lilypond on
win 7. I have seen that VLC mediaplayer has to be supplied with
softfonts e.g. fluid-softfonts. The installation proposal, however, does
not state how to supply this softfonts to the actual VLC. I have still
efforts before me to get MIDI output on my machine.



VLC 32bit 2.0.8 is the last windows version to have
- preferences>input>audiocodecs>fluidsynth

I have win7 64bit and installed the 64bit VLC for normal use.

Occasionally I produce singalong mp3 files from LilyPond midi.
I do this via the 32bit VLC which is installed 'in parallel'.
Maybe a bit dodgy - and so not for regular use?


Cheers,
Robin




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


Re: Line breaks on a "where allowed" basis

2017-04-27 Thread Lukas-Fabian Moser
>
> > Is there a way to get something like
> > "Break at most where allowed by user"?
>
> \once\autoLineBreaksOn ?


Thanks a lot - sometimes it's so easy... :-)

As for Thomas Morley's suggestion (setting penalties), this "sort of"
works, but for me it created fewer line breaks, resulting in a
not-so-pretty sqeezed layout.

> presentation, three to eight measures each; line breaks in the middle of
> an
> > exercise being undesirable, and page breaks in the middle of an exercise
> > being a no-go.)
>
> \once\autoPageBreaksOn
>
> But the latter will not work all that well since LilyPond chooses its
> line breaks independently of its page breaks, so you'll only get a page
> break when the permission coincides by chance with a line break.


This is not a problem in my case - there are plenty of "allowed" line
breaks, and as long as every page break occurs only at an allowed line
break (this sounds quite tautological to me), everything is fine.

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


Re: Line breaks on a "where allowed" basis

2017-04-27 Thread David Kastrup
Lukas-Fabian Moser  writes:

>>
>> > Is there a way to get something like
>> > "Break at most where allowed by user"?
>>
>> \once\autoLineBreaksOn ?
>
>
> Thanks a lot - sometimes it's so easy... :-)
>
> As for Thomas Morley's suggestion (setting penalties), this "sort of"
> works, but for me it created fewer line breaks, resulting in a
> not-so-pretty sqeezed layout.
>
>> presentation, three to eight measures each; line breaks in the middle of
>> an
>> > exercise being undesirable, and page breaks in the middle of an exercise
>> > being a no-go.)
>>
>> \once\autoPageBreaksOn
>>
>> But the latter will not work all that well since LilyPond chooses its
>> line breaks independently of its page breaks, so you'll only get a page
>> break when the permission coincides by chance with a line break.
>
>
> This is not a problem in my case - there are plenty of "allowed" line
> breaks,

Which is the problem.  If only 30% of your allowed line breaks are also
permissable for a page break, the likelihood that any particular line
break is "wrong" for a page break is 70%.

You can actually _also_ work with penalties in order to give more
preference to making line breaks at page-break-friendly position.

But LilyPond will still first create one long strip of paper without
considering page boundaries, and will only then look at where it has
made page-break-friendly line breaks for cutting this strip into pages.

> and as long as every page break occurs only at an allowed line break
> (this sounds quite tautological to me),

Allowed for a line break and allowed for a page break are two different
kinds of thing.

-- 
David Kastrup

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


Re: Center-align a score

2017-04-27 Thread Kieren MacMillan
Hi Simon,

> I'm glad to see my pessimism so thoroughly unfounded :-)

I have learned that “You can’t do that with Lilypond” is a pretty foolish bet — 
especially when David K is on the case.  :)

Best,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re: Center-align a score

2017-04-27 Thread David Kastrup
Kieren MacMillan  writes:

> Hi Simon,
>
>> I'm glad to see my pessimism so thoroughly unfounded :-)
>
> I have learned that “You can’t do that with Lilypond” is a pretty
> foolish bet — especially when David K is on the case.  :)

Well, in this case David N's solution is better since it uses the normal
(skyline-based) page positioning rather than treating everything as
markup lines.

Mine is easier to understand, and the \center-in-line or something more
general (align-in-line?) is really annoyingly absent in the LilyPond
markup toolbox.

So there is certainly _something_ from my proposed solution that should
really be readily available in LilyPond, and it's likely not too hard to
abstract something useful for any kind of markup here.

David N's solution is the better one but it is trickier to identify a
tangible component to abstract into a generally useful utility.

-- 
David Kastrup

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


Re: Center-align a score

2017-04-27 Thread Kieren MacMillan
David,

>> A little trial-and-error is required if doing it manually, but there might 
>> be a way to automate the process.
> Here you go:

You da man! This is *exactly* what I was envisioning. Nicely done.

Now…   ;)

Perhaps there’s a way your new-found [?] knowledge/skill in this area can help 
with a long-time feature request I’ve had: an \offset-like way to nudge systems 
— especially the explicit Y-offset property, but also the alignment-distances 
if possible. Avoiding trial-and-error there would be a huge savings.

Thanks,
Kieren.



Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re:Midiimport f?r Lilypond/Frescobaldi

2017-04-27 Thread Joseph Austin

> On Apr 26, 2017, at 1:21 PM, lilypond-user-requ...@gnu.org wrote:
> 
> Date: Wed, 26 Apr 2017 19:21:06 +0200
> From: Bernhard Kleine  >
> To: lilypond-user@gnu.org 
> Subject: Midiimport f?r Lilypond/Frescobaldi
> Message-ID: <5086c85f-1546-f32a-927e-9d49633c1...@gmx.net 
> >
> Content-Type: text/plain; charset="utf-8"
> 
> I saw the thread in this group four years ago. Is there any new
> information whether a keyboard can be used to produce midi-output which
> can be imported into lilypond with a gain of time.
> 
> My problem: when writing scores to be used in our choir I often make
> mistakes. If I could listen to the music instead of reading the notes I
> might find errors faster.
> 
> Any report from experience would be helpful.
> 
> Regards Bernhard

Bernhard,
midi2ly.py for converting .midi files to Lilypond is operational in the current 
version 2.19, but it has some limitations. You might want to have a look at it.
I've been working on updating it, but it's been slow going (for me).  If you do 
try it, let me know of any specific concerns.
Joe Austin aka DrTechDaddy

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


Re: Center-align a score

2017-04-27 Thread Kieren MacMillan
Hi David,

>> I have learned that “You can’t do that with Lilypond” is a pretty
>> foolish bet — especially when David K is on the case.  :)
> 
> Well, in this case David N's solution is better since it uses the normal
> (skyline-based) page positioning rather than treating everything as
> markup lines.

1. I hadn’t seen his solution. I agree, it’s wonderful.

2. Perhaps I should have said “especially when David * is on the case”.  =)

3. Regardless, your solution was ingenious and helpful, as always.

> Mine is easier to understand, and the \center-in-line or something more
> general (align-in-line?) is really annoyingly absent in the LilyPond
> markup toolbox.

If I understand it correctly,

  \center-in-line “foo” = \fill-line { “” “foo” “” }

If so, I agree this would be a wonderful addition to the toolbox.

> David N's solution is the better one but it is trickier to identify a
> tangible component to abstract into a generally useful utility.

I’m hoping (see my other email) that there might be a way to turn his solution 
into an \offset-like function for explict system positioning. That would be 
useful (though perhaps not as *generally* useful as something like 
\align-in-line).

Thanks,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


Re: Center-align a score

2017-04-27 Thread David Kastrup
Kieren MacMillan  writes:

> Hi David,
>
>>> I have learned that “You can’t do that with Lilypond” is a pretty
>>> foolish bet — especially when David K is on the case.  :)
>> 
>> Well, in this case David N's solution is better since it uses the normal
>> (skyline-based) page positioning rather than treating everything as
>> markup lines.
>
> 1. I hadn’t seen his solution. I agree, it’s wonderful.
>
> 2. Perhaps I should have said “especially when David * is on the case”.  =)
>
> 3. Regardless, your solution was ingenious and helpful, as always.
>
>> Mine is easier to understand, and the \center-in-line or something more
>> general (align-in-line?) is really annoyingly absent in the LilyPond
>> markup toolbox.
>
> If I understand it correctly,
>
>   \center-in-line “foo” = \fill-line { “” “foo” “” }
>
> If so, I agree this would be a wonderful addition to the toolbox.

Yup.  More importantly,

\center-in-line { foo bar }
= { \fill-line { "" foo "" } \fill-line { "" bar "" } }

and that's something where straightforward \fill-line cannot be readily
employed, contorted or not: centering a whole markup list in a line
width box.

Even though I think that just \fill-line { foo } does centering,
splitting a markup list into separate markup lists with just a single
element each and processing each of those markup lists with a markup
command is not something available out of the box.

>> David N's solution is the better one but it is trickier to identify a
>> tangible component to abstract into a generally useful utility.
>
> I’m hoping (see my other email) that there might be a way to turn his
> solution into an \offset-like function for explict system
> positioning. That would be useful (though perhaps not as *generally*
> useful as something like \align-in-line).

Maybe.

-- 
David Kastrup

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


Re: Center-align a score

2017-04-27 Thread David Nalesnik
On Thu, Apr 27, 2017 at 8:43 AM, Kieren MacMillan
 wrote:
> David,
>
>>> A little trial-and-error is required if doing it manually, but there might 
>>> be a way to automate the process.
>> Here you go:
>
> You da man! This is *exactly* what I was envisioning. Nicely done.
>
> Now…   ;)
>
> Perhaps there’s a way your new-found [?] knowledge/skill in this area can 
> help with a long-time feature request I’ve had: an \offset-like way to nudge 
> systems — especially the explicit Y-offset property, but also the 
> alignment-distances if possible. Avoiding trial-and-error there would be a 
> huge savings.
>

Well, the horizontal is a much different beast than the vertical.
Horizontal is easy in LilyPond, vertical not at all so.

Directly contradicting what I just wrote, there is an issue with
vertical positioning in my little experiment.  Try this:

\version "2.19.59"

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

\layout {
  \context {
\Score
\override NonMusicalPaperColumn.after-line-breaking =
#(lambda (grob)
   (if (eqv? (ly:item-break-dir grob) 1) ; line beginning
   (let* ((sys (ly:grob-system grob))
  (sys-width (ly:grob-extent sys sys X))
  (layout (ly:grob-layout grob))
  (line-full-width (ly:output-def-lookup layout 'line-width)))
 (ly:grob-set-nested-property! grob
'(line-break-system-details X-offset)
   (/ (- line-full-width (interval-length sys-width)) 2)
  }
}

music = {
  \repeat unfold 500 { c,4 }
}

\score { \music }

%%

Notice that with the override, systems are placed lower on the page
and the bottom margin is lost.

The problem occurs with the call to ly:grob-extent.  In my experience,
calling this function for the X-axis doesn't result in (visible) side
effects, but here they are.

-DN

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


Re: Center-align a score

2017-04-27 Thread Kieren MacMillan
Hi David,

> Notice that with the override, systems are placed lower on the page
> and the bottom margin is lost.

It’s not *quite* that simple, I think…

Using

\paper {
 ragged-right = ##t
 indent = 0
 system-system-spacing.padding = 2
 bottom-margin = 1\in
}

we see that most of the margin is kept, but there are still system-system 
collisions (cf. m 120). So systems are placed lower, yes, but with some 
awareness.

> The problem occurs with the call to ly:grob-extent.  In my experience,
> calling this function for the X-axis doesn't result in (visible) side
> effects, but here they are.

Maybe if you save the original Y-position, and then explicitly “reset” it 
afterwards, it will eliminate this problem? Still doesn’t explain what’s 
actually going on — which would be nice to know — but might fix this function.

Cheers,
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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


relative offset of systems [WAS: Center-align a score]

2017-04-27 Thread David Nalesnik
On Thu, Apr 27, 2017 at 8:43 AM, Kieren MacMillan
 wrote:
> David,
>
> Perhaps there’s a way your new-found [?] knowledge/skill in this area can 
> help with a long-time feature request I’ve had: an \offset-like way to nudge 
> systems — especially the explicit Y-offset property, but also the 
> alignment-distances if possible. Avoiding trial-and-error there would be a 
> huge savings.
>
> Thanks,
> Kieren.
>

A little experiment leaves me hopeful.

(So far) it looks like it's a relatively simple matter to add another
line-break-system-detail: "extra-Y-offset" which will move a system
from its calculated position (whether left to the default, or
positioned with 'Y-offset).

Just like an explicit setting of Y-offset, it will act without regard
to vertical collisions.

To try this out, you will (unfortunately) either need to (1) apply the
attached patch or (2) make changes to your scm/page.scm by hand.  (I'd
suggest commenting out the original make-page-stencil with #!  [...]
!# and adding a copy with the changes, so it's easy to revert if need
be.)

I'll just quote the relevant changes with some context.

Within the function make-page-stencil:

[...]

 (add-to-page (lambda (stencil x y extra-y)
(set! page-stencil
  (ly:stencil-add page-stencil
(ly:stencil-translate stencil
  (cons
   (+
system-xoffset x)
   (-
0 y extra-y (prop 'top-margin))) ; NB

  )
 (add-system
  (lambda (system)
(let* ((stencil (paper-system-stencil system))
   (y (ly:prob-property system 'Y-offset 0))
   (extra-y (ly:prob-property system 'extra-Y-offset 0)) ; NB
   (is-title (paper-system-title?
  system)))
  (add-to-page stencil
(ly:prob-property system 'X-offset 0.0)
y
extra-y) ; NB

[...]

%%

Try it out with this:

%%
top = \repeat unfold 5 { c''4 d'' e'' f'' }

bottom = {
  \clef bass
  \repeat unfold 5 { c,1 }
  \break
}

\new PianoStaff <<
  \new Staff {
\top
\top
\top
  }
  \new Staff {
\bottom
\overrideProperty
Score.NonMusicalPaperColumn.line-break-system-details
#'((extra-Y-offset . -2))
\bottom
\overrideProperty
Score.NonMusicalPaperColumn.line-break-system-details
#'((extra-Y-offset . 12))
\bottom
  }
>>
%%%

Sorry for the awkwardness, but I hope this is useful to you!

-David


0001-Allow-extrs-y-offset-for-systems.patch
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: relative offset of systems [WAS: Center-align a score]

2017-04-27 Thread David Nalesnik
On Thu, Apr 27, 2017 at 12:22 PM, David Nalesnik
 wrote:

>
> I'll just quote the relevant changes with some context.
>
> Within the function make-page-stencil:
>
> [...]
>
>  (add-to-page (lambda (stencil x y extra-y)

Oh, "nota bene" the above line too!

> (set! page-stencil
>   (ly:stencil-add page-stencil
> (ly:stencil-translate stencil
>   (cons
>(+
> system-xoffset x)
>(-
> 0 y extra-y (prop 'top-margin))) ; NB
>
>   )
>  (add-system
>   (lambda (system)
> (let* ((stencil (paper-system-stencil system))
>(y (ly:prob-property system 'Y-offset 0))
>(extra-y (ly:prob-property system 'extra-Y-offset 0)) ; NB
>(is-title (paper-system-title?
>   system)))
>   (add-to-page stencil
> (ly:prob-property system 'X-offset 0.0)
> y
> extra-y) ; NB
>
> [...]
>


-DN:

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


Re: relative offset of systems [WAS: Center-align a score]

2017-04-27 Thread Thomas Morley
Hi David,

nice stuff!

Some comments, though:

2017-04-27 19:27 GMT+02:00 David Nalesnik :
> On Thu, Apr 27, 2017 at 12:22 PM, David Nalesnik
>  wrote:
>
>>
>> I'll just quote the relevant changes with some context.
>>
>> Within the function make-page-stencil:
>>
>> [...]
>>

I see no advantage to add 'extra-y' to the arguments.
Why not do the calculation in 'add-system' ...

>>  (add-to-page (lambda (stencil x y extra-y)
>
> Oh, "nota bene" the above line too!
>
>> (set! page-stencil
>>   (ly:stencil-add page-stencil
>> (ly:stencil-translate stencil
>>   (cons
>>(+
>> system-xoffset x)
>>(-
>> 0 y extra-y (prop 'top-margin))) ; NB
>>
>>   )
>>  (add-system
>>   (lambda (system)
>> (let* ((stencil (paper-system-stencil system))
>>(y (ly:prob-property system 'Y-offset 0))
>>(extra-y (ly:prob-property system 'extra-Y-offset 0)) ; NB
>>(is-title (paper-system-title?
>>   system)))
>>   (add-to-page stencil
>> (ly:prob-property system 'X-offset 0.0)
>> y
>> extra-y) ; NB


It will fail if system-separator-markup is used.

Here my attempt (for comparison I added greyed stencils)

 (add-system
  (lambda (system)
(let* ((stencil (paper-system-stencil system))
   (y (ly:prob-property system 'Y-offset 0))
   (extra-y (ly:prob-property system 'extra-Y-offset 0)) ;; NB
   (is-title (paper-system-title?
  system)))

 For comparison: print the greyed system-stencil without extra-y
  (add-to-page (stencil-with-color stencil '(0.8 0.8 0.8))
(ly:prob-property system 'X-offset 0.0)
y)
 The moved system-stencil
  (add-to-page stencil
(ly:prob-property system 'X-offset 0.0)
(+ y extra-y)) ;; NB

(if (and (ly:stencil? system-separator-stencil)
 last-system
 (not (paper-system-title? system))
 (not (paper-system-title? last-system)))
(begin
 For comparison: print the greyed system-separator-stencil without 'extra-y
  (add-to-page
   (stencil-with-color system-separator-stencil '(0.8 0.8 0.8))
   0

   (average (- last-y
   (car (paper-system-staff-extents last-system)))
(- y
   (cdr (paper-system-staff-extents system)

 The moved system-separator-stencil
  (add-to-page
   system-separator-stencil
   0

   (+
 (average (- last-y
 (car (paper-system-staff-extents last-system)))
  (- y
 (cdr (paper-system-staff-extents system
 (/ extra-y 2)  ;; NB
(set! last-system system)
 set last-y, taking extra-y into account
(set! last-y (+ y extra-y)  ;; NB

As an example I used:

\paper {
  system-separator-markup = \slashSeparator
  ragged-last-bottom = ##t
}
top = \repeat unfold 5 { c''4 d'' e'' f'' }

bottom = {
  \clef bass
  \repeat unfold 5 { c,1 }
  \break
}

\new PianoStaff <<
  \new Staff {
\top
\top
\top
  }
  \new Staff {
\bottom
\overrideProperty
Score.NonMusicalPaperColumn.line-break-system-details
#'((extra-Y-offset . 2))
\bottom
\overrideProperty
Score.NonMusicalPaperColumn.line-break-system-details
#'((extra-Y-offset . 5))
\bottom
  }
>>

png attached



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


Re: relative offset of systems [WAS: Center-align a score]

2017-04-27 Thread David Nalesnik
Hi Harm,

On Thu, Apr 27, 2017 at 3:57 PM, Thomas Morley  wrote:
> Hi David,
>
> nice stuff!
>
> Some comments, though:
>
> 2017-04-27 19:27 GMT+02:00 David Nalesnik :
>> On Thu, Apr 27, 2017 at 12:22 PM, David Nalesnik
>>  wrote:
>>
>>>
>>> I'll just quote the relevant changes with some context.
>>>
>>> Within the function make-page-stencil:
>>>
>>> [...]
>>>
>
> I see no advantage to add 'extra-y' to the arguments.
> Why not do the calculation in 'add-system' ...

Good point.  Actually, I already incorporated this suggestion in a
patch I'm currently testing.  (Middle of make doc.)  I decided to use
an "extra-offset" property which allows for displacements along both
axes.

>
>>>  (add-to-page (lambda (stencil x y extra-y)
>>
>> Oh, "nota bene" the above line too!
>>
>>> (set! page-stencil
>>>   (ly:stencil-add page-stencil
>>> (ly:stencil-translate stencil
>>>   (cons
>>>(+
>>> system-xoffset x)
>>>(-
>>> 0 y extra-y (prop 'top-margin))) ; NB
>>>
>>>   )
>>>  (add-system
>>>   (lambda (system)
>>> (let* ((stencil (paper-system-stencil system))
>>>(y (ly:prob-property system 'Y-offset 0))
>>>(extra-y (ly:prob-property system 'extra-Y-offset 0)) ; NB
>>>(is-title (paper-system-title?
>>>   system)))
>>>   (add-to-page stencil
>>> (ly:prob-property system 'X-offset 0.0)
>>> y
>>> extra-y) ; NB
>
>
> It will fail if system-separator-markup is used.
>
> Here my attempt (for comparison I added greyed stencils)
>
>  (add-system
>   (lambda (system)
> (let* ((stencil (paper-system-stencil system))
>(y (ly:prob-property system 'Y-offset 0))
>(extra-y (ly:prob-property system 'extra-Y-offset 0)) ;; NB
>(is-title (paper-system-title?
>   system)))
>
>  For comparison: print the greyed system-stencil without extra-y
>   (add-to-page (stencil-with-color stencil '(0.8 0.8 0.8))
> (ly:prob-property system 'X-offset 0.0)
> y)
>  The moved system-stencil
>   (add-to-page stencil
> (ly:prob-property system 'X-offset 0.0)
> (+ y extra-y)) ;; NB
>
> (if (and (ly:stencil? system-separator-stencil)
>  last-system
>  (not (paper-system-title? system))
>  (not (paper-system-title? last-system)))
> (begin
>  For comparison: print the greyed system-separator-stencil without 
> 'extra-y
>   (add-to-page
>(stencil-with-color system-separator-stencil '(0.8 0.8 
> 0.8))
>0
>
>(average (- last-y
>(car (paper-system-staff-extents last-system)))
> (- y
>(cdr (paper-system-staff-extents system)
>
>  The moved system-separator-stencil
>   (add-to-page
>system-separator-stencil
>0
>
>(+
>  (average (- last-y
>  (car (paper-system-staff-extents 
> last-system)))
>   (- y
>  (cdr (paper-system-staff-extents system
>  (/ extra-y 2)  ;; NB
> (set! last-system system)
>  set last-y, taking extra-y into account
> (set! last-y (+ y extra-y)  ;; NB
>
> As an example I used:
>
> \paper {
>   system-separator-markup = \slashSeparator
>   ragged-last-bottom = ##t
> }
> top = \repeat unfold 5 { c''4 d'' e'' f'' }
>
> bottom = {
>   \clef bass
>   \repeat unfold 5 { c,1 }
>   \break
> }
>
> \new PianoStaff <<
>   \new Staff {
> \top
> \top
> \top
>   }
>   \new Staff {
> \bottom
> \overrideProperty
> Score.NonMusicalPaperColumn.line-break-system-details
> #'((extra-Y-offset . 2))
> \bottom
> \overrideProperty
> Score.NonMusicalPaperColumn.line-break-system-details
> #'((extra-Y-offset . 5))
> \bottom
>   }
>>>
>
> png attached
>

Thanks so much for pointing this out.  I didn't notice that the
variable "y" was used elsewhere.  As soon as the patch testing has run
its course, I'll add this in.

Wish I could use the greyed background in the regtest, but that's not possible.

Best,
David

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


Re: relative offset of systems [WAS: Center-align a score]

2017-04-27 Thread David Nalesnik
On Thu, Apr 27, 2017 at 4:07 PM, David Nalesnik
 wrote:
> Hi Harm,
>
> On Thu, Apr 27, 2017 at 3:57 PM, Thomas Morley  
> wrote:
>> Hi David,
>>
>> nice stuff!
>>
>> Some comments, though:
>>
>> 2017-04-27 19:27 GMT+02:00 David Nalesnik :
>>> On Thu, Apr 27, 2017 at 12:22 PM, David Nalesnik
>>>  wrote:
>>>

 I'll just quote the relevant changes with some context.

 Within the function make-page-stencil:

 [...]

>>
>> I see no advantage to add 'extra-y' to the arguments.
>> Why not do the calculation in 'add-system' ...
>
> Good point.  Actually, I already incorporated this suggestion in a
> patch I'm currently testing.  (Middle of make doc.)  I decided to use
> an "extra-offset" property which allows for displacements along both
> axes.
>
>>
  (add-to-page (lambda (stencil x y extra-y)
>>>
>>> Oh, "nota bene" the above line too!
>>>
 (set! page-stencil
   (ly:stencil-add page-stencil
 (ly:stencil-translate stencil
   (cons
(+
 system-xoffset x)
(-
 0 y extra-y (prop 'top-margin))) ; NB

   )
  (add-system
   (lambda (system)
 (let* ((stencil (paper-system-stencil system))
(y (ly:prob-property system 'Y-offset 0))
(extra-y (ly:prob-property system 'extra-Y-offset 0)) ; NB
(is-title (paper-system-title?
   system)))
   (add-to-page stencil
 (ly:prob-property system 'X-offset 0.0)
 y
 extra-y) ; NB
>>
>>
>> It will fail if system-separator-markup is used.
>>
>> Here my attempt (for comparison I added greyed stencils)
>>
>>  (add-system
>>   (lambda (system)
>> (let* ((stencil (paper-system-stencil system))
>>(y (ly:prob-property system 'Y-offset 0))
>>(extra-y (ly:prob-property system 'extra-Y-offset 0)) ;; NB
>>(is-title (paper-system-title?
>>   system)))
>>
>>  For comparison: print the greyed system-stencil without extra-y
>>   (add-to-page (stencil-with-color stencil '(0.8 0.8 0.8))
>> (ly:prob-property system 'X-offset 0.0)
>> y)
>>  The moved system-stencil
>>   (add-to-page stencil
>> (ly:prob-property system 'X-offset 0.0)
>> (+ y extra-y)) ;; NB
>>
>> (if (and (ly:stencil? system-separator-stencil)
>>  last-system
>>  (not (paper-system-title? system))
>>  (not (paper-system-title? last-system)))
>> (begin
>>  For comparison: print the greyed system-separator-stencil without 
>> 'extra-y
>>   (add-to-page
>>(stencil-with-color system-separator-stencil '(0.8 0.8 
>> 0.8))
>>0
>>
>>(average (- last-y
>>(car (paper-system-staff-extents 
>> last-system)))
>> (- y
>>(cdr (paper-system-staff-extents system)
>>
>>  The moved system-separator-stencil
>>   (add-to-page
>>system-separator-stencil
>>0
>>
>>(+
>>  (average (- last-y
>>  (car (paper-system-staff-extents 
>> last-system)))
>>   (- y
>>  (cdr (paper-system-staff-extents system
>>  (/ extra-y 2)  ;; NB
>> (set! last-system system)
>>  set last-y, taking extra-y into account
>> (set! last-y (+ y extra-y)  ;; NB
>>
>> As an example I used:
>>
>> \paper {
>>   system-separator-markup = \slashSeparator
>>   ragged-last-bottom = ##t
>> }
>> top = \repeat unfold 5 { c''4 d'' e'' f'' }
>>
>> bottom = {
>>   \clef bass
>>   \repeat unfold 5 { c,1 }
>>   \break
>> }
>>
>> \new PianoStaff <<
>>   \new Staff {
>> \top
>> \top
>> \top
>>   }
>>   \new Staff {
>> \bottom
>> \overrideProperty
>> Score.NonMusicalPaperColumn.line-break-system-details
>> #'((extra-Y-offset . 2))
>> \bottom
>> \overrideProperty
>> Score.NonMusicalPaperColumn.line-break-system-details
>> #'((extra-Y-offset . 5))
>> \bottom
>>   }

>>
>> png attached
>>
>
> Thanks so much for pointing this out.  I didn't notice that the
> variable "y" was used elsewhere.  As soon as the patch testing has run
> its course, I'll add this in.
>

Fixed.  Added system-separators to the regtest.

https://sourceforge.net/p/testlilyissues/issues/5127/

-David


\magnifyMusic omits unison notes from \partcombine?

2017-04-27 Thread Karlin High
A songwriter looked at my LilyPond job and asked, "Can you make the note
heads bigger in proportion to everything else?" Yes, thanks to
\magnifyMusic, I thought. It's a SATB hymn, I'm using \partcombine, and
apparently \magnifyMusic doesn't pick up the unison notes the way I'm
writing it. Minimal example below, PNG result attached. Magnify is at 1.2
for effect; I'm using 1.1 in practice.

% BEGIN LILYPOND CODE
\version "2.19.59"
one = { a'2 f' }
two = { f'2 f' }
\partcombine #'(2 . 9) \magnifyMusic 1.2 { \one } \magnifyMusic 1.2 { \two }
% END LILYPOND CODE

I've found I need to put \magnifyMusic inside \partcombine, because it seems
to have no effect the other way around. Any ideas for how I could get
\magnifyMusic to catch the unison notes? Or a different way of achieving the
same thing?
--
Karlin High
Missouri, USA

 



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/magnifyMusic-omits-unison-notes-from-partcombine-tp202732.html
Sent from the User mailing list archive at Nabble.com.

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


Re: \magnifyMusic omits unison notes from \partcombine?

2017-04-27 Thread Kieren MacMillan
Hi Karlin,

> A songwriter looked at my LilyPond job and asked,
> "Can you make the note heads bigger in proportion to everything else?”
[…]
> a different way of achieving the same thing?

\score {
  \partcombine \one \two
  \layout {
\context {
  \Score
  \override NoteHead.font-size = #3
}
  }
}

Hope that helps!
Kieren.


Kieren MacMillan, composer
‣ website: www.kierenmacmillan.info
‣ email: i...@kierenmacmillan.info


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