[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [musicxml2ly] unwanted staves and voices [was: missing <voice>-eleme
From: |
pls |
Subject: |
Re: [musicxml2ly] unwanted staves and voices [was: missing <voice>-element in chorded note leads to unwanted additional staff] |
Date: |
Sat, 29 Sep 2012 13:19:18 +0200 |
Am 28.09.2012 um 12:09 schrieb pls:
> A <note>-element containing a <chord/>- and a <staff>-element but no
> <voice>-element causes an additional empty staff above the defined one.
>
> Tiny example:
> <missing_voice-element_in_a_chorded_note_leads_to_empty_second_staff.xml>
>
> (unwanted) result:
> <missing_voice-element_in_a_chorded_note_leads_to_empty_second_staff.png>
>
> The wrong MusicXML-markup was caused by Sibelius 7.0.0.
>
> In this case musicxml2ly puts the chorded note without a <voice>-element in
> an own voice (PartPOneVoiceNone) instead of placing the notes in a chord
> construct (< a' c''>1) in the same voice. She also surrounds the \context
> Staff block by an additional \new Staff block which causes the additional
> staff.
>
> musicxml2ly should be taught to be tolerant and automatically assign notes
> containing <chord/>-elements to the voice of the first note of the chord.
> (This first note does not contain a <chord/>-element.)
Hm, the above obviously seems to tell only half the story: Without a
<staff>-element the .xml-file does NOT cause an additional empty staff above
the normal one even though two voices are exported and the \context Staff block
is surrounded by a \new Staff block. So this means that I have to correct
myself. There are two issues involved here:
1) if an .xml file contains only <staff> elements with value "1" (i.e.
<staff>1</staff>) musicxml2ly erroneously thinks that there are several staves.
The result is:
\new Staff <<
\context Staff ="1" <<
\context Voice = "PartPOneVoiceOne" { \voiceOne
\PartPOneVoiceOne }
\context Voice = "PartPOneVoiceNone" { \voiceTwo
\PartPOneVoiceNone }
>>
>>
This leads to a second unwanted empty staff.
Without any <staff> element in the .xml file the result is:
\new Staff <<
\context Staff <<
\context Voice = "PartPOneVoiceOne" { \voiceOne
\PartPOneVoiceOne }
\context Voice = "PartPOneVoiceNone" { \voiceTwo
\PartPOneVoiceNone }
>>
>>
and there is NO unwanted additional staff!
In this case musicxml2ly should be taught to ignore the element value if there
is only one staff.
2) if a <note> element contains a <chord/> element but no <voice> element
musicxml2ly puts the chorded note without a <voice>-element in an own voice
(PartPOneVoiceNone) instead of placing the notes in a chord construct (< a'
c''>1) in the same voice.
In this case musicxml2ly should be taught to be tolerant and automatically
assign notes containing <chord/>-elements to the voice of the first note of the
chord. (In MusicXML the first note of a chord does not contain a
<chord/>-element.)
hth
patrick