Yota, I will definitely have to have a close look at this, since I've attempted the same thing in Python. But like the comment above, I gave up after trying to deal with all the various syntactical rules. This might encourage me to keep working at the effort, seeing you've gotten this far.
Jonathan - according to the script source, you can set the output style to either Netherlands or Italian - but, as you noticed, the output default is italian. Thanks for this contribution Yota. Neil On Thu, Aug 21, 2008 at 8:44 PM, Jonathan Kulp <[EMAIL PROTECTED]>wrote: > This is a good idea, Yota. I was going through some of my first Lilypond > files today and found that I had written them in absolute mode and wished > I'd had a script to convert them to relative. I did them by hand since they > were very short, but for anything longer, a script like yours would be very > helpful. > > I ran your script on the test file "in.ly" included in your archive and it > seemed to work fine (the absolute pitches were changed to relative) but then > I couldn't get the resulting file to compile in lilypond. I worked on it > for a few minutes but couldn't find the problem and gave up. > > I also ran the python script on one of my own files and had problems with > it. First of all, it doesn't seem to recognize comments properly, as it > goes through my comments changing them as if they were pitch indications. > It did the same thing to the title in my Header block and even added a > stray { that caused errors when trying to compile. Also, I use the default > Dutch pitch names, and while it read them correctly, it also changed them to > the Italian pitch names in the conversion process. > > I wish I could help tweaking the code, but I have no idea how to write in > Python. I'll be glad to test the script out when you make changes to it, > though. Hope it helps to see these samples. > > Best, > > Jonathan > > %%%%%%%%%%%%%%%%% > > % My original file in absolute mode: > > \version "2.10.25" > \header { > title = "1:1 Exercise 2" > composer = "Jonathan Kulp" > } > > \paper { > ragged-right = ##f > } > > \layout { > indent = 0.5\cm > } > > \new PianoStaff << > \new Staff { > \time 3/4 > \key f \major > #(set-global-staff-size 24) > > % begin inserting notes for treble staff here > > f'4 g' a' > e' f' d' > bes' a' g' > f'2 r4 > \bar "||" > } > > \new Staff { > \clef bass > \key f \major > > % begin inserting notes for bass staff here > > s2.*4 > } > >> > > %%%%%%%%%%%%%%%%%%%%%% > > % Resulting file after running it through lilymusic.py > % This file does not compile at all. See next example for > % my adjustments to make it compile but it still has problems > % after that... > > \version "2.10.25" > \header { > title = "1:1 Exercise 2"\relative do { doomposer = "Jonathan Kulp" > } > > \paper { > ragged-right = ##fa > } > > \layout { > indent = 0.5\cm > } > > \new PianoStaff << > \new Staff { > \time 3/4 > \key f \major > #(set-sollobal-staff-size 24) > > % sigin inserting notes faor treble staff here > > fa'4 sol la > mi fa re > sib' la sol > fa2 r4 > \bar "||" > } > > \new Staff { > \clef si,ass > \key f \major > > % sigin inserting notes faor siass staff here > > s2.*4 > } > >> > > > > %%%%%%%%%%%%%%%%%%%%% > > % same file after fixing the clef line and key indication, and removing > % the extra { that was inserted in the title causing errors > % This file compiles but the notes are in wrong octaves-- > % The absolute-to-relative didn't work right > % Also you can see that it changes "composer" to "doomposer" > % and I had to use \include "italiano.ly" > % it changes ragged-right value to "##fa" instead of ##f > % I also had to fix the #(set-global-staff-size line > > > \version "2.10.25" > \include "italiano.ly" > \header { > title = "1:1 Exercise 2" > doomposer = "Jonathan Kulp" > } > > \paper { > ragged-right = ##fa > } > > \layout { > indent = 0.5\cm > } > > \new PianoStaff << > \new Staff { > \time 3/4 > \key fa \major > #(set-global-staff-size 24) > > % sigin inserting notes faor treble staff here > > fa'4 sol la > mi fa re > sib' la sol > fa2 r4 > \bar "||" > } > > \new Staff { > \clef bass > \key fa \major > > % sigin inserting notes faor siass staff here > > s2.*4 > > } > >> > > > Yota wrote: > >> Good evening everybody, >> >> Being unable to find a nice tool to handle lilypond sources, I designed >> mine. >> >> I worked on this little script which (even if its buggy) should perform >> some essential tasks: >> >> - convert absolute music to relative music >> - transpose the source (from bes to c for example) >> - change the naming scheme >> >> in the future I hope it will also >> >> - shrink R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 R1 stuffs into R1 * 11 >> >> the parser is very naive and need to be improved, but the code should be >> flexible enough to let some room for improvements. >> >> if you wanna play with it, download it from http://dl.free.fr/mQx7nFhQQ , >> expand it and use python. The main script is lilymusic.py ; to be feeded >> from the stdin. >> >> ex : cat in.ly | python lilymusic.py >> >> >> >> feedback appreciated >> >> ... now goin' to bed >> >> >> _______________________________________________ >> lilypond-user mailing list >> lilypond-user@gnu.org >> http://lists.gnu.org/mailman/listinfo/lilypond-user >> >> > -- > Jonathan Kulp > http://www.jonathankulp.com > > > > _______________________________________________ > lilypond-user mailing list > lilypond-user@gnu.org > http://lists.gnu.org/mailman/listinfo/lilypond-user > -- Neil Thornock, D.M. Assistant Professor of Music Composition/Theory Brigham Young University http://neilthornock.net
_______________________________________________ lilypond-user mailing list lilypond-user@gnu.org http://lists.gnu.org/mailman/listinfo/lilypond-user