denemo-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Denemo-devel] lyparser.y


From: Richard Shann
Subject: Re: [Denemo-devel] lyparser.y
Date: Fri, 18 Jul 2008 21:04:00 +0100

I've compared what is happening when you load a .ly file with nested
definitons with one without.
If you parse the current denemo output with my debug output turned on
you can see that it actually does process the sequential nested
definitions correctly, but at the end you get an extra step:

Handling: node type = endcontext string = (null) 

and the music that results (which looks empty) actually has one object
which if you put the cursor on it reveals (on the status bar) an object
of "Unknown Type", which I suspect is this node.
I am fairly sure that this is only a tweak away from working as
intended, and indeed as it once did work.
Did anyone living put in this context stuff?

Richard

On Fri, 2008-07-18 at 20:40 +0100, Richard Shann wrote:
> 

> I hope to get an hour or so at the weekend for the parser - it did some
> remarkable things importing my old LilyPond files, but I haven't had a
> chance to look at why it is not following sequentials - if you get any
> insights, or if you have an good way of tracking which rules the parser
> is going through please email me.
> Thanks,
> 
> Richard
> 
> > 
> > Regards,
> > Roy Rankin
> > 
> > 
> > On Fri Jul 18 0:28 , Richard Shann  sent:
> > 
> >         
> >         Roy, 
> >         In case you are working on this, I needed an old file which I
> >         had
> >         modified in lilypond, so I did a bit more:
> >         In lyparser.y
> >         instead of the crude hack si->thescore = NULL;
> >         you doe
> >         init_score (si, gui);
> >         
> >         and then the block for the successful parse should be thus (it
> >         gets rid
> >         of crud and loads multiple score blocks, which my old file
> >         had):
> >         
> >         if (parser_error_message == NULL)
> >         {
> >         GList *score = findtok (lily_file, SCORE);
> >         if (score)
> >         if (create_score_from_lily (si, br (score)) == 0)
> >         {
> >         GList *top;
> >         score_prop_from_lily(gui);
> >         fixup_measure_widths_and_contexts (si);
> >         while (score && score->next)
> >         {
> >         score = findtok (score->next, SCORE);
> >         if (score)
> >         {
> >         insert_movement_after(NULL);
> >         DenemoScore *nextsi =
> >         Denemo.gui->si;
> >         init_score (nextsi, gui);
> >         create_score_from_lily (nextsi, br (score));
> >         fixup_measure_widths_and_contexts (nextsi);
> >         
> >         }
> >         }
> >         
> >         return 0;
> >         }
> >         }
> >         
> >         
> >         
> >         
> >         _______________________________________________
> >         Denemo-devel mailing list
> >         address@hidden
> >         http://lists.gnu.org/mailman/listinfo/denemo-devel
> > 
> 
> 
> 
> _______________________________________________
> Denemo-devel mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/denemo-devel





reply via email to

[Prev in Thread] Current Thread [Next in Thread]