Re: \cresc applies to the next note!

2009-02-28 Thread Patrick McCarty
On Sat, Feb 28, 2009 at 10:37 PM, Frédéric Bron  wrote:
>
> Because \dim starts on the next note, you have to put it before \ff
> which is the contrary of what happens really! If you put \dim after
> \ff, the "dim" starts on the next note and it is possible that the
> "ff" and the "dim" are not put on the same line.
> This illustrates perfectly why I would like that \cresc and \dim start
> on the next note.

You mean that you would like \cresc and \dim to start on the previous
note, right?

I hope I am following correctly.

For example:

g4 \< g g g \!
g4 \cresc g g g \endcresc

These two examples should have the same behavior, IMO.  That is, the
commands apply to the *previous* note.

I think we need to rework \cresc, \dim, etc. so that they use a
modified version of make-span-event (the procedure \cr, \decr, etc.
use).  Right now, with these commands, a SequentialMusic expression is
created, so the behavior will only apply to notes *following* the
command.


-Patrick


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


Re: \cresc applies to the next note!

2009-02-28 Thread Frédéric Bron
> I wrote something like this for my opera, using the 'tweaks acons
> method. I'll see if I can find it back.

Well thank you. I have downloaded your score and found \ind and \nind
but both start on the next note. However, I like the syntax \ind
#"cresc poco a poco". It is a bit more painful than what I propose
\<"cresc poco a poco" but it can be done today without changing the
parser.

I have also seen that you do quite often such thing:

c\ff \dim c c c\!

which is what you think (dim starts after \ff) but which does not what
you really want:

\dim c\ff c c c\!

Because \dim starts on the next note, you have to put it before \ff
which is the contrary of what happens really! If you put \dim after
\ff, the "dim" starts on the next note and it is possible that the
"ff" and the "dim" are not put on the same line.
This illustrates perfectly why I would like that \cresc and \dim start
on the next note.

F. Bron


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


Re: [frogs] Re: patch for bug 729

2009-02-28 Thread Graham Percival
On Sun, Mar 01, 2009 at 12:13:52AM +0100, Valentin Villenave wrote:
> how about considering an LSR upgrade now?

I distinctly remember asking you to do this in January,

> Like, before the whole 2.13 bloody mess starts...

Too late for that.  I suppose that we *could* backport everything
to stable/2.12, but I can't see this being worth it.

>  - How involved would it be?
>  - Do we have to download the lsr archive, update the whole thing by
> ourselves and send the new tarball to Seba?

Dunno.  Ask him?

>  - How do we update snippets that do not have a \version string? Do we
> concatenate one automatically, and then remove it?

Umm, convert-ly --from=2.10.12 ?  Dunno if that adds one
automatically, but it's easy enough to remove
\version "2.12.2"
from all files in a directory.

>  - Do you want me to give Seba a ping?

That sounds like a good idea.

Cheers,
- Graham

Note to self: I should really eat breakfast before pouncing on people


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


Re: \cresc applies to the next note!

2009-02-28 Thread Valentin Villenave
2009/2/22 Graham Percival :
>> Is there a possibility to make \cresc form start on the previous note
>> and not on the next note?
>
> Based on my recollection of the previous two times this was
> discussed on the list (see archives), no.

I wrote something like this for my opera, using the 'tweaks acons
method. I'll see if I can find it back.

Regards,
Valentin


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


Re: Named book file suffixes -- regtest?

2009-02-28 Thread Carl D. Sorensen

On 2/28/09 5:37 PM, "Marek Klein"  wrote:

> 
> My current solution is:
> (set! counter-alist (assoc-set! counter-alist output-suffix (1+
> output-count)))
> 
> Reinhold said, it would be better to use ly:parser-define! instead of set!
> But I don't understand how... NR says:
> Function: ly:parser-define! parser-smob  symbol  val
> 
> Bind symbol to val in parser-smob¹s module.
> It's not clear enough for me... if I try for example:
> (ly:parser-define! parser counter-alist (assoc-set! counter-alist
> output-suffix (1+ output-count)))
> I get following error:
> 
> Parsing.../home/marek/lilypond/usr/share/lilypond/current/scm/lily-library.scm
> :152:5: In procedure ly:parser-define! in expression (ly:parser-define! parser
> counter-alist ...):
> /home/marek/lilypond/usr/share/lilypond/current/scm/lily-library.scm:152:5:
> Wrong type argument in position 2 (expecting symbol): ()

I think this error message says that it's expecting a symbol, and instead it
gets an empty list, which is the value of counter-alist right now.

So I think you should try

(ly:parser-define! parser 'counter-alist (assoc-set! counter-alist
output-suffix (1+ output-count)))

This puts the symbol as the argument, rather than the value of the symbol, I
think.

Carl



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


Re: [frogs] Re: patch for bug 729

2009-02-28 Thread Carl D. Sorensen



On 2/28/09 3:43 PM, "John Mandereau"  wrote:

