Jacques— Personally, I would prefer to have a line-breaking script that works directly on the LilyPond code. Although solving the messy XML import problem is priority right now, my wish is to eventually have a more complex “reformat” script.
I will send you the file in a private email. -Devon. On Thu, Mar 30, 2017 at 1:23 PM Jacques Menu Muzhic <imj-muz...@bluewin.ch> wrote: Hello Devon, Can you send me one those XML files privately? I’d like to perform some experiments. Thanks! Le 30 mars 2017 à 21:48, m.tarensk...@zonnet.nl a écrit : Verzonden vanaf mijn Huawei mobiele telefoon -------- Oorspronkelijk bericht -------- Onderwerp: Re: Lilypond document reformatting script? Van: m.tarensk...@zonnet.nl Aan: Devon LePage Cc: Maybe an alternative option is to write a python script to manipulate the musicxml code, befóre feeding it to musicxml2ly? After that such code might be useful to improve musicxml2ly in the future? Just a thought. Verzonden vanaf mijn Huawei mobiele telefoon -------- Oorspronkelijk bericht -------- Onderwerp: Re: Lilypond document reformatting script? Van: Devon LePage Aan: Urs Liska ,lilypond-user@gnu.org Cc: Rémy— Whenever I use musicxml2ly on a MusicXML file generated by Smart Score X2, I get LilyPond code that looks something like this: { a4 b4 c4 d4 e4 f4 g2 g8 f8 e8 d8 c8 b8 \times 2/3 { a8 b8 c8 } } I would like to create a Python script that would reformat the code to look like this: { a4 b4 c4 d4 | e4 f4 g2 | g8 f8 e8 d8 c8 b8 \times 2/3 { a8 b8 c8 } | } Please see my response to Urs for more information and more examples of “messy” code generated by musicxml2ly. -Devon. On Thu, Mar 30, 2017 at 5:20 AM Devon LePage <devonlep...@gmail.com> wrote: Urs— Here are 2 gists that contain “messy" excerpts from a MusicXML file: https://gist.github.com/devonlepage/7b6b373bd4a16aac92eae68f7534113e https://gist.github.com/devonlepage/6c92575e38f3e6e2bd78d07b35c6059c These are from a transcription of a John Coltrane performance, unrelated to my main project. When I use musicxml2ly on any MusicXML files created in Smart Score X2, I have similar issues. As you can see: —there is not a bar-check after every measure —bar-checks occur infrequently and in more-or-less random locations within the document (in the full document, they occur at bars 62, 65, and 68, but then not another until bar 105!) —sometimes bar-checks appear as “\barNumberCheck” followed by the expected bar number, but these checks also seem to occur at random —the first notes of a measure do not reliably appear at the beginning of a line of code —tuplets are always spaced across 3 lines —inconsistent whitespace around braces, especially tuplets (look at the final one in the 2nd gist) -Devon. On Thu, Mar 30, 2017 at 3:20 AM Urs Liska <u...@openlilylib.org> wrote: Am 30.03.2017 um 10:45 schrieb Devon LePage: I’m currently working on a project that involves importing a lot of music into LilyPond via MusicXML. (Before this, the music is scanned and OCR-ed in Smart Score X2, if that is relevant.) Unfortunately, the resulting LilyPond code is a bit messy and difficult to read. I'd like to reformat these files so that there’s only one measure on each indented line. Doing this by hand takes up a significant amount of time, so I’ve been trying to create a python script that uses the ly.lex package to do this. Has anyone already done this? I couldn’t find anything, so I tried to do it myself. But after four hours of frustration I'm starting to think that I might be too much of a novice to figure this out. There are just too many moving parts for me—I’m having a hard time just figuring out how to add a newline in the middle of a small lilypond document. I’m also unsure how to incorporate tuplets into the determination of a measure. I’m wondering if there’s a wizard here on the mailing list who might be able to help me out? (Another dream would be to have a function that adds a second newline after every group of N-measures.) At the very least, maybe someone could point me in the right direction: what do I need to read/understand to figure this out? How would one go about doing this? I've only tested one random MusicXML file, so I can't fully comment. But it seems that musicxml2ly generates barchecks ("|") for every measure. So you can simply use *these* to identify possible line breaks, without actually going down the road of analyzing the content. But my converted file actually *did* place one measure in a line, so I don't see your problem. Could you please share some of that "messy" LilyPond code? Urs Thanks, -Devon. _______________________________________________ lilypond-user mailing listlilypond-user@gnu.orghttps://lists.gnu.org/mailman/listinfo/lilypond-user -- ul@openlilylib.orghttps://openlilylib.orghttp://lilypondblog.org _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user