Re: Problem with \partial
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
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
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
[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
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
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?
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