Re: Re: Issue 2245: always align dynamics and lyrics on main notehead (issue 108270044 by janek.lilyp...@gmail.com)

2014-07-02 Thread Janek Warchoł
Hi,

2014-07-01 21:35 GMT+02:00  markpole...@gmail.com:
 This patch is problematic for me.

 Firstly, when a lyric syllable extends to the next note (as with a slur
 or tie), it is my understanding that the lyric text should be
 left-aligned with the left-most note of the chord.  See Issue 3521:
 http://code.google.com/p/lilypond/issues/detail?id=3521

 This patch prevents the 3521 workaround from working, which is bad IMO.

 Secondly, to my eye, I think the ideal alignment for a center-aligned
 syllable on a harmonic second (suspended) dyad would be center-aligned
 with the stem, and not with the NoteColumn.

Actually, NoteColumn contains all noteheads (including suspended
ones), so aligning to NoteColumn is the same as aligning to stem (in
case of chords with seconds).

 No idea how easy or hard
 that would be to code,

With my patch that you are reviewing?  Trivial - it's already there ;-)

While I think that it's better to always align lyrics to the main
notehead, I knew that some people woul prefer to do this otherwise,
so the patch allows to choose how to align LyricTexts (and
DynamicTexts):

\markup Aligned on main notehead (default):

\new Staff {
  g' f'2~ q
  e'' d''2~ q
  g' f'1
}
\addlyrics { la __ la __ la }

\markup Aligned on whole notecolumn:

\new Staff {
  g' f'2~ q
  e'' d''2~ q
  g' f'1
}
\addlyrics {
  \override LyricText.X-align-on-main-noteheads = ##f
  la __ la __ la
}

