Re: Problem with \partial

2006-07-13 Thread Graham Percival

Erik Sandberg wrote:

Anacrusis seems to be another related word:
http://www.music.vt.edu/MUSICDICTIONARY/texta/Anacrusis.html
A quick googling suggests that anacrusis and pickup seem to be the most 
correct terms, and then pickup is better because I have never heard the word 
anacrusis. (unfortunately I'm not good at English musical terms; I only know 
that the correct term in Swedish is 'upptakt'.)


The first time I encountered the word "anacrusis" was in a university 
music theory class, after 20 years of string playing.  "pickup" is the 
common term here (Canada, and I'm pretty certain in the US as well).


Cheers,
- Graham


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


Re: Some bugs (???) in lexer.ll, parser.yy of Lilypond 2.9.9

2006-07-13 Thread Erik Sandberg
On Friday 07 July 2006 17:56, Angelo Contardi wrote:
> Hello Han-Wen,
>
> i'm not a musician (though i like music) but a C programmer with some
> experience in flex/yacc parser (just C, not C++).
> During this week i have take a look at lexer.ll (mostly) and parser.yy
> (just few time) and i think there are some errors:
>
> lexer.ll:
> -
>
> 1) The TEX syntax include both PUNCT and ACCENT so in the LYRICS may
>include ' and ` both "escaped" (ACCENT) and "non escaped" (PUNCT).
>To solve this problem probably you should define:
>
>   PUNCT [?!:]
>
>And allow only escaped version of ` and ', like in C strings.
>Note that PUNCT and ACCENT appear only in TEX, that appears only in
> LYRICS.

Why is it a problem?

> 2) Not a bug, but a possible simplification. The "semantic actions" in the
>status  and  are the same, except for the token
>returned (respectively STRING and LYRICS_STRING). So both status may be
>re-wrote in a compact form:

OK.

>But my question is: do you really need to distinguish between STRING and
>LYRICS_STRING? 

Yes, it by keeping them separate, some shift/reduce conflicts are eliminated 
from the parser.

>In any case you can "group" all kind of "start quote" in this compact
> way:
>
>#define start_quote()  \
>   if (YY_START==lyric)\ // start_lyric_quote() was called
> Just yy_push_state (lyric_quote); \ // in  status
>   else\
>  yy_push_state (quote);   \
>   yylval.string = new string

Why can't we just use separate defines for start_lyric_quote and start_quote, 
and only group all start_quotes together?

> parser.yy:
> --

Changes look sensible to me, except some bugs I found and fixed. Also, I'd 
prefer to give < and << the names ANGLE_OPEN nad DOUBLE_ANGLE_OPEN (they are 
used for non-chord situations as well).

I also fixed some other problems in your code, but ignored the TEX stuff 
because I don't understand it. Attached is a patch which works well as far as 
I have tested. Han-Wen, may I apply?

-- 
Erik
--- lily/parser.yy	2006-06-28 07:13:15.0 +0200
+++ ../lilypond29/lily/parser.yy	2006-07-13 19:22:57.0 +0200
@@ -160,7 +160,7 @@
 %token ADDQUOTE "\\addquote"
 %token ALIAS "\\alias"
 %token ALTERNATIVE "\\alternative"
-%token BOOK "\book"
+%token BOOK "\\book"
 %token CHANGE "\\change"
 %token CHORDMODE "\\chordmode"
 %token CHORDS "\\chords"
@@ -223,8 +223,10 @@
 %token CHORD_COLON ":"
 %token CHORD_MINUS "-"
 %token CHORD_SLASH "/"
-%token DOUBLE_ANGLE_CLOSE ">>"
+%token ANGLE_OPEN "<"
+%token ANGLE_CLOSE ">"
 %token DOUBLE_ANGLE_OPEN "<<"
+%token DOUBLE_ANGLE_CLOSE ">>"
 %token E_BACKSLASH "\\"
 %token E_ANGLE_CLOSE "\\>"
 %token E_CHAR "\\C[haracter]"
@@ -348,7 +350,6 @@
 %type  simple_music_property_def
 %type  string_number_event
 %type  tempo_event
-%type  toplevel_music
 
 %type  output_def_body
 %type  output_def_head
@@ -477,7 +478,7 @@
 		scm_call_2 (proc, PARSER->self_scm (), score->self_scm ());
 		score->unprotect ();
 	}
-	| toplevel_music {
+	| composite_music {
 		Music *music = unsmob_music ($1);
 		SCM proc = PARSER->lexer_->lookup_identifier ("toplevel-music-handler");
 		scm_call_2 (proc, PARSER->self_scm (), music->self_scm ());
@@ -502,11 +503,6 @@
 	}
 	;
 
-toplevel_music:
-	composite_music {
-	}
-	;
-
 embedded_scm:
 	SCM_T
 	| SCM_IDENTIFIER
@@ -902,7 +898,7 @@
 	SIMULTANEOUS '{' music_list '}'{
 		$$ = MAKE_SYNTAX ("simultaneous-music", @$, scm_car ($3));
 	}
-	| simul_open music_list simul_close	{
+	| DOUBLE_ANGLE_OPEN music_list DOUBLE_ANGLE_CLOSE	{
 		$$ = MAKE_SYNTAX ("simultaneous-music", @$, scm_car ($2));
 	}
 	;
@@ -1331,20 +1327,8 @@
 	}
 	;
 
-chord_open: '<'
-	;
-
-chord_close: '>'
-	;
-
-simul_open: DOUBLE_ANGLE_OPEN
-	;
-
-simul_close: DOUBLE_ANGLE_CLOSE
-	;
-
 chord_body:
-	chord_open chord_body_elements chord_close
+	ANGLE_OPEN chord_body_elements ANGLE_CLOSE
 	{
 		$$ = MAKE_SYNTAX ("event-chord", @$, scm_reverse_x ($2, SCM_EOL));
 	}
@@ -1766,7 +1750,7 @@
  	| '|'		{
 		$$ = scm_makfrom0str ("Bar");
 	}
-	| '>'		{
+	| ANGLE_CLOSE	{
 		$$ = scm_makfrom0str ("Larger");
 	}
 	| '.' 		{
--- lily/lexer.ll	2006-06-20 21:08:20.0 +0200
+++ ../lilypond29/lily/lexer.ll	2006-07-13 19:23:19.0 +0200
@@ -179,6 +179,12 @@
   }
 }
 
+{
+	\"		{
+		start_quote ();
+	}
+}
+
 \\version{WHITE}*	{
 	yy_push_state (version);
 }
@@ -318,13 +324,23 @@
 	return SCM_T;
 }
 { 
-	\<\<   {
+	\<\<	{
 		return DOUBLE_ANGLE_OPEN;
 	}
-	\>\>   {
+	\>\>	{
 		return DOUBLE_ANGLE_CLOSE;
 	}
 }
+
+{
+	\<	{
+		return ANGLE_OPEN;
+	}
+	\>	{
+		return ANGLE_CLOSE;
+	}
+}
+
 {
 	_	{
 		return FIGURE_SPACE;
@@ -362,36 +378,9 @@
 		yylval.i = String_convert::dec2int (string (YYText () +1));
 		return E_UNSIGNED;
 	}
-	\" {
-		start_quote ();
-	}
 }
 
-\"		{
-	start_quote ();
-}
-{
-	\\{ESCAPED}	{
-		*yylval.string += to_string (escaped_char (YYText ()[1]));
-	}
-	[^\\"]+	{
-		*yylval.string += YYText ();
-	}
-

Re: Problem with \partial

2006-07-13 Thread Erik Sandberg
On Wednesday 12 July 2006 23:01, Paul Scott wrote:
> Graham Percival wrote:
> > Erik Sandberg wrote:
> >> On 7/9/06, Graham Percival <[EMAIL PROTECTED]> wrote:
> >>> Erik Sandberg wrote:
> >>> In an ideal world we wouldn't need workarounds like this, but it's
> >>> useful to have a "fudge factor" \partial.  Perhaps we could rename it,
> >>> and hide it somewhere in the manual under "advanced tweaks"?  :)
> >>
> >> There is already a property that can be set (Timing.measurePosition
> >> IIRC) which is what \partial modifies.
> >
> > Whoops, I should have realized this.  OK, I'm happy -- ugly hacks are
> > still possible, but \upbeat is a better term for real uses of
> > \partial.  :)
>
> I like \partial as it is.  In my experience upbeat is the second half of
> a beat where downbeat is the first half of a beat.  If it needs to be
> changed "pickup(s)" at least means what you seem to be referring to.

Anacrusis seems to be another related word:
http://www.music.vt.edu/MUSICDICTIONARY/texta/Anacrusis.html
A quick googling suggests that anacrusis and pickup seem to be the most 
correct terms, and then pickup is better because I have never heard the word 
anacrusis. (unfortunately I'm not good at English musical terms; I only know 
that the correct term in Swedish is 'upptakt'.)

I think Kieren is right too: it seems that both words can be used for both 
meanings. However, it seems that pickup is more commonly used in the meaning 
we want.

-- 
Erik


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


Re: Autotester: FAIL /sw/bin/python gub-builder.py --branch HEAD -lp darwin-ppc build lilypond

2006-07-13 Thread Graham Percival

[EMAIL PROTECTED] wrote:


true
make: *** manual: No such file or directory.  Stop.
make[1]: *** [all] Error 2
make: *** [all] Error 2


It's in CVS:
http://cvs.savannah.gnu.org/viewcvs/lilypond/input/manual/?root=lilypond

Does the buildbox run with "cvs update -d "  ?

- Graham


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


Re: Autotester: summary

2006-07-13 Thread Graham Percival

Han-Wen Nienhuys wrote:

Graham Percival schreef:

[EMAIL PROTECTED] wrote:

Last patch of this release:

2006-07-12  Graham Percival  <[EMAIL PROTECTED]>



* input/manual/ GNUmakefile, SConscript: build files for
input/manual/

* input/test/ various: some files moved to input/manual/ 


Did this do a "make clean"?  If the autotester didn't do one, then I'm 
not surprised it died.




I think you forgot to add the manual/ directory


manual/ looks like it's there, but I forgot to add one of the moved 
files.  I did a "gmake cvsclean" and cvs can't see any files in my tree 
that aren't in CVS, so it should be fixed now.


- Graham


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


Re: Autotester: summary

2006-07-13 Thread Han-Wen Nienhuys

Graham Percival schreef:

[EMAIL PROTECTED] wrote:

Last patch of this release:

2006-07-12  Graham Percival  <[EMAIL PROTECTED]>

* Documentation/user/SConscript, make/lilypond-vars.make,
input/GNUmakefile: doc build looks in input/manual instead
of input/test/

* input/manual/ GNUmakefile, SConscript: build files for
input/manual/

* input/test/ various: some files moved to input/manual/ 


Did this do a "make clean"?  If the autotester didn't do one, then I'm 
not surprised it died.




I think you forgot to add the manual/ directory


--

Han-Wen Nienhuys - [EMAIL PROTECTED] - http://www.xs4all.nl/~hanwen

LilyPond Software Design
 -- Code for Music Notation
http://www.lilypond-design.com



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


Re: Bug or Feature?

2006-07-13 Thread Marco Gusy
I attach an image of the output. As you can see only the last note have 
cautionary accidental, not the previous


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