Re: Fingering vs stem direction

2018-12-05 Thread Thomas Morley
Am Mi., 5. Dez. 2018 um 11:28 Uhr schrieb Pierre Perol-Schneider
:
>
> Thank you Harm, that works fine (no beam/flag at that point).
> Cheers,
> Pierre

Ok, then I put not more work on it.

Glad I could help,
  Harm

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


Re: alist problem

2018-12-05 Thread David Sumbler


-Original Message-
From: David Kastrup 
To: David Sumbler 
CC: lilypond-user@gnu.org
Subject: Re: alist problem
Date: Wed, 05 Dec 2018 15:37:21 +0100

David Sumbler  writes:

> IR 2.19.82 shows the following amongst the settings for TrillSpanner:
> 
> bound-details (list):
> '((left (text # name)>
>   "scripts.trill")
> (Y . 0)
> (stencil-offset -0.5 . -1)
> (padding . 0.5)
> (attach-dir . 0))
>   (left-broken (end-on-note . #t))
>   (right (Y . 0)))
> 
> If I write
> 
> \override TrillSpanner.bound-details.left-broken = #'(end-on-note .
> #t)
> 
> Lilypond accepts it, suggesting that I am using the correct syntax.

You aren't.  You are putting a pair where an association list should
be.  This would need to be

\override TrillSpanner.bound-details.left-broken = #'((end-on-note .
#t))

to have the same effect.

> But if I write
> 
> \override TrillSpanner.bound-details.right = #'(Y . 0)
> 
> Lilypond produces:
> 
> ERROR: Wrong type argument in position 2 (expecting association
> list):
> (Y . 0)
> 
> I can't figure out why this is.  Can somebody please explain it to
> me,
> and show me the correct syntax?

(Y . 0) is a pair, not an association list.  To get the same effect,
you'd need to write

\override TrillSpanner.bound-details.right = #'((Y . 0))

or alternatively (assuming you want other right bound-details to stay)

\override TrillSpanner.bound-details.right.Y = 0

> (The reason for doing this was to try to shorten the extent of a
> trill
> spanner.  This may not be the correct parameter to change, which is
> why I was trying different values; but even if that is true, I would
> still like to know why my line produces an error.)

Because you cannot add or delete parens at will.  Note that
(right (Y . 0)) is a shorthand for (right . ((Y . 0))) .  It is easy to
overlook this when looking at a pair (like the key-value pair of an
association list) where the cdr is a list in itself.  In that case, the
Scheme printer elides the dot and one level of parens around the cdr,
simply because a list is indistinguishable from a dotted list where the
cdr is a list itself.



Now that you have explained it I feel that I should have been able to
work that out for myself.  But I'm afraid I didn't.

So thank you very much for sorting it out for me.

David


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


Re: lilypond.org Productions page

2018-12-05 Thread Jan-Peter Voigt
Hi there,

2017/2018 Ortus published the "Markus Passion" by Johann Sebastian Bach
in a reconstructed version by Andreas Fischer:
http://www.ortus-musikverlag.de/en/musik-elbe-oder/om212
(right now the introduction is only available in german, sorry)

LilyPond is not mentioned there, but I created the scores (full-score,
piano-reduction, vocal-score, instrument-parts) with the Gonville font,
using the edition-engraver and with my own templating engine.
If there would be some time I would write an article for
http://lilypondblog.org/ ...

Jan-Peter




Am 03.12.18 um 09:22 schrieb Urs Liska:
> Hi Federico,
> 
> Am 03.12.18 um 08:53 schrieb Federico Bruni:
>> Hello
>>
>> I was about to send a patch to add a website in the Productions page
>> (sheets are CC licensed, subscription required):
>> https://www.baroquemusic.it/
>>
>> Then I realized that 3 out of 4 projects listed under "Published sheet
>> music" section are discontinued.
>> Should we just delete them?
>> http://lilypond.org/website/productions.html
> 
> 
> You're right, this is quite embarrassing. However, if we remove
> everything but Mutopia, it will look even more embarrassing, isn't it? I
> have problems with such pages (applies equally to "News" pages) that
> reveal more a *lack* of content and activity.
> 
> I think we should rather try to do a general collection among users (but
> this should reach more channels than just this list) to get a number of
> new entries for the page that makes it a little more impressive.
> 
>> Which are the requirements (if any) to be listed on that page? Should
>> we link only projects following Free Software principles?
> 
> 
> Yes. When Janek and I wanted to use the award for our Oskar Fried
> edition to put some spotlight on LilyPond we could not get it added to
> this page. All we could get agreement to was adding a News item about
> the fact that we used a crowdfunding campain trying to make it possible
> to open source the edition.
> 
> 
>>
>>
>> If you know of any other project which may be listed there please let
>> me know.
>>
> 
> I will have two projects, but it will need a number of months before
> they are ready and (in one case) can be publicly disclosed.
> 
> Best
> Urs
> 
> 
>> Thanks
>> Federico

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


Re: lilypond.org Productions page

2018-12-05 Thread Sandro Santilli
On Mon, Dec 03, 2018 at 11:12:31AM +0100, Henning Hraban Ramm wrote:
> Am 2018-12-03 um 09:22 schrieb Urs Liska :
> 
> > I think we should rather try to do a general collection among users (but 
> > this should reach more channels than just this list) to get a number of new 
> > entries for the page that makes it a little more impressive.
> 
> My only publicly available LilyPond work is 
> http://www.vorwaertsbuchverlag.de/buecher/das-vorwärts-liederbuch
> LilyPond isn’t mentioned, and the layout is not by me.

I've some lilypond files in https://strk.kbt.io/poetry/music

--strk;

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


Re: alist problem

2018-12-05 Thread David Kastrup
David Sumbler  writes:

> IR 2.19.82 shows the following amongst the settings for TrillSpanner:
>
> bound-details (list):
> '((left (text #
>   "scripts.trill")
> (Y . 0)
> (stencil-offset -0.5 . -1)
> (padding . 0.5)
> (attach-dir . 0))
>   (left-broken (end-on-note . #t))
>   (right (Y . 0)))
>
> If I write
>
> \override TrillSpanner.bound-details.left-broken = #'(end-on-note . #t)
>
> Lilypond accepts it, suggesting that I am using the correct syntax.

You aren't.  You are putting a pair where an association list should
be.  This would need to be

\override TrillSpanner.bound-details.left-broken = #'((end-on-note . #t))

to have the same effect.

> But if I write
>
> \override TrillSpanner.bound-details.right = #'(Y . 0)
>
> Lilypond produces:
>
> ERROR: Wrong type argument in position 2 (expecting association list):
> (Y . 0)
>
> I can't figure out why this is.  Can somebody please explain it to me,
> and show me the correct syntax?

(Y . 0) is a pair, not an association list.  To get the same effect,
you'd need to write

\override TrillSpanner.bound-details.right = #'((Y . 0))

or alternatively (assuming you want other right bound-details to stay)

\override TrillSpanner.bound-details.right.Y = 0

> (The reason for doing this was to try to shorten the extent of a trill
> spanner.  This may not be the correct parameter to change, which is
> why I was trying different values; but even if that is true, I would
> still like to know why my line produces an error.)

Because you cannot add or delete parens at will.  Note that
(right (Y . 0)) is a shorthand for (right . ((Y . 0))) .  It is easy to
overlook this when looking at a pair (like the key-value pair of an
association list) where the cdr is a list in itself.  In that case, the
Scheme printer elides the dot and one level of parens around the cdr,
simply because a list is indistinguishable from a dotted list where the
cdr is a list itself.

-- 
David Kastrup

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


alist problem

2018-12-05 Thread David Sumbler
IR 2.19.82 shows the following amongst the settings for TrillSpanner:

bound-details (list):
'((left (text #
  "scripts.trill")
