craigsapp / humlib

Humdrum data parsing library in C++
http://humlib.humdrum.org
BSD 2-Clause "Simplified" License
31 stars 8 forks source link

Dummy translation added #39

Closed craigsapp closed 4 years ago

craigsapp commented 4 years ago

This example MusicXML data causes a dummy transposition to be added to the Humdrum conversion:

<?xml version="1.0" encoding='UTF-8' standalone='no' ?>
<!DOCTYPE score-partwise PUBLIC "-//Recordare//DTD MusicXML 3.0 Partwise//EN" "http://www.musicxml.org/dtds/partwise.dtd">
<score-partwise version="3.0">
 <work>
  <work-title>Empty transposition test</work-title>
 </work>

 <part-list>
  <score-part id="P1">
  </score-part>
 </part-list>
 <part id="P1">

  <measure number="1" width="314">
   <print new-page="yes">
    <system-layout>
     <system-margins>
      <left-margin>94</left-margin>
      <right-margin>0</right-margin>
     </system-margins>
     <top-system-distance>217</top-system-distance>
    </system-layout>
   </print>
   <attributes>
    <divisions>256</divisions>
    <key color="#000000">
     <fifths>0</fifths>
     <mode>major</mode>
    </key>
    <staves>1</staves>
    <clef number="1" color="#000000">
     <sign>G</sign>
     <line>2</line>
    </clef>
   </attributes>
   <note default-x="75">
    <rest />
    <duration>512</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>half</type>
    <staff>1</staff>
   </note>
  </measure>

  <measure number="2" width="432">

   <!-- this element is causing a transposition of *Trd0c0 to be added: -->
   <attributes>
    <staff-details number="1" print-object="yes" />
   </attributes>

   <note default-x="57">
    <rest />
    <duration>512</duration>
    <instrument id="P1-I1" />
    <voice>1</voice>
    <type>half</type>
    <staff>1</staff>
   </note>
  </measure>

 </part>
</score-partwise>

The converted score:

!!!OTL: Empty transposition test
**kern
!!pagebreak:original
*clefG2
*k[]
*C:
=1
2r
=2
*Trd0c0
2r
=
*-

The *Trd0c0 should not be there.

craigsapp commented 4 years ago

Fixed with commit https://github.com/craigsapp/humlib/commit/4cac8cca2e5eb26bf3ccfd3756b49618c9dd877b

The problem is that code was copied when adding staff line number encoding.