ove files import fixes; implement mtests for ove files

This commit is contained in:
AntonioBL 2015-04-08 11:44:18 +02:00
parent 3437eef731
commit f9735e909b
34 changed files with 2553 additions and 5 deletions

View file

@ -21,7 +21,7 @@
#include "ove.h"
#include "globals.h"
#include "musescore.h"
//#include "musescore.h"
#include "libmscore/sig.h"
#include "libmscore/tempo.h"
#include "libmscore/arpeggio.h"
@ -343,9 +343,22 @@ void OveToMScore::convertHeader() {
addText(vbox, score_, title, TextStyleType::TITLE);
}
QList<QString> copyrights = ove_->getCopyrights();
if( !copyrights.empty() && !copyrights[0].isEmpty() ) {
QString copyright = copyrights[0];
score_->setMetaTag("copyright", copyright);
}
QList<QString> annotates = ove_->getAnnotates();
if( !annotates.empty() && !annotates[0].isEmpty() ) {
QString annotate = annotates[0];
addText(vbox, score_, annotate, TextStyleType::POET);
}
QList<QString> writers = ove_->getWriters();
if(!writers.empty()) {
QString composer = writers[0];
score_->setMetaTag("composer", composer);
addText(vbox, score_, composer, TextStyleType::COMPOSER);
}
@ -1403,7 +1416,8 @@ void OveToMScore::convertNotes(Measure* measure, int part, int staff, int track)
Segment* s = measure->getSegment(cr, tick);
s->add(cr);
} else {
}
else {
QList<OVE::Note*> notes = container->getNotesRests();
cr = measure->findChord(tick, noteTrack);
@ -1431,7 +1445,8 @@ void OveToMScore::convertNotes(Measure* measure, int part, int staff, int track)
}
// st = Segment::Type::Grace;
} else {
}
else {
TDuration duration = OveNoteType_To_Duration(container->getNoteType());
duration.setDots(container->getDot());
@ -1459,6 +1474,7 @@ void OveToMScore::convertNotes(Measure* measure, int part, int staff, int track)
}
}
cr->setVisible(container->getShow());
for (j = 0; j < notes.size(); ++j) {
OVE::Note* oveNote = notes[j];
Note* note = new Note(score_);
@ -1502,6 +1518,8 @@ void OveToMScore::convertNotes(Measure* measure, int part, int staff, int track)
note->setTpc(step2tpc(tone, AccidentalVal(alter)));
note->setHeadGroup(getHeadGroup(oveNote->getHeadType()));
if ((oveNote->getHeadType() == OVE::NoteHeadType::Invisible) || !(oveNote->getShow()))
note->setVisible(false);
}
// tie
@ -1516,7 +1534,7 @@ void OveToMScore::convertNotes(Measure* measure, int part, int staff, int track)
// is inserted into pitch sorted list (ws)
cr->add(note);
cr->setVisible(oveNote->getShow());
//cr->setVisible(oveNote->getShow());
((Ms::Chord*) cr)->setNoStem(int(container->getNoteType()) <= int(OVE::NoteType::Note_Whole));
if(!setDirection)
((Ms::Chord*) cr)->setStemDirection(container->getStemUp() ? MScore::Direction::UP : MScore::Direction::DOWN);

View file