(Y . 0)
(stencil-offset -0.5 . -1)
(padding . 0.5)
(attach-dir . 0))
  (left-broken (end-on-note . #t))
  (right (Y . 0)))

If I write

\override TrillSpanner.bound-details.left-broken = #'(end-on-note . #t)

Lilypond accepts it, suggesting that I am using the correct syntax.

But if I write

\override TrillSpanner.bound-details.right = #'(Y . 0)

Lilypond produces:

ERROR: Wrong type argument in position 2 (expecting association list):
(Y . 0)

I can't figure out why this is.  Can somebody please explain it to me,
and show me the correct syntax?

(The reason for doing this was to try to shorten the extent of a trill
spanner.  This may not be the correct parameter to change, which is why
I was trying different values; but even if that is true, I would still
like to know why my line produces an error.)

David





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


Re: Fingering vs stem direction

2018-12-05 Thread Pierre Perol-Schneider
Thank you Harm, that works fine (no beam/flag at that point).
Cheers,
Pierre

Le mer. 5 déc. 2018 à 11:16, Thomas Morley  a
écrit :

> Am Mi., 5. Dez. 2018 um 10:56 Uhr schrieb Pierre Perol-Schneider
> :
> >
> > Thank you Harm,
> > In this particular case, there is no chord.
> > Cheers,
> > Pierre
>
> So why use event-chords and a context-property then?
>
> Wouldn't below work already?
>
> #(define (forced-dir-II grob)
>   (let* ((x-parent (ly:grob-parent  grob X))
>  (stem (ly:grob-object x-parent 'stem))
>  (stem-dir (ly:grob-property stem 'direction)))
> (if (= stem-dir 1)
> (ly:grob-set-property! grob 'direction UP)
> (ly:grob-set-property! grob 'direction DOWN
>
> #(define (forced-dir-II grob)
>   (let* ((x-parent (ly:grob-parent  grob X))
>  (stem (ly:grob-object x-parent 'stem))
>  (stem-dir (ly:grob-property stem 'direction)))
> (if (= stem-dir 1)
> (ly:grob-set-property! grob 'direction UP)
> (ly:grob-set-property! grob 'direction DOWN
>
> {
>   \clef "G_8"
>   \override Fingering.after-line-breaking = #forced-dir-II
>   \override Fingering.staff-padding = #'()
>   a4-4
>   b-2
>   a8-4
>   \noBeam
>   b-2
>   a8-4[
>   b-2]
> }
>
> How should it behave with flags and beams?
>
>
> Cheers,
>   Harm
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Fingering vs stem direction

2018-12-05 Thread Thomas Morley
Am Mi., 5. Dez. 2018 um 10:56 Uhr schrieb Pierre Perol-Schneider
:
>
> Thank you Harm,
> In this particular case, there is no chord.
> Cheers,
> Pierre

So why use event-chords and a context-property then?

Wouldn't below work already?

#(define (forced-dir-II grob)
  (let* ((x-parent (ly:grob-parent  grob X))
 (stem (ly:grob-object x-parent 'stem))
 (stem-dir (ly:grob-property stem 'direction)))
(if (= stem-dir 1)
(ly:grob-set-property! grob 'direction UP)
(ly:grob-set-property! grob 'direction DOWN

#(define (forced-dir-II grob)
  (let* ((x-parent (ly:grob-parent  grob X))
 (stem (ly:grob-object x-parent 'stem))
 (stem-dir (ly:grob-property stem 'direction)))
(if (= stem-dir 1)
(ly:grob-set-property! grob 'direction UP)
(ly:grob-set-property! grob 'direction DOWN

{
  \clef "G_8"
  \override Fingering.after-line-breaking = #forced-dir-II
  \override Fingering.staff-padding = #'()
  a4-4
  b-2
  a8-4
  \noBeam
  b-2
  a8-4[
  b-2]
}

How should it behave with flags and beams?


Cheers,
  Harm

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


Re: Fingering vs stem direction

2018-12-05 Thread Pierre Perol-Schneider
Hi Urs,

Le mer. 5 déc. 2018 à 11:04, Urs Liska  a écrit :
>So why do you need chords at all?

Since for fingering orientation to apply, you must use a chord construct

>And what are you actually trying to achieve, forcing the fingering on the
opposite side of the stem or apply the X-offset tweaks?

I need both (I find fingerings default settings too close to the stem).

Cheers,
Pierre


Le mer. 5 déc. 2018 à 11:04, Urs Liska  a écrit :

>
> Am 05.12.18 um 10:56 schrieb Pierre Perol-Schneider:
>
> Thank you Harm,
> In this particular case, there is no chord.
>
>
> So why do you need chords at all?
>
> And what are you actually trying to achieve, forcing the fingering on the
> opposite side of the stem or apply the X-offset tweaks?
>
> Urs
>
>
> Cheers,
> Pierre
>
> Le mer. 5 déc. 2018 à 10:44, Thomas Morley  a
> écrit :
>
>> Am Mi., 5. Dez. 2018 um 10:26 Uhr schrieb Pierre Perol-Schneider
>> :
>> >
>> > Hi All,
>> >
>> > I'm looking for a function that'll do:
>> >
>> > {
>> >   \clef "G_8"
>> >   \override Fingering.staff-padding = #'()
>> >   4
>> >   
>> > }
>> >
>> > As a first step, I've tried to adapt Harm's function found here:
>> http://lilypond.1069038.n5.nabble.com/position-text-opposite-stem-direction-td51758.html#a51759
>> > without succes:
>> >
>> > %% After Harm:
>> > #(define (forced-dir grob)
>> >   (let* ((x-parent (ly:grob-parent  grob X))
>> >  (elts (ly:grob-object x-parent 'elements))
>> >  (grob-name (lambda (x) (assq-ref (ly:grob-property x 'meta)
>> 'name)))
>> >  (stems (filter (lambda (x) (eq? 'Stem (grob-name x)))
>> > (ly:grob-array->list elts)))
>> >  (stem (list-ref stems 0))
>> >  (stem-dir (ly:grob-property stem 'direction)))
>> >
>> > (if (= stem-dir 1)
>> > (ly:grob-set-property! grob 'direction up)
>> > (ly:grob-set-property! grob 'direction down
>> >
>> >
>> > {
>> >   \clef "G_8"
>> >   \set fingeringOrientations = #'(forced-dir)
>> >   \override Fingering.staff-padding = #'()
>> >   4
>> >   
>> > }
>> >
>> > Thanks in advance for any help,
>> > Cheers,
>> > Pierre
>> >
>>
>> Hi Pierre,
>>
>> this will not work here for several reasons.
>> Can't look deeper into it right now (have to run for my regular job).
>> Probably in the evening.
>>
>> Though, how do you want the fingerings, if you have real chords (more
>> than one note)?
>>
>> Cheers,
>>   Harm
>>
>
> ___
> lilypond-user mailing 
> listlilypond-user@gnu.orghttps://lists.gnu.org/mailman/listinfo/lilypond-user
>
> ___
> 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: Fingering vs stem direction

2018-12-05 Thread Urs Liska


Am 05.12.18 um 10:56 schrieb Pierre Perol-Schneider:

Thank you Harm,
In this particular case, there is no chord.



So why do you need chords at all?

And what are you actually trying to achieve, forcing the fingering on 
the opposite side of the stem or apply the X-offset tweaks?


Urs



Cheers,
Pierre

Le mer. 5 déc. 2018 à 10:44, Thomas Morley > a écrit :


Am Mi., 5. Dez. 2018 um 10:26 Uhr schrieb Pierre Perol-Schneider
mailto:pierre.schneider.pa...@gmail.com>>:
>
> Hi All,
>
> I'm looking for a function that'll do:
>
> {
>   \clef "G_8"
>   \override Fingering.staff-padding = #'()
>   4
>   
> }
>
> As a first step, I've tried to adapt Harm's function found here:

http://lilypond.1069038.n5.nabble.com/position-text-opposite-stem-direction-td51758.html#a51759
> without succes:
>
> %% After Harm:
> #(define (forced-dir grob)
>   (let* ((x-parent (ly:grob-parent  grob X))
>          (elts (ly:grob-object x-parent 'elements))
>          (grob-name (lambda (x) (assq-ref (ly:grob-property x
'meta) 'name)))
>          (stems (filter (lambda (x) (eq? 'Stem (grob-name x)))
>                                 (ly:grob-array->list elts)))
>          (stem (list-ref stems 0))
>          (stem-dir (ly:grob-property stem 'direction)))
>
>     (if (= stem-dir 1)
>         (ly:grob-set-property! grob 'direction up)
>         (ly:grob-set-property! grob 'direction down
>
>
> {
>   \clef "G_8"
>   \set fingeringOrientations = #'(forced-dir)
>   \override Fingering.staff-padding = #'()
>   4
>   
> }
>
> Thanks in advance for any help,
> Cheers,
> Pierre
>

Hi Pierre,

this will not work here for several reasons.
Can't look deeper into it right now (have to run for my regular job).
Probably in the evening.

Though, how do you want the fingerings, if you have real chords (more
than one note)?

Cheers,
  Harm


___
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: Fingering vs stem direction

2018-12-05 Thread Pierre Perol-Schneider
Thank you Harm,
In this particular case, there is no chord.
Cheers,
Pierre

Le mer. 5 déc. 2018 à 10:44, Thomas Morley  a
écrit :

> Am Mi., 5. Dez. 2018 um 10:26 Uhr schrieb Pierre Perol-Schneider
> :
> >
> > Hi All,
> >
> > I'm looking for a function that'll do:
> >
> > {
> >   \clef "G_8"
> >   \override Fingering.staff-padding = #'()
> >   4
> >   
> > }
> >
> > As a first step, I've tried to adapt Harm's function found here:
> http://lilypond.1069038.n5.nabble.com/position-text-opposite-stem-direction-td51758.html#a51759
> > without succes:
> >
> > %% After Harm:
> > #(define (forced-dir grob)
> >   (let* ((x-parent (ly:grob-parent  grob X))
> >  (elts (ly:grob-object x-parent 'elements))
> >  (grob-name (lambda (x) (assq-ref (ly:grob-property x 'meta)
> 'name)))
> >  (stems (filter (lambda (x) (eq? 'Stem (grob-name x)))
> > (ly:grob-array->list elts)))
> >  (stem (list-ref stems 0))
> >  (stem-dir (ly:grob-property stem 'direction)))
> >
> > (if (= stem-dir 1)
> > (ly:grob-set-property! grob 'direction up)
> > (ly:grob-set-property! grob 'direction down
> >
> >
> > {
> >   \clef "G_8"
> >   \set fingeringOrientations = #'(forced-dir)
> >   \override Fingering.staff-padding = #'()
> >   4
> >   
> > }
> >
> > Thanks in advance for any help,
> > Cheers,
> > Pierre
> >
>
> Hi Pierre,
>
> this will not work here for several reasons.
> Can't look deeper into it right now (have to run for my regular job).
> Probably in the evening.
>
> Though, how do you want the fingerings, if you have real chords (more
> than one note)?
>
> Cheers,
>   Harm
>
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Fingering vs stem direction

2018-12-05 Thread Thomas Morley
Am Mi., 5. Dez. 2018 um 10:26 Uhr schrieb Pierre Perol-Schneider
:
>
> Hi All,
>
> I'm looking for a function that'll do:
>
> {
>   \clef "G_8"
>   \override Fingering.staff-padding = #'()
>   4
>   
> }
>
> As a first step, I've tried to adapt Harm's function found here: 
> http://lilypond.1069038.n5.nabble.com/position-text-opposite-stem-direction-td51758.html#a51759
> without succes:
>
> %% After Harm:
> #(define (forced-dir grob)
>   (let* ((x-parent (ly:grob-parent  grob X))
>  (elts (ly:grob-object x-parent 'elements))
>  (grob-name (lambda (x) (assq-ref (ly:grob-property x 'meta) 'name)))
>  (stems (filter (lambda (x) (eq? 'Stem (grob-name x)))
> (ly:grob-array->list elts)))
>  (stem (list-ref stems 0))
>  (stem-dir (ly:grob-property stem 'direction)))
>
> (if (= stem-dir 1)
> (ly:grob-set-property! grob 'direction up)
> (ly:grob-set-property! grob 'direction down
>
>
> {
>   \clef "G_8"
>   \set fingeringOrientations = #'(forced-dir)
>   \override Fingering.staff-padding = #'()
>   4
>   
> }
>
> Thanks in advance for any help,
> Cheers,
> Pierre
>

Hi Pierre,

this will not work here for several reasons.
Can't look deeper into it right now (have to run for my regular job).
Probably in the evening.

Though, how do you want the fingerings, if you have real chords (more
than one note)?

Cheers,
  Harm

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


Fingering vs stem direction

2018-12-05 Thread Pierre Perol-Schneider
Hi All,

I'm looking for a function that'll do:

{
  \clef "G_8"
  \override Fingering.staff-padding = #'()
  4
  
}

As a first step, I've tried to adapt Harm's function found here:
http://lilypond.1069038.n5.nabble.com/position-text-opposite-stem-direction-td51758.html#a51759
without succes:

%% After Harm:
#(define (forced-dir grob)
  (let* ((x-parent (ly:grob-parent  grob X))
 (elts (ly:grob-object x-parent 'elements))
 (grob-name (lambda (x) (assq-ref (ly:grob-property x 'meta)
'name)))
 (stems (filter (lambda (x) (eq? 'Stem (grob-name x)))
(ly:grob-array->list elts)))
 (stem (list-ref stems 0))
 (stem-dir (ly:grob-property stem 'direction)))

(if (= stem-dir 1)
(ly:grob-set-property! grob 'direction up)
(ly:grob-set-property! grob 'direction down


{
  \clef "G_8"
  \set fingeringOrientations = #'(forced-dir)
  \override Fingering.staff-padding = #'()
  4
  
}

Thanks in advance for any help,
Cheers,
Pierre
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user