> Hi Carl,
> Carl D. Sorensen a écrit :
>> So, just for the record, I guess that the appropriate way to handle this
>> would be to:
>> 
>> 1.  Search through input/lsr for relevant files.
>> 2.  Fix the snippet to make sure it compiles properly.
>> 3.  Copy the snippet to input/new
>> 4.  Delete the snippet from input/lsr
>> 
>> Is that right?
>>  
> Yes, except you shouldn't do 4, and don't forget some snippets
> eventually come from LSR, not from input/new.

We can't do anything about the snippets that come from LSR, can we?  They're
for the old release, so they can't be updated, IIUC.

I thought that was why we had input/new, to handle snippets that had changed
syntax from the currently-running LSR.



> 
>> Plus, I guess that something like these needs to go into the CG, so that we
>> never have to have this conversation on -devel again.  And the frogs don't
>> have to search the frogs archive either.
>>  
> I added the fixing procedure you mentioned above, plus other LSR-related
> stuff in the CG.

Thanks, John!

Carl



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


Re: Named book file suffixes -- regtest?

2009-02-28 Thread Marek Klein
2009/2/28 Carl D. Sorensen 

>
> On 2/27/09 11:53 AM, "Reinhold Kainhofer"  wrote:
>
> >
> >>> What about set! versus ly:parser-define! ?
> >
> > I would rather use ly:parser-define!, if we can find out why it doesn't
> work.
> > It's simply cleaner than using a global variable...
> >
> >
>
> Marek,
>
> Can you try again with ly:parser-define!, and try to get some help from
> lilypond-devel by describing in more detail how it doesn't work, i.e. what
> the errors/error messages are?
>
> Thanks,
>
> Carl
>
>
My current solution is:
(set! counter-alist (assoc-set! counter-alist output-suffix (1+
output-count)))

Reinhold said, it would be better to use ly:parser-define! instead of set!
But I don't understand how... NR says:
*Function:* *ly:parser-define!** parser-smob symbol val*

Bind symbol to val in parser-smob’s module.
It's not clear enough for me... if I try for example:
(ly:parser-define! parser counter-alist (assoc-set! counter-alist
output-suffix (1+ output-count)))
I get following error:

Parsing.../home/marek/lilypond/usr/share/lilypond/current/scm/lily-library.scm:152:5:
In procedure ly:parser-define! in expression (ly:parser-define! parser
counter-alist ...):
/home/marek/lilypond/usr/share/lilypond/current/scm/lily-library.scm:152:5:
Wrong type argument in position 2 (expecting symbol): ()

-- 
Marek Klein
http://gregoriana.sk
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: [frogs] Re: patch for bug 729

2009-02-28 Thread Neil Puttock
2009/2/28 Carl D. Sorensen :

> I've applied the patch, but it did not include modifications to
> input/lsr/demo-midiinstruments.ly.
>
> We can do that once we get the answer about how to properly handle it.

I've just done an LSR update, so it's been amended automatically with
Andrew's new convert rule.

I have a belated suggestion for the convert rule:  the hash should be
removed, otherwise it only picks up strings which follow the
documentation guidelines.

Regards,
Neil


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


Re: [frogs] Re: patch for bug 729

2009-02-28 Thread Valentin Villenave
Neil, John, Graham,

how about considering an LSR upgrade now? Like, before the whole 2.13
bloody mess starts...

 - How involved would it be?
 - Do we have to download the lsr archive, update the whole thing by
ourselves and send the new tarball to Seba?
 - How do we update snippets that do not have a \version string? Do we
concatenate one automatically, and then remove it?
 - Do you want me to give Seba a ping?

Regards,
Valentin


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


Re: [frogs] Re: patch for bug 729

2009-02-28 Thread Neil Puttock
2009/2/28 John Mandereau :
> Hi Carl,
> Carl D. Sorensen a écrit :
>>
>> So, just for the record, I guess that the appropriate way to handle this
>> would be to:
>>
>> 1.  Search through input/lsr for relevant files.
>> 2.  Fix the snippet to make sure it compiles properly.
>> 3.  Copy the snippet to input/new
>> 4.  Delete the snippet from input/lsr
>>
>> Is that right?
>>
>
> Yes, except you shouldn't do 4, and don't forget some snippets eventually
> come from LSR, not from input/new.

I agree, though in the case of demo-midiinstruments.ly, there's no
need for a copy in input/new, since the LSR version's automatically
converted when makelsr.py is run.

Regards,
Neil


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


Re: [frogs] Re: patch for bug 729

2009-02-28 Thread John Mandereau

Hi Carl,
Carl D. Sorensen a écrit :

So, just for the record, I guess that the appropriate way to handle this
would be to:

1.  Search through input/lsr for relevant files.
2.  Fix the snippet to make sure it compiles properly.
3.  Copy the snippet to input/new
4.  Delete the snippet from input/lsr

Is that right?
  
Yes, except you shouldn't do 4, and don't forget some snippets 
eventually come from LSR, not from input/new.



Plus, I guess that something like these needs to go into the CG, so that we
never have to have this conversation on -devel again.  And the frogs don't
have to search the frogs archive either.
  
I added the fixing procedure you mentioned above, plus other LSR-related 
stuff in the CG.


Cheers,
John


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


Re: Updates to the LM

