Re: Lilypond source code indenter and formatter

2012-06-06 Thread Martin Tarenskeen



On Thu, 7 Jun 2012, Graham Percival wrote:


Is anyone on the list aware of a tool that takes a valid Lilypond
score as input and produces as output the same .ly file but with the
formatting and layout standardized?



Frescobaldi has a script to do it (see the issue), but it's not
clear if it can be run independently or not.


In older versions of Frescobaldi the indent.py script could run 
as a standalone script. I have used it like that in the past.
I also wrote something similar, but the script from frescobaldi worked 
better. (For example my own script made a mess of scheme code.)


The current version depends on several internal modules from frescobaldi. 
It should be possible to modify it for standalone usage. Wilbert Berendsen 
is reading this list, maybe he can comment on this?


--

MT

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


Re: Lilypond source code indenter and formatter

2012-06-06 Thread Federico Bruni

Il 07/06/2012 02:49, Colin Hall ha scritto:

It seems to be equipped to run as a program:

lgc$ wgethttp://lilykde.googlecode.com/svn/trunk/frescobaldi/python/ly/indent.py
lgc$


I'd rather use the version in the current repository:
wget 
https://raw.github.com/wbsoft/frescobaldi/master/frescobaldi_app/indent.py


Actually you'd better download all the source, as indent.py depends on 
some internal modules:


import ly.lex
import ly.lex.scheme
import cursortools
import tokeniter
import variables


lgc$ python -V
Python 2.6.5
lgc$
lgc$ python indent.py -t 2 Heidenroeslein.ly
Traceback (most recent call last):
   File "indent.py", line 252, in
 startscheme=options.scheme
   File "indent.py", line 107, in indent
 usetabs = '\t' in space or '\n\t' in text
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 48: 
ordinal not in range(128)
lgc$

I don't have experience with python Unicode support. Is 2.6.5 new enough for 
this to work?


I get the same in Python 2.7.3.

I think that the error is explained here:
http://docs.python.org/release/3.0.1/whatsnew/3.0.html#text-vs-data-instead-of-unicode-vs-8-bit

As a quick solution, you can try to update indent.py to python3:
2to3 indent.py

then use:
python3 indent.py -t 2 file.ly

The error goes away... but I'm not sure that the script actually works 
this way: I've tried to set -t 4 (all my ly files have 2 space 
indentation), but nothing changes.


PS I'm not a coder :-)

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


Re: Scheme syntax vs. other languages [was: Re: Appreciation / Financial support]

2012-06-06 Thread David Kastrup
David Kastrup  writes:

> So please, try again.  This time picking something that actually
> solves a task in LilyPond.
>
> Something like
> Documentation/snippets/adding-extra-fingering-with-scheme.ly (which
> actually does a ridiculous amount using Scheme rather than #{...#} but
> let's just assume that as a given).
>
> Or how would you write something like
>
> applyMusic =
> #(define-music-function (parser location func music) (procedure? ly:music?)
>(_i"Apply procedure @var{func} to @var{music}.")
>(func music))
>
> in LilyPond/D?  How would you call it from LilyPond?
>
> In the snippets I see the following (it is actually rather awful code:
> one would use music-is-of-type? rather than memq, and of course it does
> not do to copy all properties rather than just those supported by
> SkipEvent, namely duration and articulations).

The following being
#(define (notes-to-skip m)
  "Convert all stuff with duration (notes, lyrics, bass figures, etc.) to skips.
