Take the 2-minute tour ×
Musical Practice & Performance Stack Exchange is a question and answer site for musicians, students, and enthusiasts. It's 100% free, no registration required.

I am trying to convert a Lilypond file to an actual version. The script convert-ly gets stuck at the conversion to version 2.1.17 with the following error:

\partcombine can not be converted.

I am very new to lilypond and it seems that a lot in the syntax has been changed. I would appreciate very much, if you could help me with transfering the following snippet to a more actual version:

\score {
    << 
\context StaffGroup = group <<
   \context Staff = violiniI <<
    \property Staff.midiInstrument = #"violin"
    \property Staff.instrument = #'(lines "Violini I    " "(con sordini)" )
    \property Staff.instr = #"  Vl.I "
    \notes <<
    \context Voice=one \partcombine Voice
        \context Thread=one \violinioneI
        \context Thread=two \violinioneII
>>
>>

>>
>>
}
share|improve this question
1  
My kingdom for a fix for our botched jTab support. I've put in the necessary workarounds; if you wouldn't mind, please give some upvotes to the following questions on meta: meta.music.stackexchange.com/q/240/133 meta.music.stackexchange.com/q/396/133 –  NReilingh Sep 16 '13 at 19:49
    
2.17.1 (seems to be mixed up in your question) is a non-stable development version. I would first try to fall back to stable 2.16.2. The changes document specifies no change in partcombine already present in 2.16.2, so this might be sufficient. –  guidot Sep 17 '13 at 8:34
    
Hi, thanks, but you missread that. I wrote 2.1.17. - 2.1.16 is the last version I can achieve. In the end I would like to get it to 2.16.0 which I use on Ubuntu, but first, I need to jump over the 2.1.17 specification changes. –  LaRiFaRi Sep 17 '13 at 8:49
    
I would recommend finding a friend who does software and asking him/her to write you a regex-based script that will swap the old patterns for new. –  Carl Witthoft Sep 17 '13 at 11:50
    
I could do that my self. But I need the swap of the old pattern. If someone could transfer above snippet to anything newer than 2.1.16, I'd be happy and could continue. Thank you. –  LaRiFaRi Sep 17 '13 at 12:29
show 2 more comments

3 Answers

up vote 3 down vote accepted

Taken from the link in user6456's answer are 2 links, comparing the old \partcombine with the new one:

Old: http://lilypond.org/doc/v2.0/Documentation/user/out-www/lilypond/Automatic-part-combining.html#Automatic%20part%20combining

New: http://lilypond.org/doc/v2.4/Documentation/user/out-www/lilypond/Automatic-part-combining.html#Automatic%20part%20combining

Basically the difference in the syntax's being:

Old:\partcombine context musicexpr1 musicexpr2

New:\partcombine musicexpr1 musicexpr2

The old documentation says:

The music expressions must be interpreted by contexts whose names should start with one and two.

However the new one says nothing pertaining to that. Which leads me to believe...

Just a sec...

So I tried installing Lilypad, but I don't have the time at the moment to figure out how to use it (and I don't have the version you are wanting to convert to). However, I can make a guess at what is wrong in your code.

Try changing this part:

\context Voice=one \partcombine Voice
    \context Thread=one \violinioneI
    \context Thread=two \violinioneII

To this:

\context Voice=one \partcombine 
    \context Thread=one \violinioneI
    \context Thread=two \violinioneII

If the links in user6456's original link are correct, than that should work. However I may be mistaken, for instance those might not be the right versions... Or I might just be mistaken... :) Whatever the case, let me know if this doesn't work.


Just in case if you want it all in context, your code should now read:

\score {
    << 
\context StaffGroup = group <<
   \context Staff = violiniI <<
    \property Staff.midiInstrument = #"violin"
    \property Staff.instrument = #'(lines "Violini I    " "(con sordini)" )
    \property Staff.instr = #"  Vl.I "
    \notes <<
    \context Voice=one \partcombine
        \context Thread=one \violinioneI
        \context Thread=two \violinioneII
>>
>>

>>
>>
}

Edit: I am now having second thought as to if this will work, since the new version of \partcombine documentation also did other things differently:

\new Staff \partcombine

As compared to:

\context Staff <<
         \context Voice=one \partcombine Voice

So the change I am suggesting might only work for later versions and if you edit all the rest of the version changes...

Edit:

I don't know what you are trying to achieve, but I came up with this: enter image description here

Which was coded with this:

\version "2.16.1"
\score {

  violinOne = \relative c' {
    c4 d e f |
  }

  violinTwo = \relative c' {
    g4 a b c |
  }
  \new StaffGroup 
  <<
    \new Staff \with {
      instrumentName = #"Violin 1 "
      shortInstrumentName = #"Vln. 1 "
    } \violinOne

    \new Staff \with {
      instrumentName = #"Violin 2 "
      shortInstrumentName = #"Vln. 2 "
    } \violinTwo

    \new Staff \with {
      instrumentName ="Combined "
    } \partcombine \violinOne \violinTwo
  >>
}
share|improve this answer
    
Thank you a lot. I will try as soon as I can. I think that's tomorrow. All this \context and \property stuff seems to be old. Property can be replaced by \set. That's what I found out so far. –  LaRiFaRi Sep 18 '13 at 12:24
    
Just to tell you @LaRiFaRi, I tried compiling it in version 2.16.2 and it failed epicly with a huge log... :) I don't know what the difference is exactly, but I will try to make it work in this version. –  SuperMusicman Sep 18 '13 at 16:51
    
OK, @LaRiFaRi, it seems that \context can be replaced by \new... I don't exactly know what you are trying to achieve, but after playing around with LilyPond (or more with the manual...) I came up with a little something which I will again edit my answer with. –  SuperMusicman Sep 18 '13 at 18:33
    
Gotcha covered on the code formatting--please see (and upvote) the following meta topics: meta.music.stackexchange.com/q/240/133 meta.music.stackexchange.com/q/396/133 –  NReilingh Sep 18 '13 at 18:42
1  
Glad to help! This Q/A has made me interested in learning to use LilyPond... Thank you! :) I especially like how you can use different types of notation, such as Gregorian chant. Actually, what I am most interested in hasn't yet been implemented... But it has been mentioned: code.google.com/p/lilypond/issues/detail?id=1389 –  SuperMusicman Sep 19 '13 at 16:29
show 2 more comments

After some great help from SuperMusicman, I finally got it to work and I believe, this is the most actual syntax for the snippet from my question.

\score {
          <<
        \new StaffGroup  <<
           \new Staff \with {
            midiInstrument = #"violin"
            instrumentName = \markup {
                  \column { "Violini I"
                            \line { "(con sordini)" }
                  }
                }
            shortInstrumentName = #"Vl. I"
           }
            \partcombine
                 \violinioneI
                 \violinioneII 
   ...
   >>
   >>
}

share|improve this answer
1  
Once again, glad to help! Good luck in your LilyPonding! :) –  SuperMusicman Sep 19 '13 at 22:03
add comment

This is what Google advises:

    http://lists.gnu.org/archive/html/lilypond-user/2005-01/msg00158.html

HTH Jan

share|improve this answer
    
Could you apply that to my snippet? I can't compare the examples you give to my code. Sorry, I am new to that and just would like to get it compiled. –  LaRiFaRi Sep 16 '13 at 20:27
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.