lilypond-devel
[Top][All Lists]
Advanced

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

RE: Working on issue 665, how to proceed?


From: lilypond
Subject: RE: Working on issue 665, how to proceed?
Date: Sun, 17 Nov 2019 11:49:50 +0100

> -----Original Message-----
> From: Thomas Morley <address@hidden>
> Sent: Sunday, November 17, 2019 10:29 AM
> To: address@hidden; Jacques Menu <address@hidden>; Urs Liska
> <address@hidden>
> Cc: lilypond-devel <address@hidden>
> Subject: Re: Working on issue 665, how to proceed?
> 
> Hi Jaap,
> 
> 
> Am Sa., 16. Nov. 2019 um 01:23 Uhr schrieb <address@hidden>:
> >
> > In the last weeks I did write a start of a lilypond -> musicxml solution.
> 
> Many thanks working on it.
> 
> I think Jacques Menu does a lot with musicxml.
> Also, I seem to remember there was some experimental work in Frescobaldi.
> I may be wrong with both, nevertheless I cc-ed Jacques and Urs.
> 
> >
> > What I have written so far is creating musicxml files which contains
> > all partials time signatures, keys, notes, slurs, ties, staffs and
> > staff grouping, as well as support for most accidentals, barlines,
> > lyrics, beams, tupplets, forced linebreaks and pagebreaks.  There is
> > partial support for tempo (only <note>=bps ). Also most header
> > information  (title, composer
> > etc) is put in the xml document
> >
> > What not is handled graceful is NullVoice (is just added to the staff).
> >
> >
> >
> > Fermata, CueVoice, Figured bass, stems, repeat endings, special
> > noteheads are not handled at all (at this moment).
> >
> > Also (apart from line end page breaks) no engraving information is
> > added to the musicxml
> >
> >
> >
> > Anyone who is interested in the code can have a look at
> > <https://github.com/de-wolff/lilypond/>
> > https://github.com/de-wolff/lilypond/ in the branch musicxml
> 
> I've cloned and compiled it without any poblems.
> 
> > You only need musicxml.scm xml-library.scm and musicxml.ly.
> >
> > Then you can include musicxml.ly in your music.ly, and put a line
> > \musicxml \mycomplexmusic in it The music can be the total expression
> > as you put it normally in a score, including staffs, staffgoups, lyrics etc.
> 
> I had a very quick glance over your additions.
> Though, before going into details I tried run it on an example:
> 
> \version "2.21.0"
> \include "musicxml.ly"
> \musicxml
> { R1 }
> 
> Alas. I get:
> GNU LilyPond 2.21.0
> Processing `jaap-test-01.ly'
> Parsing.../home/hermann/de-wolff-lilypond-
> git/build/out/share/lilypond/current/scm/musicxml.scm:2315:25:
> In procedure ly_score_set_header_x in expression (ly:score-set-header!
> scr dheader):
> /home/hermann/de-wolff-lilypond-
> git/build/out/share/lilypond/current/scm/musicxml.scm:2315:25:
> Wrong type argument in position 2 (expecting module): #f
> 
> Did I misunderstand?
> 
> 
> Cheers,
>   Harm

Harm, 

I do not think you did misunderstand anything, you just used a case I did not 
test.
I only tested with complex scores, with a header.

When I use your example on 2.19, I get the same error

When I add 
\header {} 
to it, it creates a file named test.xml 
Of course this is a case I can solve quickly 😉
The content of the created file is:

<?xml version="1.0"  standalone="no" ?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML Partwise//EN"  
"http://www.musicxml.org/dtds/partwise.dtd";>
<score-partwise>
        <identification>
                <encoding>
                        <software>Lilypond (2 19 83) musicxml encoder</software>
                        <software>written by Jaap de Wolff 
(address@hidden)</software>
                        <encoding-date>2019-11-17</encoding-date>
                </encoding>
        </identification>
        <part-list>
                <score-part id="id0">
                        <part-name></part-name>
                </score-part>
        </part-list>
        <part id="id0">
                <measure number="1">
                        <attributes>
                                <divisions>48</divisions>
                        </attributes>
                        <note>
                                <rest/>
                                <duration>192</duration>
                                <voice>1</voice>
                                <type>whole</type>
                        </note>
                </measure>
        </part>
</score-partwise>

Actually it is possible that there are changes in 2.21 with prevents my code 
from running, because I only tested it on 2.19.3
I was to lazy to create a lily-dev environment ....

Jaap





reply via email to

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