2009-02-28 Thread John Mandereau

Graham Percival a écrit :

On Wed, Feb 25, 2009 at 11:18:32AM -, Trevor Daniels wrote:
  

I think I've muddled through this and updated
input/lsr with my new snippet.  As this was
the first time I've used makelsr.py there were
lots of mysterious warnings, but it seems to
have converted and copied the one file I needed
successfully, so I selected this one file and
placed it in input/lsr.



As a general note, I would encourage people NOT to use makelsr.py
unless they are very familiar with it.  All it takes is one
inexperienced (in this area) developer trying to fix a "simple"
bug at the wrong time, and could result in many of us losing our
entire personal data due to a rm -rf ~ system call within a
snippet.
  
This potential issue is important, but from now you can just say "Wanna 
know how to run makelsr.py? Please carefully

read the fine CG!" ;-)


Yeah, of course we all use an encrypted incremental backup system
like tarsnap.com, and we all have separate user accounts for
lilypond development so that any malicious snippet can't touch our
personal files...
Yes, we should; I almost do, except that I use two USB sticks and an USB 
disk for backup, and incremental

often means using Git for me, even if it's not identical.

Cheers,
John


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


Re: an LM update

2009-02-28 Thread Trevor Daniels

James

We discussed this last October, and I agreed to make the change in 
2.13, but then the suggestion was made (by Mats):


Better yet, why can't the shorthand automatically "do the right 
thing"? i.e.,


<< {} \\ {} >>

should be translated automagically into

  << {} \new Voice {} >>


I'd rather not waste time changing the documentation now if this 
code change is likely to be implemented.  So, what's the chance this 
change will be made?  I've no idea whether it is easy or difficult.


Trevor

- Original Message - 
From: "James E. Bailey" 
To: "lilypond-user Mailinglist" ; 
"lilypond-devel" 

Sent: Friday, February 27, 2009 9:54 PM
Subject: Fwd: an LM update


Since I haven't heard any feedback, I thought I would post to 
the - devel list as well. Incidentally, I've answered questions 
directly  related to this twice in the last week or so.




Since the NR has the wonderful introduction to single-staff 
polyphony, can this be simply inserted into the LM at the 
appropriate point. I'm sure new users will have a much easier 
time  of engraving their music, and many problems can be avoided 
later if  this topic is presented in the LM the same way it's 
presented in  the NR. Unless, of course, there's a fundamental 
reason not to. In  which case, okay.




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





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


Re: [PATCH] Completion_heads_engraver broken?

2009-02-28 Thread Michael Käppler

Joe Neeman wrote:

On Thu, 2009-02-26 at 13:24 +0100, Michael Käppler wrote:
  

Both fixed. Other comments?



Just one: can you set the environment variables GIT_AUTHOR_NAME and
GIT_AUTHOR_EMAIL so that an actual name and email show up in the patch?
  

Done.

>From fda64abf3730cbe811e292a17d58b23e4fd75f0c Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Michael=20K=C3=A4ppler?= 
Date: Sat, 28 Feb 2009 10:20:38 +0100
Subject: [PATCH] This fixes an endless loop in duration.cc:67 when Duration::Duration(Rational r, bool scale) is called with
 r.num() >= 2 * r.den(), f.e. the duration of a longa: r.num = 2, r.den = 1. If k < 0, the left-shifting-operator <<
 returns an undefined value instead of right-shifting bits. The fix introduces a new function shift_left() in misc.hh,
 which behaves different.

---
 lily/duration.cc |6 +++---
 lily/include/misc.hh |7 +++
 2 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/lily/duration.cc b/lily/duration.cc
index af924bb..0b80b1c 100644
--- a/lily/duration.cc
+++ b/lily/duration.cc
@@ -53,16 +53,16 @@ Duration::Duration (Rational r, bool scale)
   int p = r.num ();
   int q = r.den ();
   int k = intlog2 (q) - intlog2 (p);
-  if ((p << k) < q)
+  if (shift_left(p, k) < q)
 	k++;
 
-  assert ((p << k) >= q && (p << (k-1)) < q);
+  assert (shift_left(p, k) >= q && shift_left(p, (k-1)) < q);
 
   /* If we were to write out log (p/q) in base 2, then the position of the
 	 first non-zero bit (ie. k in our notation) would be the durlog
 	 and the number of consecutive 1s after that bit would be the number of
 	 dots */
-  p = (p << k) - q;
+  p = shift_left(p, k) - q;
   dots_ = 0;
   while ((p *= 2) >= q)
 	{
diff --git a/lily/include/misc.hh b/lily/include/misc.hh
index e33d836..12392c0 100644
--- a/lily/include/misc.hh
+++ b/lily/include/misc.hh
@@ -28,6 +28,13 @@ sign (int i)
   else return 0;
 }
 
+inline int
+shift_left (int value, int shiftamount)
+{
+ if (shiftamount < 0) return (value >> -shiftamount); 
+  else return (value << shiftamount);
+}
+
 inline Real
 linear_interpolate (Real x, Real x1, Real x2, Real y1, Real y2)
 {
-- 
1.5.6

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