Tada!! (see the output here:
https://lilypond.googlecode.com/issues/attachment?aid=22450016000name=2245-example-for-mark.pngtoken=ABZ6GAd_97MyGubnBUDOhPTmY_JHF76TaQ%3A1404282296494inline=1)
And the alignment will be consistent regardless of input order -
either aligned on main notehead, or on the whole notecolumn, depending
on property X-align-on-main-noteheads.

As i didn't know that this problem affects LyricExtenders, this
version of my patch isn't changing their behaviour at all.  I'll look
into the code and try to make them consistent as well.

How do you like this? ;-)

 https://codereview.appspot.com/108270044/diff/40001/input/regression/text-spanner-attachment-alignment.ly#newcode21
 input/regression/text-spanner-attachment-alignment.ly:21: \repeat unfold
 2 {c'4 _ \markup { LONG } }
 git complains about trailing whitespace here.

It was already there before, but i'll remove it in the next patchset.

best,
Janek

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


Re: \magnifyMusic stem-length enigma

2014-07-02 Thread David Kastrup
Mark Polesky markpole...@gmail.com writes:

 Can anyone help me solve this?
 Why do these two beam groups have different stem lengths?

If the beam/stems were mirror images of each other, the noteheads in the
left group would be closer to the beams than the noteheads in the right
group since the noteheads are attached to the right of the stems rather
than being centered on them.

It would be an interesting question whether one should actually
disregard this in the distance calculations in order to avoid
quantization introducing symmetry artifacts like this.  Or perhaps do
a mixed strategy: make distances that would provide the proper clearance
regardless of whether the notehead would be attached to the right or the
left of the stem.

 I prefer the second one, but I have no idea how to get the
 first one to look like that.

 \version 2.19.9

 \relative c'' {
   \magnifyMusic 0.5 {
 c32[ c d d] d[ d c c]
   }
 }


-- 
David Kastrup

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


Re: GUB failing

2014-07-02 Thread Phil Holmes

Please push this patch, then I can kick GUB off again.

--
Phil Holmes

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


PATCHES: The next countdown will be on July 5th.

2014-07-02 Thread James

Hello,

Here is the current patch countdown list. The next countdown will be on 
July 5th.


You can always view the most current countdown list here:
http://code.google.com/p/lilypond/issues/list?q=Patch%3Apush%2Ccountdown%2Creview%2Cnew%2Cwaitingcolspec=Patch%20Owner%20ID%20Summarysort=patch




PUSH:

Phil Holmes: Patch: Minor update to Gregorian section of NR
http://code.google.com/p/lilypond/issues/detail?id=3977

James Lowe: Doc: Snippet 'Create Delayed Turn' uses old syntax
http://code.google.com/p/lilypond/issues/detail?id=3970

Mark Polesky: Improve output of scheme-engraver.ly regtest.
http://code.google.com/p/lilypond/issues/detail?id=3968

James Lowe: Extending 2.3.2: Add sentence to definition to clarify point 
further

http://code.google.com/p/lilypond/issues/detail?id=3955




COUNTDOWN:

David Kastrup: Patch: Avoid define-public and define*-public with 
curried definitions

http://code.google.com/p/lilypond/issues/detail?id=3983

Phil Holmes: Patch: Adds incipit section to NR
http://code.google.com/p/lilypond/issues/detail?id=3980

Janek Warchoł: Patch: cleanup alignments of various grobs (follow-up to 
3254 and 3962)

http://code.google.com/p/lilypond/issues/detail?id=3978

James Lowe: XML: 02a-Rests-Durations.xml has incorrect last note 
duration in the MusicXML test suite

http://code.google.com/p/lilypond/issues/detail?id=3974

James Lowe: XML: 01b-Pitches-Intervals.xml has incorrect number of 
measures in the MusicXML test suite

http://code.google.com/p/lilypond/issues/detail?id=3973

Devon Schudy: Patch: Don't depend on obsolete Guile features.
http://code.google.com/p/lilypond/issues/detail?id=3972

David Kastrup: Patch: Pitch alterations use SCM rather than flower rationals
http://code.google.com/p/lilypond/issues/detail?id=3967

James Lowe: Patch: Changes.tely updated - 2.19.x up to June 2014
http://code.google.com/p/lilypond/issues/detail?id=3965

James Lowe: Patch: Doc: Updated Roadmap text file
http://code.google.com/p/lilypond/issues/detail?id=3963

Mark Polesky: Scale slurs and ties when using \magnifyMusic.
http://code.google.com/p/lilypond/issues/detail?id=3942

Janek Warchoł: unnecessarily wide spacing caused by Lyrics
http://code.google.com/p/lilypond/issues/detail?id=2462




REVIEW:

James Lowe: NR 4.5.4: rename node Line length to Line width
http://code.google.com/p/lilypond/issues/detail?id=3982

James Lowe: NR 1.2.1 - Tuplets - could be made clearer with regard to 
direction

http://code.google.com/p/lilypond/issues/detail?id=3956

Janek Warchoł: wrong/inconsistent placement of lyrics and dynamics under 
suspended notes

http://code.google.com/p/lilypond/issues/detail?id=2245




NEW:

James Lowe: set-bar-number-visibility appears to be unused
http://code.google.com/p/lilypond/issues/detail?id=3351




WAITING:

Urs Liska: Patch: Issue 3916: Add \alternatingTimeSignatures
http://code.google.com/p/lilypond/issues/detail?id=3918

Janek Warchoł: Positioning of 8 under clef symbol in G_8 clef
http://code.google.com/p/lilypond/issues/detail?id=3186

Mike Solomon: Patch: Prevents vertical axis groups with empty skylines
http://code.google.com/p/lilypond/issues/detail?id=3156

Mike Solomon: Patch: Removes the translate_axis call from 
axis-group-interface outside-staff positioning.

http://code.google.com/p/lilypond/issues/detail?id=3134

David Kastrup: Patch: Implement music functions in Scheme rather than C++
http://code.google.com/p/lilypond/issues/detail?id=2716




Thank you,
James

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


Re: GUB failing

2014-07-02 Thread Janek Warchoł
Pushed to staging as

commit 7c6becbfa9deba7e58af8780e3ea2627169d5c4e
Author: Janek Warchoł lemniskata.bernoull...@gmail.com
Date:   Sun Jun 29 22:58:45 2014 +0200

Rename argument to avoid preprocessor problems

thanks!
Janek

2014-07-02 11:12 GMT+02:00 Phil Holmes m...@philholmes.net:
 Please push this patch, then I can kick GUB off again.

 --
 Phil Holmes

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


Re: GUB failing

2014-07-02 Thread James

On 02/07/14 11:51, Janek Warchoł wrote:

Pushed to staging as

commit 7c6becbfa9deba7e58af8780e3ea2627169d5c4e
Author: Janek Warchoł lemniskata.bernoull...@gmail.com
Date:   Sun Jun 29 22:58:45 2014 +0200

 Rename argument to avoid preprocessor problems

thanks!
Janek

2014-07-02 11:12 GMT+02:00 Phil Holmes m...@philholmes.net:

Please push this patch, then I can kick GUB off again.

--
Phil Holmes

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

It's just been pushed to master

James

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


Re: Issue 2245: always align dynamics and lyrics on main notehead (issue 108270044 by janek.lilyp...@gmail.com)

2014-07-02 Thread markpolesky

Janek Warchoł wrote:

While I think that it's better to always align lyrics to
the main notehead, I knew that some people would prefer
to do this otherwise, so the patch allows to choose how to
align LyricTexts (and DynamicTexts)


Okay, this is less problematic than I thought it was, and
I'm slowly convincing myself that for LyricText,
main-notehead-alignment is better than NoteColumn-alignment.
However, for DynamicText, I think NoteColumn-alignment is
preferable, especially when the main notehead is on the
right of the stem.  Gould (p.103) writes:

  When vertical space is limited, move a dynamic to the
  left of the note -- never to the right, since the note has
  already started!


\override LyricText.X-align-on-main-noteheads = ##f


I think this interface (with booleans) is confusing; I would
prefer a choice of symbols, something like this:

  \override LyricText.X-alignment-anchor = #'NoteHead
  \override LyricText.X-alignment-anchor = #'NoteColumn


git complains about trailing whitespace here.



It was already there before, but i'll remove it in the
next patchset.


I have this in my .vimrc:

   Remove trailing whitespace on write
  autocmd BufWritePre * :%s/\s\+$//e

- Mark


https://codereview.appspot.com/108270044/diff/40001/scm/define-grobs.scm
File scm/define-grobs.scm (right):

https://codereview.appspot.com/108270044/diff/40001/scm/define-grobs.scm#newcode589
scm/define-grobs.scm:589: (X-offset .
,ly:self-alignment-interface::aligned-on-x-parent)
Not a requirement, but you might as well alphabetize the prop-list while
you're there (case-insensitive, so 'X-extent comes after
'vertical-skylines).  Same for the other prop-lists you modify below.

https://codereview.appspot.com/108270044/
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: \magnifyMusic stem-length enigma

2014-07-02 Thread Mark Polesky
On Wed, Jul 2, 2014 at 12:47 AM, David Kastrup d...@gnu.org wrote:

 If the beam/stems were mirror images of each other, the noteheads in the
 left group would be closer to the beams than the noteheads in the right
 group since the noteheads are attached to the right of the stems rather
 than being centered on them.


Wow, I never knew that feature.  How refined!


 It would be an interesting question whether one should actually
 disregard this in the distance calculations in order to avoid
 quantization introducing symmetry artifacts like this.  Or perhaps do
 a mixed strategy: make distances that would provide the proper clearance
 regardless of whether the notehead would be attached to the right or the
 left of the stem.


Of those two ideas, I prefer the second, but now that I understand the
functionality, I'm willing to leave this as it is.

Thanks for the clarification.
- Mark
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Issue 2245: always align dynamics and lyrics on main notehead (issue 108270044 by janek.lilyp...@gmail.com)

2014-07-02 Thread Janek Warchoł
Hi,

2014-07-02 20:58 GMT+02:00  markpole...@gmail.com:
 Janek Warchoł wrote:

 While I think that it's better to always align lyrics to
 the main notehead, I knew that some people would prefer
 to do this otherwise, so the patch allows to choose how to
 align LyricTexts (and DynamicTexts)


 Okay, this is less problematic than I thought it was, and
 I'm slowly convincing myself that for LyricText,
 main-notehead-alignment is better than NoteColumn-alignment.
 However, for DynamicText, I think NoteColumn-alignment is
 preferable, especially when the main notehead is on the
 right of the stem.  Gould (p.103) writes:

   When vertical space is limited, move a dynamic to the
   left of the note -- never to the right, since the note has
   already started!

Hm.  Sounds reasonable.  On the other hand, if you have many staves
with dynamics, it's better if these dynamics are aligned - and with
alignment on NoteColumns, this would not happen.

 \override LyricText.X-align-on-main-noteheads = ##f


 I think this interface (with booleans) is confusing; I would
 prefer a choice of symbols, something like this:

   \override LyricText.X-alignment-anchor = #'NoteHead
   \override LyricText.X-alignment-anchor = #'NoteColumn

Yeah, i'm also thinking about providing an interface like this in the
future iterations of the alignment rewrite.  However, can we push this
patch as-is, and make such changes later?  The thing is, there will be
so many changes in the alignment code that trying to come up with a
generic interface now (in the middle of work) is IMO a waste of
effort, because i'd continue to rewrite such code with every next
patch.  I think it will be much more efficient to first get all the
features in (using simple solutions), and then look at the resulting
code and generalize that - when we'll know what exactly we need.

 git complains about trailing whitespace here.
 It was already there before, but i'll remove it in the
 next patchset.

 I have this in my .vimrc:

Remove trailing whitespace on write
   autocmd BufWritePre * :%s/\s\+$//e

bad luck that i'm not using vim :)

 https://codereview.appspot.com/108270044/diff/40001/scm/define-grobs.scm
 File scm/define-grobs.scm (right):

 https://codereview.appspot.com/108270044/diff/40001/scm/define-grobs.scm#newcode589
 scm/define-grobs.scm:589: (X-offset .
 ,ly:self-alignment-interface::aligned-on-x-parent)
 Not a requirement, but you might as well alphabetize the prop-list while
 you're there (case-insensitive, so 'X-extent comes after
 'vertical-skylines).  Same for the other prop-lists you modify below.

Ok, i'll remember this.

best,
Janek

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


Re: Issue 2245: always align dynamics and lyrics on main notehead (issue 108270044 by janek.lilyp...@gmail.com)

2014-07-02 Thread Janek Warchoł
PS

2014-07-02 20:58 GMT+02:00  markpole...@gmail.com:
 Okay, this is less problematic than I thought it was, and
 I'm slowly convincing myself that for LyricText,
 main-notehead-alignment is better than NoteColumn-alignment.
 However, for DynamicText, I think NoteColumn-alignment is
 preferable, especially when the main notehead is on the
 right of the stem.

The ultimate goal that i have in my mind is to have an interface
that will allow to easily say things like align this object on the
main column in such cases, on the stem in other cases, and on the
whole notecolumn in yet other cases.  And in some cases find the
average center of the noteheads and align on that..

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


Bad example in Documentation since 2.17

2014-07-02 Thread Francisco Vila
Hello,

When comparing examples in these pages,

http://www.lilypond.org/doc/v2.16/Documentation/notation/unpure_002dpure-containers.html
http://www.lilypond.org/doc/v2.17/Documentation/notation/unpure_002dpure-containers.html

 In the first measure, without the unpure-pure container, the
spacing engine does not know the width of the note head and lets it
collide with the accidentals. In the second measure, with unpure-pure
containers, the spacing engine knows the width of the note heads and
avoids the collision by lengthening the line accordingly. 

, I understand this is no longer true. For some reason, starting from
2.17 both measures look the same.

I found this while searching for a way to change the notehead to an
arbitrary glyph by its name in Feta font. BTW I have not found the way
and http://lsr.dsi.unimi.it/LSR/Search is unsurprisingly down.

-- 
Francisco Vila. Badajoz (Spain)
www.paconet.org , www.csmbadajoz.com

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


Re: Bad example in Documentation since 2.17

2014-07-02 Thread Thomas Morley
2014-07-02 21:55 GMT+02:00 Francisco Vila paconet@gmail.com:

 and http://lsr.dsi.unimi.it/LSR/Search is unsurprisingly down.

The address changed. It's now:
http://lsr.di.unimi.it/LSR/Search

Cheers,
  Harm

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


Re: \magnifyMusic stem-length enigma

2014-07-02 Thread Paul Morris
markpolesky wrote
 magnifyMusic =
 #(define-music-function (parser location mag mus) (number? ly:music?)
(_i Magnify the notation of @var{mus} without changing the
 staff-size, using @var{mag} as a size factor.  Stems, beams, and
 horizontal spacing are adjusted automatically.)
#{
  \set fontSize = #(magnification-font-size mag)
  % gives beam-thickness=0.48 when mag=1 (like default),
  % gives beam-thickness=0.35 when mag=0.63 (like CueVoice)
  \temporary \override Beam.beam-thickness = #(+ 119/925 (* mag 13/37))
  \temporary \override Beam.length-fraction = #mag
  \temporary \override Stem.length-fraction = #mag
  \temporary \override Stem.thickness = #(* 1.3 (max 1 mag))
  \temporary \override Score.SpacingSpanner.spacing-increment = #(* 1.2
 mag)
  #mus
  \set fontSize = 0
  \revert Beam.beam-thickness
  \revert Beam.length-fraction
  \revert Stem.length-fraction
  \revert Stem.thickness
  \revert Score.SpacingSpanner.spacing-increment
