denemo-devel
[Top][All Lists]
Advanced

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

Re: [Denemo-devel] Compiling denemo under fedora


From: Richard Shann
Subject: Re: [Denemo-devel] Compiling denemo under fedora
Date: Tue, 15 Jul 2008 17:46:22 +0100

On Tue, 2008-07-15 at 22:37 +1000, Roy Rankin wrote:
> Richard,
> 
> I first saw curobj NULL when I created a test with two staffs, but notes 
> in only one staff and then asked to save it in Lilypond format. I have 
> also seen it happen trying to read Lilypond files.
Ah, right, I can well imagine that. Incidentally, I think empty measures
should default to printing whole-measure rests, a much more common idiom
than empty space, and one which Denemo cannot generate without a
LilyPond insert at present. It could always generate empty space with a
LilyPond insert if it were needed.
> 
> As I have said before, my objective is that Denemo can read back in 
> Lilypond files that it has written.  I have done a test of writing a 
> Lilypond file from an old version of Denemo for a simple case. I have 
> been able to successfully read this file in with the my version of 
> Denemo from Git. However, this version cannot read back in Lilypond 
> files it has written.
> 
> I have identified that the new version of Denemo writes Lilypond files 
> with identifiers 3 levels deep rather than 1 level for the old version.
> The reading part of the Denemo cannot cope with this new Lilypond 
> structure. There may also be an issue with an extra {} around the top 
> level identifier.
That's disappointing - I think the overall design is to create a tree
with branches at points where it goes off down an identifier. The
creation of the Denemo structures from this tree uses recursion, and I
would have hoped it would not notice the extra levels of identifier.
Having said this, I could see when I was looking at the code at the
weekend that the << >> within the music is taken to indicate a denemo
chord has to be built out of the contents; that is Denemo only
represents two levels of parallel, the staffs and then the chords within
the staffs (it doesn't really represent the voices as separate parallel
objects within the staff, it just leaves them as specially marked
staffs).
However, the identifiers we are trying to follow only do more sequential
stuff - they are only there really to make editing the LilyPond text
easier. So really, I can't understand why the Denemo structure
generation doesn't just follow down the branches at each identifier (I
assume the branches are created? I haven't had a chance to hack any code
yet, the debug printout function I made should show the whole tree
recursively).
Richard






reply via email to

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