Scripts and dynamics are maintained.
"
  (if (memq 'rhythmic-event (ly:music-property m 'types))
   (let* ((newmus (make-music 'SkipEvent)))
(map
 (lambda (x) (ly:music-set-property! newmus (car x) (cdr x)))
 (ly:music-mutable-properties m))
newmus
  )
   m)
)


\layout { ragged-right= ##t }

foobar =  \transpose c c' { c4\>-^ c4-^ c4\!-^ c4-^  }


\relative c''  \context Voice {
  \foobar

  << \applyMusic #(lambda (x) (music-map notes-to-skip x))
 \foobar
 { d8 d d d d d d d  } >>
}

from input/regression/music-map.ly.

> But notes-to-skip is, in itself, general purpose programming.  That's
> not the interesting part.  The interesting part is how to tie things
> together, so assume that the function is already given.
>
>> This is a bit of an unfair case because it's obviously a function
>> where imperative programming is probably better suited.
>
> It is a bit unfair since you have not even _tried_ creating a LilyPond
> document where this function is defined and used.  You have created a
> scrap of source code dangling in the air.  That is not the hard part
> about an extension language.

-- 
David Kastrup


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


Re: Lilypond source code indenter and formatter

2012-06-06 Thread David Kastrup
Colin Hall  writes:

> Exactly. My intended application is to use it as part of a git
> collaboration workflow that Urs, Janek, Susan(?) and I are working on.

It is not really helpful for diffs if you get completely different
indentation for a while file because of having to add a delimiter pair
somewhere.

-- 
David Kastrup


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


Re: Scheme syntax vs. other languages [was: Re: Appreciation / Financial support]

2012-06-06 Thread David Kastrup
Joseph Rushton Wakeling  writes:

> Scheme (and all other LISP dialects), Haskell and so on have a starkly
> different notational style and set of programming paradigms that make
> them difficult to adapt to from current mainstream programming
> approaches.  That puts a barrier in the way of lots of potential
> contributors.

The principal source of contributors are musicians, not programmers.
C++ is much more mainstream, and will you claim that we have more people
working with the C++ parts of LilyPond than with the Scheme parts?

How many people extend LaTeX writing Pascal code rather than TeX code?
Which if Pascal and TeX is the more mainstream language?  Which is
saner?  That's so far from being even competitive that it isn't funny.

>> Anyway, show the code.  Take a snippet of LilyPond code, pretend that
>> LilyPond's extension language is Python, and show how it should look
>> like under that pretense.
>
> I've no intention of proposing Python as the extension language, but
> I'll do what you suggest with D.
>
> Here's a Scheme function, naturalize-pitch, which was written (not by
> me) to remove double-accidentals and enharmonically rewrite B#, E# and
> Cb, Fb.  It can be found in:
> http://lilypond.org/doc/v2.15/Documentation/notation/changing-multiple-pitches#transpose
>
> ;;
> (define (naturalize-pitch p)
>   (let ((o (ly:pitch-octave p))
> (a (* 4 (ly:pitch-alteration p)))
> ;; alteration, a, in quarter tone steps,
> ;; for historical reasons
> (n (ly:pitch-notename p)))
> (cond
>  ((and (> a 1) (or (eq? n 6) (eq? n 2)))
>   (set! a (- a 2))
>   (set! n (+ n 1)))
>  ((and (< a -1) (or (eq? n 0) (eq? n 3)))
>   (set! a (+ a 2))
>   (set! n (- n 1
> (cond
>  ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
>  ((< a -2) (set! a (+ a 4)) (set! n (- n 1
> (if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7
> (if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7
> (ly:make-pitch o n (/ a 4
> ;;
>
>
> Here's the D equivalent.  Note that I've defined a basic object to
> represent a LilyPond pitch, which has the same characteristics as the
> pitch object used by the Scheme code.  It's probably not how a pitch
> object would best be defined but is just there to illustrate.
>
> I've also included a few of D's safety features with assert() commands
> to ensure that the variables have the properties required.
>
> //
> struct LilyPitch
> {
> int octave;
> int notename;

What is an int?  Why do I need these lines?

> double alteration;

Too bad that alterations are _rationals_, namely exact numbers.  double
arithmetic is not associative.

> pure this(int o, int n, double a)

What is "pure"?  Can I eat it?

> in
> {
> assert(0 <= n && n <= 6);
> assert(-1 <= a && a <= 1);
> }

What's with "in" and the braces?  How do I know that && has lower
precedence than <=?

> body
> {
> octave = o;
> notename = n;
> alteration = a;
> }
> }
>
> pure auto naturalizePitch(LilyPitch p)

What is pure?  What is auto?

> {
> // Here we mimic what the Scheme function does and define separate
> // temporary variables to store the octave, note name and alteration.
> // We could just tweak p.octave, p.notename and p.alteration
> // directly, but I choose to assume that with a properly defined
> // LilyPitch we wouldn't have that possibility.
> auto o = p.octave;
> auto n = p.notename;
> auto a = p.alteration;

Why do I need to declare the types of p.octave etc, but not of o, n, a?

> // First, we disallow anything greater than +1/4-tone on E and B,
> // and anything less than -1/4-tone on C and F.  In other words,
> // no E# or B#, no Cb or Fb.
> if(a > 0.25 && (n == 6 || n == 2))

What are the implications of using an inexact data type?  Shouldn't I be
doing my comparisons with some epsilon added?

> {
> a -= 0.5;
> n += 1;
> }

What's a "-="?  Why do I need that semicolon before "}"?

> else if(a < -0.25 && (n == 0 || n == 3))

Who will teach me about the dangling else problem?

> {
> a += 0.5;
> n -= 1;
> }
>
> // Once that's dealt with, we disallow any accidental stronger than
> // a sharp or a flat, on ANY note.
> if(a > 0.5)

Is "if" a function call?

> {
> a -= 1.0;
> n += 1;
> }
> else if(a < -0.5)

should I not rather be indenting the "else if"?

> {
> a += 1.0;
> n -= 1;
> }
>
> // Last, we clean up the octave placement.
> if(n < 0)
> {
> o -= 1;
> n += 7;
> }
> else if(n > 6)
> {
> o += 1;
> n -= 7;
> }
>
> // Let's check that the note rea

Re: Lilypond source code indenter and formatter

2012-06-06 Thread Colin Hall
On Thu, Jun 07, 2012 at 01:20:08AM +0100, Graham Percival wrote:
> On Thu, Jun 07, 2012 at 12:44:00AM +0100, Colin Hall wrote:
> > 
> > Is anyone on the list aware of a tool that takes a valid Lilypond
> > score as input and produces as output the same .ly file but with the
> > formatting and layout standardized?
> 
> Yes and no.  Various editors can do this.
> http://code.google.com/p/lilypond/issues/detail?id=777
> 
> Frescobaldi has a script to do it (see the issue), but it's not
> clear if it can be run independently or not.

It seems to be equipped to run as a program:

lgc$ wget 
http://lilykde.googlecode.com/svn/trunk/frescobaldi/python/ly/indent.py
lgc$
lgc$ python -V
Python 2.6.5
lgc$
lgc$ python indent.py -t 2 Heidenroeslein.ly
Traceback (most recent call last):
  File "indent.py", line 252, in 
startscheme=options.scheme
  File "indent.py", line 107, in indent
usetabs = '\t' in space or '\n\t' in text
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 48: 
ordinal not in range(128)
lgc$

I don't have experience with python Unicode support. Is 2.6.5 new enough for 
this to work?

> As implied by that issue and
> http://code.google.com/p/lilypond/issues/detail?id=1432 , it would
> be great if we had such a script, and I'd hope to ship it as part of
> lilypond.  And, of course, run it on all our files in git and all
> the docs.

Exactly. My intended application is to use it as part of a git
collaboration workflow that Urs, Janek, Susan(?) and I are working on.

Cheers,
Colin.

-- 

Colin Hall

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


Re: Lilypond source code indenter and formatter

2012-06-06 Thread Hilary Snaden

On 2012-06-07 01:20, Graham Percival wrote:

On Thu, Jun 07, 2012 at 12:44:00AM +0100, Colin Hall wrote:


Is anyone on the list aware of a tool that takes a valid Lilypond
score as input and produces as output the same .ly file but with the
formatting and layout standardized?


Yes and no.  Various editors can do this.
http://code.google.com/p/lilypond/issues/detail?id=777

Frescobaldi has a script to do it (see the issue), but it's not
clear if it can be run independently or not.  As implied by that
issue and
http://code.google.com/p/lilypond/issues/detail?id=1432
, it would be great if we had such a script, and I'd hope to ship
it as part of lilypond.  And, of course, run it on all our files
in git and all the docs.


The elisp function and optional shell script here

http://www.cslab.pepperdine.edu/warford/BatchIndentationEmacs.html

could easily be modified to make emacs with the LilyPond mode do the 
indenting. (Having said this, the emacs mode which ships with LilyPond 
2.14.2 gets indenting wrong after lines containing manual beaming.)


--
Hilary Snaden

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


Re: Lilypond source code indenter and formatter

2012-06-06 Thread Graham Percival
On Thu, Jun 07, 2012 at 12:44:00AM +0100, Colin Hall wrote:
> 
> Is anyone on the list aware of a tool that takes a valid Lilypond
> score as input and produces as output the same .ly file but with the
> formatting and layout standardized?

Yes and no.  Various editors can do this.
http://code.google.com/p/lilypond/issues/detail?id=777

Frescobaldi has a script to do it (see the issue), but it's not
clear if it can be run independently or not.  As implied by that
issue and
http://code.google.com/p/lilypond/issues/detail?id=1432
, it would be great if we had such a script, and I'd hope to ship
it as part of lilypond.  And, of course, run it on all our files
in git and all the docs.

- Graham

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


Lilypond source code indenter and formatter

2012-06-06 Thread Colin Hall

Hi,

Is anyone on the list aware of a tool that takes a valid Lilypond
score as input and produces as output the same .ly file but with the
formatting and layout standardized?

If you know asyle, then I am looking for astyle for Lilypond.

Cheers
Colin.

-- 

Colin Hall

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


Scheme syntax vs. other languages [was: Re: Appreciation / Financial support]

2012-06-06 Thread Joseph Rushton Wakeling

On 05/06/12 08:53, David Kastrup wrote:

I would doubt that this would have been the fault of Scheme.  More
likely a problem of the Scheme/LilyPond interface choices, but those
choices don't go away when replacing Scheme.


No, it was the fault of the unfamiliar Scheme syntax.  A colleague used to 
working with Scheme was able to solve the problems I encountered trivially 
without reference to anything LilyPond-specific.



Python is a programming language where simple cut&paste of example code
fails unless you cut and paste whole lines since leading whitespace
matters.  I don't call that exactly easy to comprehend.


... which is finnicky and annoying, but doesn't necessarily make the code itself 
difficult to understand or tweak.  C, C++, Java, D, Go, PHP, JavaScript and even 
Ruby and Python share a close enough notational style and a close enough set of 
supported programming paradigms (particularly imperative and object-oriented) to 
make it fairly easy to jump from one to another.


Scheme (and all other LISP dialects), Haskell and so on have a starkly different 
notational style and set of programming paradigms that make them difficult to 
adapt to from current mainstream programming approaches.  That puts a barrier in 
the way of lots of potential contributors.



Anyway, show the code.  Take a snippet of LilyPond code, pretend that
LilyPond's extension language is Python, and show how it should look
like under that pretense.


I've no intention of proposing Python as the extension language, but I'll do 
what you suggest with D.


Here's a Scheme function, naturalize-pitch, which was written (not by me) to 
remove double-accidentals and enharmonically rewrite B#, E# and Cb, Fb.  It can 
be found in:

http://lilypond.org/doc/v2.15/Documentation/notation/changing-multiple-pitches#transpose

;;
(define (naturalize-pitch p)
  (let ((o (ly:pitch-octave p))
(a (* 4 (ly:pitch-alteration p)))
;; alteration, a, in quarter tone steps,
;; for historical reasons
(n (ly:pitch-notename p)))
(cond
 ((and (> a 1) (or (eq? n 6) (eq? n 2)))
  (set! a (- a 2))
  (set! n (+ n 1)))
 ((and (< a -1) (or (eq? n 0) (eq? n 3)))
  (set! a (+ a 2))
  (set! n (- n 1
(cond
 ((> a 2) (set! a (- a 4)) (set! n (+ n 1)))
 ((< a -2) (set! a (+ a 4)) (set! n (- n 1
(if (< n 0) (begin (set! o (- o 1)) (set! n (+ n 7
(if (> n 6) (begin (set! o (+ o 1)) (set! n (- n 7
(ly:make-pitch o n (/ a 4
;;


Here's the D equivalent.  Note that I've defined a basic object to represent a 
LilyPond pitch, which has the same characteristics as the pitch object used by 
the Scheme code.  It's probably not how a pitch object would best be defined but 
is just there to illustrate.


I've also included a few of D's safety features with assert() commands to ensure 
that the variables have the properties required.


//
struct LilyPitch
{
int octave;
int notename;
double alteration;

pure this(int o, int n, double a)
in
{
assert(0 <= n && n <= 6);
assert(-1 <= a && a <= 1);
}
body
{
octave = o;
notename = n;
alteration = a;
}
}

pure auto naturalizePitch(LilyPitch p)
{
// Here we mimic what the Scheme function does and define separate
// temporary variables to store the octave, note name and alteration.
// We could just tweak p.octave, p.notename and p.alteration
// directly, but I choose to assume that with a properly defined
// LilyPitch we wouldn't have that possibility.
auto o = p.octave;
auto n = p.notename;
auto a = p.alteration;

// First, we disallow anything greater than +1/4-tone on E and B,
// and anything less than -1/4-tone on C and F.  In other words,
// no E# or B#, no Cb or Fb.
if(a > 0.25 && (n == 6 || n == 2))
{
a -= 0.5;
n += 1;
}
else if(a < -0.25 && (n == 0 || n == 3))
{
a += 0.5;
n -= 1;
}

// Once that's dealt with, we disallow any accidental stronger than
// a sharp or a flat, on ANY note.
if(a > 0.5)
{
a -= 1.0;
n += 1;
}
else if(a < -0.5)
{
a += 1.0;
n -= 1;
}

// Last, we clean up the octave placement.
if(n < 0)
{
o -= 1;
n += 7;
}
else if(n > 6)
{
o += 1;
n -= 7;
}

// Let's check that the note really falls within the
// bounds we are looking for ...
assert(0 <= n && n <= 6);
assert(-0.5 <= a && a <= 0.5);
if(n == 2 || n == 6)
assert(a < 0.5);
if(n == 0 || n == 3)
assert(a > -0.5);

return LilyPitch(o, n, a);
}
//

Now, I don't think 

Re: unassthetic slurs

2012-06-06 Thread David Nalesnik
Hi Stefan,

On Wed, Jun 6, 2012 at 4:50 PM, m...@apollinemike.com  wrote:

> On 6 juin 2012, at 19:52, Stefan Thomas wrote:
>
> Dear Mike,
> thanks for Your help.
> I've never heard before about 'head-slur-distance-max-ratio' and
> ''head-slur-distance-factor '
> Is it mentione somewehre in the Manual?
>
> This I don't know...hopefully someone who knows the manual better than I
> can answer. There is likely some info in the internals reference under the
> entry for Slur.
>

Yes, try here:
 http://lilypond.org/doc/v2.14/Documentation/internals/slur
and here:
http://lilypond.org/doc/v2.14/Documentation/internals/slur_002dinterface

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


Re: dashed initial barline with SystemStartBar?

2012-06-06 Thread David Nalesnik
Hi Harm,

Because there are small but noticeable shifts of the dashes depending
>> on global-staff-size and/or the distances of the staffs, I'm not
>> really happy with that definition.
>
>
>> So any improvement for the dashed SystemStartBar would be of great
>> help for the barline-project.
>
>
This is a pretty intricate problem!

I came up with the attached.  It avoids the hard-coded scaling factor, and
keeps a consistent distance between all dashes.  Is this closer to what you
want?

Best,
David


dashed-system-start-bar.ly
Description: Binary data
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: unassthetic slurs

2012-06-06 Thread m...@apollinemike.com
On 6 juin 2012, at 19:52, Stefan Thomas wrote:

> Dear Mike, 
> thanks for Your help.
> I've never heard before about 'head-slur-distance-max-ratio' and 
> ''head-slur-distance-factor ' 
> Is it mentione somewehre in the Manual?
> 
> 2012/6/6 m...@apollinemike.com 
> On 5 juin 2012, at 21:30, Stefan Thomas wrote:
> 
> > Dear community,
> > the slurs in bar 2 and 3 are a bit unaesthetic, in my opinion.
> > Is there a possibility to get a better output whithout tweaking every 
> > single slur?
> >
> > %% snippet %
> > \version "2.14.2"
> > \new Staff { \clef bass
> >  \time 3/4
> >  8( g e'2)  | % 1
> >  8( a es'2)  | % 2
> >  \time 4/4
> >  8( bes g cis' e'4. cis'8) | % 3
> >
> > %5 END %%%
> 
> This problem has been fixed in the most development version.
> 
> For 2.14.2, try
> 
> \override Slur #'height-limit = #1.0 % or lower
> \override Slur #'details #'head-slur-distance-max-ratio = #2 % or lower
> \override Slur #'details #'head-slur-distance-factor = #100 % or higher
> 
> This gave decent output in your case.
> 
> Cheers,
> MS
> 

This I don't know...hopefully someone who knows the manual better than I can 
answer. There is likely some info in the internals reference under the entry 
for Slur.

Cheers,
MS


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


Re: Visibility of text spanners after line break

2012-06-06 Thread -Eluze


Urs Liska-4 wrote:
> 
> Hi listers,
> 
> How can I suppress the repetition of a TextSpanner's left text after a
> line break? I want the dashed line to continue, but without the text being
> repeated.
> 
> I didn't find anything in the NR, and there is only one snippet, but that
> refers to spanners that end immediately after the line break.
> 
> Any ideas?
> 

I'm not sure but I seem to remember sthing like 

\override TextSpanner #'(bound-details left-broken text) = #"that's it (or
just blank)!"

there should be examples in the archives…

hth
Eluze
-- 
View this message in context: 
http://old.nabble.com/Visibility-of-text-spanners-after-line-break-tp33971906p33972099.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


Visibility of text spanners after line break

2012-06-06 Thread Urs Liska
Hi listers,

How can I suppress the repetition of a TextSpanner's left text after a line 
break? I want the dashed line to continue, but without the text being repeated.

I didn't find anything in the NR, and there is only one snippet, but that 
refers to spanners that end immediately after the line break.

Any ideas?

Best
Urs
-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: unassthetic slurs

2012-06-06 Thread Stefan Thomas
Dear Mike,
thanks for Your help.
I've never heard before about 'head-slur-distance-max-ratio' and
''head-slur-distance-factor '
Is it mentione somewehre in the Manual?

2012/6/6 m...@apollinemike.com 

> On 5 juin 2012, at 21:30, Stefan Thomas wrote:
>
> > Dear community,
> > the slurs in bar 2 and 3 are a bit unaesthetic, in my opinion.
> > Is there a possibility to get a better output whithout tweaking every
> single slur?
> >
> > %% snippet %
> > \version "2.14.2"
> > \new Staff { \clef bass
> >  \time 3/4
> >  8( g e'2)  | % 1
> >  8( a es'2)  | % 2
> >  \time 4/4
> >  8( bes g cis' e'4. cis'8) | % 3
> >
> > %5 END %%%
>
> This problem has been fixed in the most development version.
>
> For 2.14.2, try
>
> \override Slur #'height-limit = #1.0 % or lower
> \override Slur #'details #'head-slur-distance-max-ratio = #2 % or lower
> \override Slur #'details #'head-slur-distance-factor = #100 % or higher
>
> This gave decent output in your case.
>
> Cheers,
> MS
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


problem with doubly dotted tremolo

2012-06-06 Thread ornello

Hello *,

I have a problem when unfolding a tremolo with the duration of a doubly
dotted note. The following example looks great without the \unfoldRepeats
command. But when I uncomment \unfoldRepeats, each unfolded note in measure
gets the duration od a doubly dotted 32nd instead of a 32nd. This can also
be heard when uncommenting the \midi command.

Is this a known bug or am I missing someting?
ornello


---

\version "2.14.2"

\score
{
%\unfoldRepeats
\new Voice {
\clef bass
< des,
e,
g,
bes, > 8\staccato
\repeat tremolo 14 {
< des
e
g > 32
bes32
}
\stemNeutral
% 96
\repeat tremolo 16 {
< des'
e'!
g' > 32
bes'32
}
}
%\midi { }
} 

-- 
View this message in context: 
http://old.nabble.com/problem-with-doubly-dotted-tremolo-tp33970572p33970572.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


playback gets out of sync with grace notes

2012-06-06 Thread ornello

Hello *,

playback gets out of sync when the sum of grace note values is larger than
twice the note value of the main note.

I have added an example (see below):
The three 16th grace note in measure 2 sum up to a dotted eighth note, the
main note is a 16th note. When playing this example, staff 1 and 2 get out
of sync in measure 3.
When I remove each of the first 16th grace notes, such that they sum up to
an eighth note, the resulting MIDI is in sync.

Any ideas or comments?
ornello


-

\version "2.14.2"

\score {
<<
\time 3/4
\new Staff {
% 1
b'16[ (_ \pp
a''32] )
r32
a''16[ (
eis''!32] )
r32
eis''16[ (
gis''32] )
r32
gis''16[ (
fis''32] )
r32
e''!16[ (
dis''32] )
r32
cis''16[ (
b'32] )
r32
% 2
r16
\grace {
cis''16[ (
b'16
ais'!16]
}
b'16 )
r16
\grace {
fis''32[ (
e''32
dis''32]
}
e''16 )
r16
\grace {
a''!32[ (
gis''32
fis''32]
}
gis''16 )
r16
\grace {
cis'''32[ (
b''32
ais''!32]
}
b''16 )
r16
\grace {
a''!32[ (
gis''32
fis''32]
}
gis''16 )
r16
\grace {
fis''32[ (
e''32
dis''32]
}
e''16 )
% 3
cis''16[ _ \<
dis''32 (
e''32
fis''32
gis''32
a''32
b''32]
cis'''8 )\!
r16.
< cis''
a''
cis''' > 32[ _ \f
< b'
gis''
b'' > 8..
< a'
fis''
a'' > 32]
}

\new Staff {
\clef bass
% 1
< dis
fis
a
b > 8\staccato [
< dis
fis
a
b > 8\staccato ]
< dis
fis
a
b > 8\staccato [
< dis
fis
a
b > 8\staccato ]
< dis
fis
a
b > 8\staccato [
< dis
fis
a
b > 8\staccato ]
% 2
< e
gis
b > 8\staccato [
< e
gis
b > 8\staccato ]
< e
gis
b > 8\staccato [
< e
gis
b > 8\staccato ]
< e
gis
b > 8\staccato [
< e
gis
b > 8\staccato ]
% 3
< a
a' > 16[
b'32 (
cis''32
dis''32
e''32
fis''32
gis''32]
a''8 )
\clef bass
r16.
< fis,
fis > 32[
< gis,
gis > 8..
< a,
a > 32]
}
>>
\midi { }
}

-- 
View this message in context: 
http://old.nabble.com/playback-gets-out-of-sync-with-grace-notes-tp33970378p33970378.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: How to put bar lines between staves when bar line is "||" or "|."?

2012-06-06 Thread Marcel Korpel
On Wed, Jun 6, 2012 at 12:26 AM, wjm  wrote:
> If you remove the line
>  \set Staff.timeSignatureFraction = #'(2 . 2)
> at lines 114 and 138
> then the extra staff-lines after the thick bar line at measure 25/26 go away
> - but the mensural time signature disappears also. Do you need them there?

Yes, I need them.

> Someone, more adept at tweaking LP than I, might have a solution for this.
> As for the spanning of the other bar-lines - I don't know... you might need
> some further tweaking! :)
> but isn't this the expected behaviour here - I'm not overly familiar with
> the subtleties of music notation. :)

No, this isn't the expected behaviour: the two lowest bar should have
|., the other two ||.

Anyway, thanks for your help so far. Hopefully someone else is able to
solve these issues.

Regards, Marcel

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


Re: Appreciation / Financial support

2012-06-06 Thread David Kastrup
David Kastrup  writes:

[...]

Let me summarize the gist of that long reply:

My answer to the question "What do you think of Scheme as LilyPond's
extension language?" would be the same as the famous response to the
question "Mr. Gandhi, what do you think of Western civilization?": "I
think it would be a good idea."

I will not likely be nearly as skilled in effecting my goals as this
rather influential historic person (it feels almost like an insult to
call him a politician) was doing his: after all, there is no way to
shame code into doing what it should have been doing in the first place.

But one can try.  And it beats starting from scratch.

-- 
David Kastrup


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