#})

Aha! So Beam.length-fraction is how you change the spacing between beams!  I
had figured out how to change beam thickness but hadn't had any luck with
spacing, and thought it couldn't be done.  Should have known, given
LilyPond's phenomenal flexibility.

I just submitted a snippet to document how it's done in case anyone else
should anyone else need to make these (rarely needed) changes:
http://lsr.di.unimi.it/LSR/Item?u=1id=925

Also, just a quick thought on magnifyMusic.  It would be nice to somehow
capture and restore the current fontSize for cases like this:

\new Staff \with {
  fontSize = #2
} {
  c'4 d' e' f'
  \magnifyMusic 0.5 { c'4 d' e' f' }
  c'4 d' e' f'
}

But I'm not sure how to do that...  If you can access the current fontSize,
maybe it would make sense for the magnification to be relative to it?

Cheers,
-Paul



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/magnifyMusic-stem-length-enigma-tp163878p163911.html
Sent from the Dev mailing list archive at Nabble.com.

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


fix Issue 2462. (issue 108280044 by janek.lilyp...@gmail.com)

2014-07-02 Thread k-ohara5a5a

This does make sense, but if you change the basic rules of a Spring
(allowing the natural length to be less than the minimum-distance
constraint, so it stays at the minimum length until the line is
considerably stretched) you should try to make the change consistently
everywhere ?


https://codereview.appspot.com/108280044/diff/1/lily/spring.cc
File lily/spring.cc (left):

https://codereview.appspot.com/108280044/diff/1/lily/spring.cc#oldcode192
lily/spring.cc:192: distance_ = max (distance_, min_distance_);
Only caller is Simple_spacer::add_rod() and it certainly seems simpler
if adding a min_distance constraint (adding a 'rod') leaves the ideal
spacing (the 'spring') unchanged.

https://codereview.appspot.com/108280044/diff/1/lily/spring.cc
File lily/spring.cc (right):

https://codereview.appspot.com/108280044/diff/1/lily/spring.cc#newcode87
lily/spring.cc:87: distance_ = max (min_distance_, distance_ * r);
maybe  *= r;

https://codereview.appspot.com/108280044/diff/1/lily/spring.cc#newcode120
lily/spring.cc:120: avg_distance = max (min_distance + 0.3,
avg_distance);
Logically, this would be removed as well, except that it also adds 0.3.
When you tried removing this line, you said there were unwanted
side-effects. What cases needed the extra 0.3 of space?  It would be
much better to include it in padding parameters, than to have this
deeply-hidden offset.

https://codereview.appspot.com/108280044/

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