@ -49,6 +49,8 @@ add_library(
${PROJECT_SOURCE_DIR}/mscore/importgtp-gp4.cpp
${PROJECT_SOURCE_DIR}/mscore/importgtp-gp5.cpp
${PROJECT_SOURCE_DIR}/mscore/importgtp-gp6.cpp
${PROJECT_SOURCE_DIR}/mscore/importove.cpp
${PROJECT_SOURCE_DIR}/mscore/ove.cpp
${PROJECT_SOURCE_DIR}/mscore/importmidi/importmidi.cpp
${PROJECT_SOURCE_DIR}/mscore/importmidi/importmidi_operations.cpp
${PROJECT_SOURCE_DIR}/mscore/importmidi/importmidi_meter.cpp
@ -152,7 +154,7 @@ add_custom_target(reporthtml
WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/mtest"
)
subdirs (libmscore importmidi capella biab musicxml guitarpro scripting)
subdirs (libmscore importmidi capella biab musicxml guitarpro scripting testoves)
install(FILES

View file

@ -0,0 +1,17 @@
#=============================================================================
# MuseScore
# Music Composition & Notation
# $Id:$
#
# Copyright (C) 2015 Werner Schweer and others
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
# as published by the Free Software Foundation and appearing in
# the file LICENSE.GPL
#=============================================================================
subdirs(
bdat ove3 structure
)

View file

@ -0,0 +1,16 @@
#=============================================================================
# MuseScore
# Music Composition & Notation
# $Id:$
#
# Copyright (C) 2015 Werner Schweer and others
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
# as published by the Free Software Foundation and appearing in
# the file LICENSE.GPL
#=============================================================================
set(TARGET tst_ove_bdat)
include(${PROJECT_SOURCE_DIR}/mtest/cmake.inc)

View file

@ -0,0 +1,138 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">作者</metaTag>
<metaTag name="copyright">www.popiano.org</metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">标题</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>标题</text>
</Text>
<Text>
<style>Lyricist</style>
<text>注解</text>
</Text>
<Text>
<style>Composer</style>
<text>作者</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<sigN>4</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Tempo>
<tempo>1.6</tempo>
<xoffset>0</xoffset>
<yoffset>-2</yoffset>
<text></text>
</Tempo>
<Beam id="1">
<l1>0</l1>
<l2>0</l2>
</Beam>
<Chord>
<BeamMode>begin</BeamMode>
<durationType>eighth</durationType>
<Beam>1</Beam>
<StemDirection>up</StemDirection>
<Note>
<pitch>67</pitch>
<tpc>15</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<BeamMode>end</BeamMode>
<durationType>eighth</durationType>
<Beam>1</Beam>
<StemDirection>up</StemDirection>
<Note>
<pitch>67</pitch>
<tpc>15</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Rest>
<durationType>quarter</durationType>
</Rest>
<Rest>
<durationType>half</durationType>
</Rest>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,134 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">作者</metaTag>
<metaTag name="copyright">www.popiano.org</metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">标题</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>标题</text>
</Text>
<Text>
<style>Lyricist</style>
<text>注解</text>
</Text>
<Text>
<style>Composer</style>
<text>作者</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<sigN>4</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Tempo>
<tempo>1.6</tempo>
<xoffset>0</xoffset>
<yoffset>-2</yoffset>
<text></text>
</Tempo>
<Rest>
<durationType>quarter</durationType>
</Rest>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>67</pitch>
<tpc>15</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Rest>
<durationType>quarter</durationType>
</Rest>
<Clef>
<concertClefType>F</concertClefType>
<transposingClefType>F</transposingClefType>
</Clef>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>48</pitch>
<tpc>14</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,376 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">作者</metaTag>
<metaTag name="copyright">www.popiano.org</metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">标题</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>标题</text>
</Text>
<Text>
<style>Lyricist</style>
<text>注解</text>
</Text>
<Text>
<style>Composer</style>
<text>作者</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>1</accidental>
</KeySig>
<TimeSig>
<sigN>1</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>60</pitch>
<tpc>14</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="2">
<KeySig>
<accidental>2</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>62</pitch>
<tpc>16</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="3">
<KeySig>
<accidental>3</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>64</pitch>
<tpc>18</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="4">
<KeySig>
<accidental>4</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>66</pitch>
<tpc>20</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="5">
<KeySig>
<accidental>5</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>68</pitch>
<tpc>22</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="6">
<KeySig>
<accidental>6</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>70</pitch>
<tpc>24</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="7">
<KeySig>
<accidental>7</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>down</StemDirection>
<Note>
<pitch>72</pitch>
<tpc>26</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="8">
<KeySig>
<accidental>0</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>down</StemDirection>
<Note>
<pitch>72</pitch>
<tpc>14</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="9">
<KeySig>
<accidental>-1</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>down</StemDirection>
<Note>
<pitch>70</pitch>
<tpc>12</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="10">
<KeySig>
<accidental>-2</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>69</pitch>
<tpc>17</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="11">
<KeySig>
<accidental>-3</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>67</pitch>
<tpc>15</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="12">
<KeySig>
<accidental>-4</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>65</pitch>
<tpc>13</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="13">
<KeySig>
<accidental>-5</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>63</pitch>
<tpc>11</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="14">
<KeySig>
<accidental>-6</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>61</pitch>
<tpc>9</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>double</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="15">
<KeySig>
<accidental>-7</accidental>
</KeySig>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>59</pitch>
<tpc>7</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,146 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">作者</metaTag>
<metaTag name="copyright">www.popiano.org</metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">标题</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>标题</text>
</Text>
<Text>
<style>Lyricist</style>
<text>注解</text>
</Text>
<Text>
<style>Composer</style>
<text>作者</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<sigN>4</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Tempo>
<tempo>1.6</tempo>
<xoffset>0</xoffset>
<yoffset>-2</yoffset>
<text></text>
</Tempo>
<Chord>
<durationType>quarter</durationType>
<Lyrics>
<text>abcd</text>
</Lyrics>
<Lyrics>
<no>1</no>
<style>Lyrics Even Lines</style>
<text>sss</text>
</Lyrics>
<StemDirection>up</StemDirection>
<Note>
<pitch>69</pitch>
<tpc>17</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Rest>
<durationType>quarter</durationType>
</Rest>
<Chord>
<durationType>quarter</durationType>
<Lyrics>
<text>efgh</text>
</Lyrics>
<Lyrics>
<no>1</no>
<style>Lyrics Even Lines</style>
<text>词</text>
</Lyrics>
<StemDirection>down</StemDirection>
<Note>
<pitch>71</pitch>
<tpc>19</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Rest>
<durationType>quarter</durationType>
</Rest>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,151 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">作者</metaTag>
<metaTag name="copyright">www.popiano.org</metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">标题</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>标题</text>
</Text>
<Text>
<style>Lyricist</style>
<text>注解</text>
</Text>
<Text>
<style>Composer</style>
<text>作者</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<sigN>4</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Tempo>
<tempo>1.6</tempo>
<xoffset>0</xoffset>
<yoffset>-2</yoffset>
<text></text>
</Tempo>
<Rest>
<durationType>measure</durationType>
<duration z="4" n="4"/>
</Rest>
<BarLine>
<subtype>normal</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="2">
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>60</pitch>
<tpc>14</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
<Note>
<pitch>65</pitch>
<tpc>13</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
<Note>
<pitch>71</pitch>
<tpc>19</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
<Note>
<pitch>76</pitch>
<tpc>18</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
<Arpeggio>
<subtype>0</subtype>
</Arpeggio>
</Chord>
<Rest>
<durationType>quarter</durationType>
</Rest>
<Rest>
<durationType>half</durationType>
</Rest>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,194 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">作者</metaTag>
<metaTag name="copyright">www.popiano.org</metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">标题</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>标题</text>
</Text>
<Text>
<style>Lyricist</style>
<text>注解</text>
</Text>
<Text>
<style>Composer</style>
<text>作者</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<sigN>4</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Tempo>
<tempo>1.6</tempo>
<xoffset>0</xoffset>
<yoffset>-2</yoffset>
<text></text>
</Tempo>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>65</pitch>
<tpc>13</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
<Tremolo>
<subtype>r8</subtype>
</Tremolo>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>65</pitch>
<tpc>13</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
<Tremolo>
<subtype>r16</subtype>
</Tremolo>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>65</pitch>
<tpc>13</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
<Tremolo>
<subtype>r32</subtype>
</Tremolo>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>65</pitch>
<tpc>13</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
<Tremolo>
<subtype>r64</subtype>
</Tremolo>
</Chord>
<BarLine>
<subtype>normal</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="2">
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<Tie id="2">
</Tie>
<pitch>69</pitch>
<tpc>17</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
<Tremolo>
<subtype>r16</subtype>
</Tremolo>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<endSpanner id="2"/>
<pitch>69</pitch>
<tpc>17</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
<Tremolo>
<subtype>r16</subtype>
</Tremolo>
</Chord>
<Rest>
<durationType>half</durationType>
</Rest>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,156 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">作者</metaTag>
<metaTag name="copyright">www.popiano.org</metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">标题</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>标题</text>
</Text>
<Text>
<style>Lyricist</style>
<text>注解</text>
</Text>
<Text>
<style>Composer</style>
<text>作者</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<sigN>4</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Tempo>
<tempo>1.6</tempo>
<xoffset>0</xoffset>
<yoffset>-2</yoffset>
<text></text>
</Tempo>
<Chord>
<durationType>quarter</durationType>
<Articulation>
<subtype>trill</subtype>
</Articulation>
<StemDirection>up</StemDirection>
<Note>
<pitch>65</pitch>
<tpc>13</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<Articulation>
<subtype>trill</subtype>
</Articulation>
<StemDirection>up</StemDirection>
<Note>
<pitch>67</pitch>
<tpc>15</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<Articulation>
<subtype>trill</subtype>
</Articulation>
<StemDirection>up</StemDirection>
<Note>
<pitch>69</pitch>
<tpc>17</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<Articulation>
<subtype>trill</subtype>
</Articulation>
<StemDirection>down</StemDirection>
<Note>
<pitch>71</pitch>
<tpc>19</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,146 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">作者</metaTag>
<metaTag name="copyright">www.popiano.org</metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">标题</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>标题</text>
</Text>
<Text>
<style>Lyricist</style>
<text>注解</text>
</Text>
<Text>
<style>Composer</style>
<text>作者</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<sigN>4</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Tempo>
<tempo>1.6</tempo>
<xoffset>0</xoffset>
<yoffset>-2</yoffset>
<text></text>
</Tempo>
<Chord>
<dots>1</dots>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>67</pitch>
<tpc>15</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Rest>
<durationType>eighth</durationType>
</Rest>
<Chord>
<dots>2</dots>
<durationType>eighth</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>67</pitch>
<tpc>15</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Rest>
<durationType>32nd</durationType>
</Rest>
<Chord>
<dots>3</dots>
<durationType>eighth</durationType>
<StemDirection>down</StemDirection>
<Note>
<pitch>71</pitch>
<tpc>19</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Rest>
<durationType>64th</durationType>
</Rest>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,267 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">composer</metaTag>
<metaTag name="copyright"></metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">title</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>title</text>
</Text>
<Text>
<style>Composer</style>
<text>composer</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<sigN>4</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Tempo>
<tempo>1.6</tempo>
<xoffset>0</xoffset>
<yoffset>-2</yoffset>
<text></text>
</Tempo>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>60</pitch>
<tpc>14</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<Accidental>
<subtype>sharp</subtype>
</Accidental>
<pitch>61</pitch>
<tpc>21</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>62</pitch>
<tpc>16</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<Accidental>
<subtype>flat</subtype>
</Accidental>
<pitch>63</pitch>
<tpc>11</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>normal</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="2">
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>64</pitch>
<tpc>18</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>65</pitch>
<tpc>13</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<Accidental>
<subtype>sharp</subtype>
</Accidental>
<pitch>66</pitch>
<tpc>20</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>67</pitch>
<tpc>15</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>normal</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="3">
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<Accidental>
<subtype>sharp</subtype>
</Accidental>
<pitch>68</pitch>
<tpc>22</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>up</StemDirection>
<Note>
<pitch>69</pitch>
<tpc>17</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>down</StemDirection>
<Note>
<Accidental>
<subtype>flat</subtype>
</Accidental>
<pitch>70</pitch>
<tpc>12</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<Chord>
<durationType>quarter</durationType>
<StemDirection>down</StemDirection>
<Note>
<Accidental>
<subtype>natural</subtype>
</Accidental>
<pitch>71</pitch>
<tpc>19</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>normal</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="4">
<Chord>
<durationType>whole</durationType>
<noStem>1</noStem>
<StemDirection>down</StemDirection>
<Note>
<pitch>72</pitch>
<tpc>14</tpc>
<velocity>100</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">作者</metaTag>
<metaTag name="copyright">www.popiano.org</metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">标题</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>标题</text>
</Text>
<Text>
<style>Lyricist</style>
<text>注解</text>
</Text>
<Text>
<style>Composer</style>
<text>作者</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<sigN>4</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Tempo>
<tempo>1.6</tempo>
<xoffset>0</xoffset>
<yoffset>-2</yoffset>
<text></text>
</Tempo>
<Chord>
<durationType>whole</durationType>
<noStem>1</noStem>
<StemDirection>up</StemDirection>
<Note>
<pitch>67</pitch>
<tpc>15</tpc>
<velocity>80</velocity>
<veloType>user</veloType>
</Note>
</Chord>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,160 @@
//=============================================================================
// MuseScore
// Music Composition & Notation
//
// Copyright (C) 2015 Werner Schweer and others
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENCE.GPL
//=============================================================================
#include <QtTest/QtTest>
#include "mtest/testutils.h"
#include "libmscore/score.h"
#include "mscore/preferences.h"
#define DIR QString("testoves/bdat/")
using namespace Ms;
//---------------------------------------------------------
// TestOveIO
//---------------------------------------------------------
class TestOveIO : public QObject, public MTest
{
Q_OBJECT
void oveReadTest(const char* file);
private slots:
void initTestCase();
// The list of Ove regression tests
// Currently failing tests are commented out and annotated with the failure reason
//void oveBeamMultipleVoicesTest() { oveReadTest("beam - multiple voices"); }
void oveBeam2Test() { oveReadTest("beam 2"); }
//void oveBeamWinstonTest() { oveReadTest("beam-George Winston - Joy"); }
//void oveBeamOverBarlineTest() { oveReadTest("beam-over-barline"); }
//void oveBeamTest() { oveReadTest("beam"); }
void oveClef2Test() { oveReadTest("clef-2"); }
//void oveClefTypes() { oveReadTest("clef-types"); }
//void oveClefTest() { oveReadTest("clef"); }
//void oveArticulationTest() { oveReadTest("decorator-articulation"); }
//void oveMeasureRepeatTest() { oveReadTest("decorator-measure-repeat"); }
//void oveDynamicsTest() { oveReadTest("dynamics"); }
//void oveTempoChangeTest() { oveReadTest("expression-tempo-change"); }
//void oveExpressionTest() { oveReadTest("expression"); }
//void oveGlissandoSimpleTest() { oveReadTest("glissando-simple"); }
//void oveGlissandoTest() { oveReadTest("glissando"); }
//void oveGraphicsTest() { oveReadTest("graphics"); }
//void oveGuitarBarreTest() { oveReadTest("guitar-barre"); }
//void oveGuitarBendTest() { oveReadTest("guitar-bend"); }
//void oveHarmony2Test() { oveReadTest("harmony 2"); }
//void oveGuitarFretTest() { oveReadTest("harmony-guitar-frame"); }
//void oveHarmonyTypeTest() { oveReadTest("harmony-type"); }
//void oveHarmonyTest() { oveReadTest("harmony"); }
//void oveHarpPedalTest() { oveReadTest("harp-pedal"); }
//void oveInvisibleTest() { oveReadTest("invisible-object"); }
//void oveKeyTransposeTest() { oveReadTest("key-transpose-instrument"); }
void oveKeyTest() { oveReadTest("key"); }
//void oveParenthesisTest() { oveReadTest("kuohao-brace-bracket-parentheses"); }
//void oveLyricsVerseTest() { oveReadTest("lyric-verse"); }
void oveLyricsTest() { oveReadTest("lyric"); }
//void oveMultimeasureRestTest() { oveReadTest("multi-measure-rest"); }
//void oveAccidentalsTest() { oveReadTest("note-accidental"); }
//void oveArticulations2Test() { oveReadTest("note-articulation-2"); }
void oveArpeggioTest() { oveReadTest("note-articulation-arpeggio"); }
//void ovePedalTest() { oveReadTest("note-articulation-pedal"); }
void oveTremoloTest() { oveReadTest("note-articulation-tremolo"); }
//void oveTrillLineTest() { oveReadTest("note-articulation-trill-section"); }
void oveTrillTest() { oveReadTest("note-articulation-trill"); }
//void oveFermataRestTest() { oveReadTest("note-articulation-with-rest"); }
//void oveArticulationsTest() { oveReadTest("note-articulation"); }
//void oveClefChangeTest() { oveReadTest("note-clef"); }
//void oveCrossStaff2Test() { oveReadTest("note-cross-staff 2"); }
//void oveCrossStaff3Test() { oveReadTest("note-cross-staff 3"); }
//void oveCrossStaffTest() { oveReadTest("note-cross-staff"); }
//void oveCueTest() { oveReadTest("note-cue"); }
void oveNoteDotTest() { oveReadTest("note-dot"); }
//void oveGraceBeamTest() { oveReadTest("note-grace-with-beam"); }
//void oveGraceTest() { oveReadTest("note-grace"); }
//void oveNoteHeadTest() { oveReadTest("note-head"); }
//void oveNoteRawTest() { oveReadTest("note-raw"); }
//void oveRestsTest() { oveReadTest("note-rest"); }
void oveScaleTest() { oveReadTest("note-scale-c"); }
//void oveScaleKeysTest() { oveReadTest("note-scale-key"); }
//void oveDurationTest() { oveReadTest("note-type"); }
//void oveVoices5Test() { oveReadTest("note-voices 5"); }
//void oveVoices2Test() { oveReadTest("note-voices-2."); }
//void oveVoices3Test() { oveReadTest("note-voices-3"); }
//void oveVoices4Test() { oveReadTest("note-voices-4"); }
//void oveVoicesTest() { oveReadTest("note-voices"); }
void oveNoteTest() { oveReadTest("note"); }
//void oveOctaveTest() { oveReadTest("octave-shift"); }
//void ovePedal2Test() { oveReadTest("pedal-half-pedal"); }
//void ovePedal3Test() { oveReadTest("pedal"); }
//void oveSlur2Test() { oveReadTest("slur 2"); }
//void oveSlurTest() { oveReadTest("slur"); }
//void oveTextLinesTest() { oveReadTest("text-measure-text-lines"); }
//void oveTextTest() { oveReadTest("text-measure-text"); }
//void oveRehearsalLinesTest() { oveReadTest("text-rehearsal-lines"); }
//void oveRehearsalTest() { oveReadTest("text-rehearsal"); }
//void oveSystemText2Test() { oveReadTest("text-system-text-lines"); }
//void oveSystemTextTest() { oveReadTest("text-system-text"); }
//void oveTie2Test() { oveReadTest("tie-2"); }
//void oveTieTest() { oveReadTest("tie"); }
//void oveTuplet2Test() { oveReadTest("tuplet 2"); }
//void oveTuplet3Test() { oveReadTest("tuplet-beam"); }
//void oveTuplet4Test() { oveReadTest("tuplet-in-second-staff"); }
//void oveTuplet5Test() { oveReadTest("tuplet-rest-start 2"); }
//void oveTuplet6Test() { oveReadTest("tuplet-rest-start 3"); }
//void oveTuplet7Test() { oveReadTest("tuplet-rest-start"); }
//void oveTupletTest() { oveReadTest("tuplet"); }
//void oveWedge2Test() { oveReadTest("wedge-2"); }
//void oveWedgeTest() { oveReadTest("wedge"); }
/* TODO midi tests ?
midi-channel-pressure.ove
midi-controller-11-expression.ove
midi-controller-pedal.ove
midi-pitch-wheel.ove
midi-program-change.ove
midi-tempo-change-sharp.ove
midi-tempo-change.ove
*/
};
//---------------------------------------------------------
// initTestCase
//---------------------------------------------------------
void TestOveIO::initTestCase()
{
initMTest();
}
//---------------------------------------------------------
// oveReadTest
// read an Ove file, write to a MuseScore file and verify against reference
//---------------------------------------------------------
void TestOveIO::oveReadTest(const char* file)
{
preferences.importCharsetOve = "GBK";
Score* score = readScore(DIR + file + ".ove");
QVERIFY(score);
score->doLayout();
score->connectTies();
score->setLayoutAll(true);
score->update();
QVERIFY(saveCompareScore(score, QString("%1.ove.mscx").arg(file),
DIR + QString("%1.ove-ref.mscx").arg(file)));
delete score;
}
QTEST_MAIN(TestOveIO)
#include "tst_ove_bdat.moc"

View file

@ -0,0 +1,16 @@
#=============================================================================
# MuseScore
# Music Composition & Notation
# $Id:$
#
# Copyright (C) 2015 Werner Schweer and others
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
# as published by the Free Software Foundation and appearing in
# the file LICENSE.GPL
#=============================================================================
set(TARGET tst_ove_ove3)
include(${PROJECT_SOURCE_DIR}/mtest/cmake.inc)

View file

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">Composer</metaTag>
<metaTag name="copyright">Copyright</metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">Title</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>Title</text>
</Text>
<Text>
<style>Lyricist</style>
<text>Instructions</text>
</Text>
<Text>
<style>Composer</style>
<text>Composer</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<sigN>4</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Tempo>
<tempo>1.6</tempo>
<xoffset>0</xoffset>
<yoffset>-2</yoffset>
<text></text>
</Tempo>
<Rest>
<durationType>measure</durationType>
<duration z="4" n="4"/>
</Rest>
<BarLine>
<subtype>normal</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="2">
<Rest>
<durationType>measure</durationType>
<duration z="4" n="4"/>
</Rest>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,133 @@
//=============================================================================
// MuseScore
// Music Composition & Notation
//
// Copyright (C) 2015 Werner Schweer and others
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENCE.GPL
//=============================================================================
#include <QtTest/QtTest>
#include "mtest/testutils.h"
#include "libmscore/score.h"
#include "mscore/preferences.h"
#define DIR QString("testoves/ove3/")
using namespace Ms;
//---------------------------------------------------------
// TestOveIO
//---------------------------------------------------------
class TestOveIO : public QObject, public MTest
{
Q_OBJECT
void oveReadTest(const char* file);
private slots:
void initTestCase();
// The list of Ove regression tests
// Currently failing tests are commented out and annotated with the failure reason
//void ove3PianoChangeClefTest() { oveReadTest("piano - change clef"); }
//void ove3BeamCrossBarTest() { oveReadTest("[ove3].bdat - beam cross bar"); }
//void ove3BeamTest() { oveReadTest("[ove3].bdat - beam"); }
//void ove3Clef2Test() { oveReadTest("[ove3].bdat - clef 2"); }
//void ove3ClefTest() { oveReadTest("[ove3].bdat - clef"); }
//void ove3MeasureRepeatTest() { oveReadTest("[ove3].bdat - decorator - measure repeat"); }
//void ove3DynamicsTest() { oveReadTest("[ove3].bdat - dynamics"); }
//void ove3ExpressionTest() { oveReadTest("[ove3].bdat - expression"); }
//void ove3GlissandoTest() { oveReadTest("[ove3].bdat - glissando"); }
//void ove3BDatGraphicsTest() { oveReadTest("[ove3].bdat - graphics"); }
//void ove3GuitarBarreTest() { oveReadTest("[ove3].bdat - guitar - barre"); }
//void ove3GuitarBendTest() { oveReadTest("[ove3].bdat - guitar - bend"); }
//void ove3GuitarFrameTest() { oveReadTest("[ove3].bdat - harmony - guitar frame"); }
//void ove3HarmonyTest() { oveReadTest("[ove3].bdat - harmony"); }
//void ove3HarpPedalTest() { oveReadTest("[ove3].bdat - harp pedal"); }
//void ove3InvisibleTest() { oveReadTest("[ove3].bdat - invisible object"); }
//void ove3KeyTransposeInstrumentTest() { oveReadTest("[ove3].bdat - key - transpose instrument"); }
//void ove3KeyTest() { oveReadTest("[ove3].bdat - key"); }
//void ove3ParenthesisTest() { oveReadTest("[ove3].bdat - kuohao - brace.bracket.parentheses"); }
//void ove3LyricsTest() { oveReadTest("[ove3].bdat - lyric"); }
//void ove3MultimeasureRestTest() { oveReadTest("[ove3].bdat - multi-measure rest"); }
//void ove3AccidentalTest() { oveReadTest("[ove3].bdat - note - accidental"); }
//void ove3TrillTest() { oveReadTest("[ove3].bdat - note - articulation - trill"); }
//void ove3Articulation2Test() { oveReadTest("[ove3].bdat - note - articulation 2"); }
//void ove3FermataOnRestTest() { oveReadTest("[ove3].bdat - note - articulation on rest"); }
//void ove3ArticulationTest() { oveReadTest("[ove3].bdat - note - articulation"); }
//void ove3CelfAndScaleTest() { oveReadTest("[ove3].bdat - note - clef & scale"); }
//void ove3CrossStaffTest() { oveReadTest("[ove3].bdat - note - cross staff"); }
//void ove3CueAndGraceTest() { oveReadTest("[ove3].bdat - note - cue & grace"); }
//void ove3DotTest() { oveReadTest("[ove3].bdat - note - dot"); }
//void ove3NoteRawTest() { oveReadTest("[ove3].bdat - note - raw"); }
//void ove3RestTest() { oveReadTest("[ove3].bdat - note - rest"); }
//void ove3ScaleTest() { oveReadTest("[ove3].bdat - note - scale"); }
//void ove3NoteTypeTest() { oveReadTest("[ove3].bdat - note - type"); }
//void ove3NoteVoicesTest() { oveReadTest("[ove3].bdat - note - voices"); }
//void ove3OctaveTest() { oveReadTest("[ove3].bdat - octave shift"); }
//void ove3PedalHalfTest() { oveReadTest("[ove3].bdat - pedal - half"); }
//void ove3PedalTest() { oveReadTest("[ove3].bdat - pedal"); }
//void ove3SlurTest() { oveReadTest("[ove3].bdat - slur"); }
//void ove3TextLinesTest() { oveReadTest("[ove3].bdat - text - measure - line break"); }
//void ove3TextTest() { oveReadTest("[ove3].bdat - text - measure"); }
//void ove3TieTest() { oveReadTest("[ove3].bdat - tie"); }
//void ove3TupletRestTest() { oveReadTest("[ove3].bdat - tuplet - rest start"); }
//void ove3TupletTest() { oveReadTest("[ove3].bdat - tuplet"); }
//void ove3WedgeTest() { oveReadTest("[ove3].bdat - wedge"); }
//void ove3EndingTest() { oveReadTest("[ove3].cond - ending"); }
//void ove3RehearsalTest() { oveReadTest("[ove3].cond - rehearsal"); }
//void ove3RepeatTest() { oveReadTest("[ove3].cond - repeat"); }
//void ove3TempoTest() { oveReadTest("[ove3].cond - tempo"); }
//void ove3GraphicsTest() { oveReadTest("[ove3].graphics"); }
//void ove3BarlineTest() { oveReadTest("[ove3].meas - barline"); }
//void ove3PickupTest() { oveReadTest("[ove3].meas - pickup"); }
//void ove3FourHandsTest() { oveReadTest("[ove3].track - four hands"); }
//void ove3TrebleBassCopyTest() { oveReadTest("[ove3].track - treble bass - Copy"); }
//void ove3TrebleBassTest() { oveReadTest("[ove3].track - treble bass"); }
//void ove3VoicesTest() { oveReadTest("[ove3].track - voices"); }
void ove3UntitledTest() { oveReadTest("[ove3].Untitled"); }
/* TODO midi tests ?
[ove3].bdat - midi - channel pressure
[ove3].bdat - midi - controller
[ove3].bdat - midi - pitch wheel
[ove3].bdat - midi - program change
*/
};
//---------------------------------------------------------
// initTestCase
//---------------------------------------------------------
void TestOveIO::initTestCase()
{
initMTest();
}
//---------------------------------------------------------
// oveReadTest
// read an Ove file, write to a MuseScore file and verify against reference
//---------------------------------------------------------
void TestOveIO::oveReadTest(const char* file)
{
preferences.importCharsetOve = "GBK";
Score* score = readScore(DIR + file + ".ove");
QVERIFY(score);
score->doLayout();
score->connectTies();
score->setLayoutAll(true);
score->update();
QVERIFY(saveCompareScore(score, QString("%1.ove.mscx").arg(file),
DIR + QString("%1.ove-ref.mscx").arg(file)));
delete score;
}
QTEST_MAIN(TestOveIO)
#include "tst_ove_ove3.moc"

View file

@ -0,0 +1,16 @@
#=============================================================================
# MuseScore
# Music Composition & Notation
# $Id:$
#
# Copyright (C) 2015 Werner Schweer and others
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2
# as published by the Free Software Foundation and appearing in
# the file LICENSE.GPL
#=============================================================================
set(TARGET tst_ove_structure)
include(${PROJECT_SOURCE_DIR}/mtest/cmake.inc)

View file

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<museScore version="2.00">
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<page-layout>
<page-height>1683.78</page-height>
<page-width>1190.55</page-width>
<page-margins type="even">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
<page-margins type="odd">
<left-margin>56.6929</left-margin>
<right-margin>56.6929</right-margin>
<top-margin>56.6929</top-margin>
<bottom-margin>113.386</bottom-margin>
</page-margins>
</page-layout>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<metaTag name="arranger"></metaTag>
<metaTag name="composer">作者</metaTag>
<metaTag name="copyright">www.popiano.org</metaTag>
<metaTag name="lyricist"></metaTag>
<metaTag name="movementNumber"></metaTag>
<metaTag name="movementTitle">标题</metaTag>
<metaTag name="poet"></metaTag>
<metaTag name="source"></metaTag>
<metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag>
<PageList>
<Page>
<System>
</System>
<System>
</System>
</Page>
</PageList>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<trackName></trackName>
<Channel>
<program value="0"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<Text>
<style>Title</style>
<text>标题</text>
</Text>
<Text>
<style>Lyricist</style>
<text>注解</text>
</Text>
<Text>
<style>Composer</style>
<text>作者</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
</Clef>
<KeySig>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<sigN>2</sigN>
<sigD>4</sigD>
<showCourtesySig>1</showCourtesySig>
</TimeSig>
<Tempo>
<tempo>1.6</tempo>
<xoffset>0</xoffset>
<yoffset>-2</yoffset>
<text></text>
</Tempo>
<Rest>
<durationType>measure</durationType>
<duration z="2" n="4"/>
</Rest>
<BarLine>
<subtype>normal</subtype>
<span>1</span>
</BarLine>
</Measure>
<Measure number="2">
<Rest>
<durationType>measure</durationType>
<duration z="2" n="4"/>
</Rest>
<BarLine>
<subtype>end</subtype>
<span>1</span>
</BarLine>
</Measure>
</Staff>
</Score>
</museScore>

View file

@ -0,0 +1,107 @@
//=============================================================================
// MuseScore
// Music Composition & Notation
//
// Copyright (C) 2015 Werner Schweer and others
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License version 2
// as published by the Free Software Foundation and appearing in
// the file LICENCE.GPL
//=============================================================================
#include <QtTest/QtTest>
#include "mtest/testutils.h"
#include "libmscore/score.h"
#include "mscore/preferences.h"
#define DIR QString("testoves/structure/")
using namespace Ms;
//---------------------------------------------------------
// TestOveIO
//---------------------------------------------------------
class TestOveIO : public QObject, public MTest
{
Q_OBJECT
void oveReadTest(const char* file);
private slots:
void initTestCase();
// The list of Ove regression tests
// Currently failing tests are commented out and annotated with the failure reason
//void oveBarNumberTest() { oveReadTest("cond - bar number"); }
//void oveEndingTest() { oveReadTest("cond - ending"); }
//void oveExpressionsTest() { oveReadTest("cond - expressions"); }
//void oveRepeatBackwardTest() { oveReadTest("cond - repeat - backward"); }
//void oveRepeatBackwardForward2Test() { oveReadTest("cond - repeat - backward_forward 2"); }
//void oveRepeatBackwardForwardTest() { oveReadTest("cond - repeat - backward_forward"); }
//void oveBingyu2Test() { oveReadTest("cond - repeat - bingyu 2"); }
//void oveBingyuTest() { oveReadTest("cond - repeat - bingyu"); }
//void oveChunniTest() { oveReadTest("cond - repeat - chunni"); }
//void oveRepeatDCCodaTest() { oveReadTest("cond - repeat - dc al coda"); }
//void oveRepeatDCCodaToCodaTest() { oveReadTest("cond - repeat - dc al coda_to coda"); }
//void oveRepeatDCFineTest() { oveReadTest("cond - repeat - dc al fine"); }
//void oveRepeatDSCodaTest() { oveReadTest("cond - repeat - ds al coda_segno"); }
//void oveRepeatDSCodaToCodaTest() { oveReadTest("cond - repeat - ds al coda_segno_to coda"); }
//void oveRepepatDSFineTest() { oveReadTest("cond - repeat - ds al fine_segno"); }
//void oveRepeatNumericEndingTest() { oveReadTest("cond - repeat - numeric ending"); }
//void oveRepeatTheMomentTest() { oveReadTest("cond - repeat - the moment"); }
//void oveRepeatToCodaCodaTest() { oveReadTest("cond - repeat - to coda_coda"); }
//void oveRepeatTest() { oveReadTest("cond - repeat"); }
//void oveTempoTest() { oveReadTest("cond - tempo"); }
//void oveTimeCommonTest() { oveReadTest("cond - time - common"); }
void oveTime24Test() { oveReadTest("cond - time 24"); }
//void oveTimeTest() { oveReadTest("cond - time"); }
//void oveLineTest() { oveReadTest("line"); }
//void oveBarlineLastTest() { oveReadTest("meas - barline - last one"); }
//void oveBarlineTest() { oveReadTest("meas - barline"); }
//void ovePickupTest() { oveReadTest("meas - pickup"); }
//void ovePageTextTest() { oveReadTest("page text"); }
//void ovePageTest() { oveReadTest("page"); }
//void oveStaffTest() { oveReadTest("staff"); }
//void oveFourHandsTest() { oveReadTest("track - four hands"); }
//void ovePercussionCopyTest() { oveReadTest("track - percussion - Copy"); }
//void ovePercussionTest() { oveReadTest("track - percussion"); }
//void ovePianoTest() { oveReadTest("track - piano accompaniment"); }
//void oveTransposeInstrumentTest() { oveReadTest("track - transpose instrument"); }
//void oveTrebleBassTest() { oveReadTest("track - treble bass"); }
//void oveVoicesPatchTest() { oveReadTest("track - voices patch"); }
//void oveVoicesTest() { oveReadTest("track - voices"); }
};
//---------------------------------------------------------
// initTestCase
//---------------------------------------------------------
void TestOveIO::initTestCase()
{
initMTest();
}
//---------------------------------------------------------
// oveReadTest
// read an Ove file, write to a MuseScore file and verify against reference
//---------------------------------------------------------
void TestOveIO::oveReadTest(const char* file)
{
preferences.importCharsetOve = "GBK";
Score* score = readScore(DIR + file + ".ove");
QVERIFY(score);
score->doLayout();
score->connectTies();
score->setLayoutAll(true);
score->update();
QVERIFY(saveCompareScore(score, QString("%1.ove.mscx").arg(file),
DIR + QString("%1.ove-ref.mscx").arg(file)));
delete score;
}
QTEST_MAIN(TestOveIO)
#include "tst_ove_structure.moc"

View file

@ -37,6 +37,8 @@ inline void initMyResources() {
Q_INIT_RESOURCE(musescorefonts_Free);
}
extern Ms::Score::FileError importOve(Ms::Score*, const QString& name);
namespace Ms {
#ifdef OMR
@ -139,6 +141,8 @@ Score* MTest::readCreatedScore(const QString& name)
rv = importCapella(score, name);
else if (csl == "capx")
rv = importCapXml(score, name);
else if (csl == "ove")
rv = importOve(score, name);
else if (csl == "sgu")
rv = importBB(score, name);
else if (csl == "mscz" || csl == "mscx")