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

Reply via email to