fix GP6 import and more mtests

This commit is contained in:
lasconic 2017-11-27 16:52:17 +01:00
parent 0e4211e2d0
commit b39700c0e4
35 changed files with 1576 additions and 1265 deletions

View file

@ -66,22 +66,64 @@ namespace Ms {
const static std::map<QString, QString> instrumentMapping = { const static std::map<QString, QString> instrumentMapping = {
{"e-gtr6", "electric-guitar"}, {"a-bass4", "acoustic-bass"},
{"tnr-s", "voice"}, {"a-bass5", "acoustic-bass"},
{"s-gtr6", "guitar-steel"}, {"a-bass6", "acoustic-bass"},
{"n-gtr6", "guitar-nylon"}, {"alt-c", "alto"},
{"snt-lead-ss", "poly-synth"}, {"alt-s", "alto"},
{"f-bass5", "bass-guitar"}, {"a-piano-gs", "piano"},
{"snt-bass-ss", "metallic-synth"}, {"a-piano-ss", "piano"},
{"bass-c", "bass"},
{"bass-flt-c", "bass-flute"},
{"bassn", "bassoon"},
{"bass-s", "bass"},
{"basstuba-bb", "bass-eb-tuba"},
{"basstuba-eb", "bb-tuba"}, //???
{"bnj4", "banjo"},
{"bnj5", "banjo"},
{"bnj6", "banjo"},
{"cello", "violoncello"},
{"drmkt", "drumset"},
{"e-bass4", "bass-guitar"},
{"e-bass5", "bass-guitar"},
{"e-bass6", "bass-guitar"},
{"e-gtr12", "electric-guitar-treble-clef"},
{"e-gtr6", "electric-guitar-treble-clef"},
{"e-gtr7", "electric-guitar-treble-clef"},
{"e-gtr8", "electric-guitar-treble-clef"},
{"em-organ-gs", "organ"},
{"em-organ-ss", "organ"},
{"en-horn", "english-horn"},
{"e-piano-gs", "electric-piano"},
{"e-piano-ss", "electric-piano"},
//{"f-bass5", "bass-guitar"}, /// ??? not in the list
{"hrpch-gs", "harpsichord"},
{"hrpch-ss", "harpsichord"},
{"mrcs", "maracas"}, {"mrcs", "maracas"},
{"drmkt", "drumset"} {"mrcs", "oboe"},
{"mrcs", "oboe"},
{"n-gtr6", "guitar-nylon-treble-clef"},
{"n-gtr7", "guitar-nylon-treble-clef"},
{"n-gtr8", "guitar-nylon-treble-clef"},
{"s-gtr12", "guitar-steel-treble-clef"},
{"s-gtr6", "guitar-steel-treble-clef"},
{"s-gtr7", "guitar-steel-treble-clef"},
{"s-gtr8", "guitar-steel-treble-clef"},
{"snt-lead-ss", "poly-synth"},
{"tmbrn", "tambourine"}, // to be mapped
{"tnr-s", "voice"},
{"snt-bass-ss", "metallic-synth"},
{"vbrslp", "vibraslap"}, // to be mapped
{"vla", "viola"},
{"vln", "violin"},
{"xlphn", "xylophone"}
}; };
//--------------------------------------------------------- //---------------------------------------------------------
// readBit // readBit
//--------------------------------------------------------- //---------------------------------------------------------
int GuitarPro6::readBit() int GuitarPro6::readBit(QByteArray* buffer)
{ {
// calculate the byte index by dividing the position in bits by the bits per byte // calculate the byte index by dividing the position in bits by the bits per byte
int byteIndex = position / BITS_IN_BYTE; int byteIndex = position / BITS_IN_BYTE;
@ -101,11 +143,11 @@ int GuitarPro6::readBit()
// readBits // readBits
//--------------------------------------------------------- //---------------------------------------------------------
int GuitarPro6::readBits(int bitsToRead) int GuitarPro6::readBits(QByteArray* buffer, int bitsToRead)
{ {
int bits = 0; int bits = 0;
for (int i = bitsToRead - 1; i >= 0; i--) for (int i = (bitsToRead - 1); i >= 0; i--)
bits |= readBit() << i; bits |= (readBit(buffer) << i);
return bits; return bits;
} }
@ -113,11 +155,11 @@ int GuitarPro6::readBits(int bitsToRead)
// readBitsReversed // readBitsReversed
//--------------------------------------------------------- //---------------------------------------------------------
int GuitarPro6::readBitsReversed(int bitsToRead) int GuitarPro6::readBitsReversed(QByteArray* buffer, int bitsToRead)
{ {
int bits = 0; int bits = 0;
for( int i = 0; i < bitsToRead; i++) for( int i = 0; i < bitsToRead; i++)
bits |= readBit() << i; bits |= readBit(buffer) << i;
return bits; return bits;
} }
@ -149,7 +191,7 @@ int GuitarPro6::readInteger(QByteArray* buffer, int offset)
bytes[2] = (*buffer)[offset + 2]; bytes[2] = (*buffer)[offset + 2];
bytes[3] = (*buffer)[offset + 3]; bytes[3] = (*buffer)[offset + 3];
// increment positioning so we keep track of where we are // increment positioning so we keep track of where we are
this->position+=sizeof(int)*BITS_IN_BYTE; position += sizeof(int) * BITS_IN_BYTE;
// bit shift in order to compute our integer value and return // bit shift in order to compute our integer value and return
return ((bytes[3] & 0xff) << 24) | ((bytes[2] & 0xff) << 16) | ((bytes[1] & 0xff) << 8) | (bytes[0] & 0xff); return ((bytes[3] & 0xff) << 24) | ((bytes[2] & 0xff) << 16) | ((bytes[1] & 0xff) << 8) | (bytes[0] & 0xff);
} }
@ -181,8 +223,6 @@ void GuitarPro6::unhandledNode(QString nodeName)
qDebug() << "WARNING: Discovered unhandled node name" << nodeName; qDebug() << "WARNING: Discovered unhandled node name" << nodeName;
} }
#if 0
//--------------------------------------------------------- //---------------------------------------------------------
// readScore // readScore
//--------------------------------------------------------- //---------------------------------------------------------
@ -235,7 +275,11 @@ void GuitarPro6::readMasterTracks(QDomNode* masterTrack)
if (first_name == "Type") if (first_name == "Type")
first_name = currentAutomation.firstChild().toElement().text(); first_name = currentAutomation.firstChild().toElement().text();
if (!first_name.compare("Tempo")) { if (!first_name.compare("Tempo")) {
int curtempo = currentAutomation.lastChild().toElement().text().toInt(); QString t = currentAutomation.lastChild().toElement().text();
QStringList sa = t.split(" ");
int curtempo = 120;
if (sa.length() >= 1)
curtempo = sa[0].toInt();
auto barnode = currentAutomation.firstChildElement("Bar"); auto barnode = currentAutomation.firstChildElement("Bar");
if (!barnode.isNull()) { if (!barnode.isNull()) {
tempoMap[barnode.text().toInt()] = make_pair(curtempo, linearTemp); tempoMap[barnode.text().toInt()] = make_pair(curtempo, linearTemp);
@ -342,8 +386,7 @@ void GuitarPro6::readTracks(QDomNode* track)
else if (nodeName == "GeneralMidi") { else if (nodeName == "GeneralMidi") {
if (currentNode.toElement().hasChildNodes()) { if (currentNode.toElement().hasChildNodes()) {
auto prog = currentNode.firstChildElement("Program"); auto prog = currentNode.firstChildElement("Program");
if (!prog.isNull()) if (!prog.isNull()) {
{
auto p = prog.text().toInt(); auto p = prog.text().toInt();
part->instrument(0)->channel(0)->program = p; part->instrument(0)->channel(0)->program = p;
} }
@ -367,7 +410,7 @@ void GuitarPro6::readTracks(QDomNode* track)
QString ref = currentNode.attributes().namedItem("ref").toAttr().value(); QString ref = currentNode.attributes().namedItem("ref").toAttr().value();
auto it = instrumentMapping.find(ref); auto it = instrumentMapping.find(ref);
if (it != instrumentMapping.end()) { if (it != instrumentMapping.end()) {
//part->setInstrument(Instrument::fromTemplate(Ms::searchTemplate(it->second))); part->setInstrument(Instrument::fromTemplate(Ms::searchTemplate(it->second)));
} }
else else
qDebug() << "Unknown instrument: " << ref; qDebug() << "Unknown instrument: " << ref;
@ -422,8 +465,7 @@ void GuitarPro6::readTracks(QDomNode* track)
trackCounter++; trackCounter++;
nextTrack = nextTrack.nextSibling(); nextTrack = nextTrack.nextSibling();
if (!hasTuning) if (!hasTuning) {
{
tunings.push_back(""); tunings.push_back("");
} }
} }
@ -440,26 +482,17 @@ void GuitarPro6::readTracks(QDomNode* track)
// getNode // getNode
//--------------------------------------------------------- //---------------------------------------------------------
QDomNode GuitarPro6::getNode(const QString& id, const QDomNode& currentDomNode) QDomNode GuitarPro6::getNode(const QString& id, QDomNode currentDomNode)
{ {
const QDomNode currentNode = currentDomNode; while (!(currentDomNode).isNull()) {
#if 0 // TODO-ws QString currentId = currentDomNode.attributes().namedItem("id").toAttr().value();
const TiXmlNode* currentNode = currentDomNode.node(); if (id.compare(currentId) == 0) {
return currentDomNode;
while (currentNode) {
const TiXmlElement* elem = currentNode->ToElement();
if (elem) {
const char* c = elem->Attribute("id");
if (c && !strcmp(c, id.c_str())) {
return currentNode;
} }
currentDomNode = currentDomNode.nextSibling();
} }
currentNode = currentNode->NextSibling();
}
qDebug() << "WARNING: A null node was returned when search for the identifier" << id << ". Your Guitar Pro file may be corrupted."; qDebug() << "WARNING: A null node was returned when search for the identifier" << id << ". Your Guitar Pro file may be corrupted.";
#endif return currentDomNode;
return currentNode;
} }
//--------------------------------------------------------- //---------------------------------------------------------
@ -479,8 +512,7 @@ int GuitarPro6::findNumMeasures(GPPartInfo* partInfo)
while (!masterBarElement.isNull()) { while (!masterBarElement.isNull()) {
if (!masterBarElement.nodeName().compare("Key")) if (!masterBarElement.nodeName().compare("Key"))
gpBar.keysig = masterBarElement.firstChild().toElement().text().toInt(); gpBar.keysig = masterBarElement.firstChild().toElement().text().toInt();
else else if (!masterBarElement.nodeName().compare("Time")) {
if (!masterBarElement.nodeName().compare("Time")) {
QString timeSignature = masterBarElement.toElement().text(); QString timeSignature = masterBarElement.toElement().text();
QList<QString> timeSignatureList = timeSignature.split("/"); QList<QString> timeSignatureList = timeSignature.split("/");
gpBar.timesig = Fraction(timeSignatureList.first().toInt(), timeSignatureList.last().toInt()); gpBar.timesig = Fraction(timeSignatureList.first().toInt(), timeSignatureList.last().toInt());
@ -496,7 +528,7 @@ int GuitarPro6::findNumMeasures(GPPartInfo* partInfo)
} }
else if (!masterBarElement.nodeName().compare("FreeTime")) { else if (!masterBarElement.nodeName().compare("FreeTime")) {
gpBar.freeTime = true; gpBar.freeTime = true;
gpBar.barLine = BarLineType::DOUBLE; gpBar.barLine = BarLineType::BROKEN;
} }
else if (!masterBarElement.nodeName().compare("DoubleBar")) else if (!masterBarElement.nodeName().compare("DoubleBar"))
gpBar.barLine = BarLineType::DOUBLE; gpBar.barLine = BarLineType::DOUBLE;
@ -539,11 +571,21 @@ Fraction GuitarPro6::fermataToFraction(int numerator, int denominator)
numerator++; numerator++;
// minim through to hemidemisemiquaver // minim through to hemidemisemiquaver
if (denominator == 0) { denominator = 2; } if (denominator == 0) { denominator = 2; }
else if (denominator == 1) { denominator = 4; } else if (denominator == 1) {
else if (denominator == 2) { denominator = 8; } denominator = 4;
else if (denominator == 3) { denominator = 12; } }
else if (denominator == 4) { denominator = 16; } else if (denominator == 2) {
else if (denominator == 5) { denominator = 32; } denominator = 8;
}
else if (denominator == 3) {
denominator = 12;
}
else if (denominator == 4) {
denominator = 16;
}
else if (denominator == 5) {
denominator = 32;
}
return Fraction(numerator, denominator); return Fraction(numerator, denominator);
} }
@ -709,7 +751,7 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
int whammyEnd = -1; int whammyEnd = -1;
bool graceNote = false; bool graceNote = false;
Note* lyrNote(nullptr); Note* lyrNote(nullptr);
std::map<int, std::string> lyrics; std::map<int, QString> lyrics;
while (!currentNode.isNull()) { while (!currentNode.isNull()) {
if (currentNode.nodeName() == "GraceNotes") { if (currentNode.nodeName() == "GraceNotes") {
graceNote = true; graceNote = true;
@ -746,7 +788,7 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
int id = -1; int id = -1;
auto idx = note.attributes().namedItem("id"); auto idx = note.attributes().namedItem("id");
if (!idx.isNull()) if (!idx.isNull())
id = idx.str().toInt() - 1; id = idx.nodeValue().toInt() - 1;
QDomNode currentNote = (note).firstChild(); QDomNode currentNote = (note).firstChild();
bool tie = false; bool tie = false;
bool trill = false; bool trill = false;
@ -892,7 +934,7 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
sym->setSym(SymId::articLaissezVibrerAbove); sym->setSym(SymId::articLaissezVibrerAbove);
sym->setParent(note); sym->setParent(note);
note->add(sym); note->add(sym);
note->setStemThrough(true); //note->setStemThrough(true);
//articLaissezVibrerAbove //articLaissezVibrerAbove
/* /*
Symbol* leftSym = new Symbol(note->score()); Symbol* leftSym = new Symbol(note->score());
@ -941,7 +983,7 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
} }
Bend* bend = new Bend(note->score()); Bend* bend = new Bend(note->score());
bend->setNote(note); //bend->setNote(note); //TODO
bend->points().append(PitchValue(0, origin)); bend->points().append(PitchValue(0, origin));
bend->points().append(PitchValue(off1, has_middle ? middleval : destination)); bend->points().append(PitchValue(off1, has_middle ? middleval : destination));
if (has_middle) if (has_middle)
@ -994,7 +1036,7 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
if (harmonicText.length()) { if (harmonicText.length()) {
if (!harmonicText.compare("Natural")) { if (!harmonicText.compare("Natural")) {
harmonicNote = note; harmonicNote = note;
note->setHarmonic(true); //note->setHarmonic(true); //TODO
} }
else { else {
harmonicNote = new Note(score); harmonicNote = new Note(score);
@ -1007,10 +1049,12 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
} }
if (harmonicNote) { if (harmonicNote) {
#if 0
if (harmonicNote->harmonic()) if (harmonicNote->harmonic())
value = ""; value = "";
if (harmonicText == "A.H.") if (harmonicText == "A.H.")
harmonicNote->setHarmonic(true); harmonicNote->setHarmonic(true);
#endif
Staff* staff = note->staff(); Staff* staff = note->staff();
int harmonicFret = fretNum.toInt(); int harmonicFret = fretNum.toInt();
int musescoreString = staff->part()->instrument()->stringData()->strings() - 1 - stringNum.toInt(); int musescoreString = staff->part()->instrument()->stringData()->strings() - 1 - stringNum.toInt();
@ -1111,19 +1155,18 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
QDomNode accentNode = currentNote.parentNode().firstChildElement("Accent"); QDomNode accentNode = currentNote.parentNode().firstChildElement("Accent");
if (!accentNode.isNull()) { if (!accentNode.isNull()) {
int value = accentNode.toElement().text().toInt(); int value = accentNode.toElement().text().toInt();
auto type = ArticulationType::Staccato; SymId symId = SymId::articStaccatoAbove;
switch (value) { switch (value) {
case 1: type = ArticulationType::Staccato; break; case 1: symId = SymId::articStaccatoAbove; break;
case 2: type = ArticulationType::Staccatissimo; break; case 2: symId = SymId::articStaccatissimoAbove; break;
case 4: type = ArticulationType::Marcato; break; case 4: symId = SymId::articMarcatoAbove; break;
case 8: type = ArticulationType::Sforzatoaccent; break; case 8: symId = SymId::articAccentAbove; break;
case 16: type = ArticulationType::Tenuto; break; case 16: symId = SymId::articTenutoAbove; break;
} }
Articulation* art = new Articulation(note->score()); Articulation* art = new Articulation(note->score());
art->setArticulationType(type); art->setSymId(symId);
note->add(art); if (!note->score()->addArticulation(note, art))
//if (!note->score()->addArticulation(note, art)) delete art;
// delete art;
} }
QDomNode ornamentNode = currentNote.parentNode().firstChildElement("Ornament"); QDomNode ornamentNode = currentNote.parentNode().firstChildElement("Ornament");
if (!ornamentNode.isNull()) { if (!ornamentNode.isNull()) {
@ -1131,25 +1174,25 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
// guitar pro represents the turns the other way to what we do // guitar pro represents the turns the other way to what we do
if (!value.compare("InvertedTurn")) { if (!value.compare("InvertedTurn")) {
Articulation* art = new Articulation(note->score()); Articulation* art = new Articulation(note->score());
art->setArticulationType(ArticulationType::Turn); art->setSymId(SymId::ornamentTurn);
if (!note->score()->addArticulation(note, art)) if (!note->score()->addArticulation(note, art))
delete art; delete art;
} }
else if (!value.compare("Turn")) { else if (!value.compare("Turn")) {
Articulation* art = new Articulation(note->score()); Articulation* art = new Articulation(note->score());
art->setArticulationType(ArticulationType::Reverseturn); art->setSymId(SymId::ornamentTurnInverted);
if (!note->score()->addArticulation(note, art)) if (!note->score()->addArticulation(note, art))
delete art; delete art;
} }
else if (!value.compare("LowerMordent")) { else if (!value.compare("LowerMordent")) {
Articulation* art = new Articulation(note->score()); Articulation* art = new Articulation(note->score());
art->setArticulationType(ArticulationType::Mordent); art->setSymId(SymId::ornamentMordentInverted);
if (!note->score()->addArticulation(note, art)) if (!note->score()->addArticulation(note, art))
delete art; delete art;
} }
else if (!value.compare("UpperMordent")) { else if (!value.compare("UpperMordent")) {
Articulation* art = new Articulation(note->score()); Articulation* art = new Articulation(note->score());
art->setArticulationType(ArticulationType::Prall); art->setSymId(SymId::ornamentMordent);
if (!note->score()->addArticulation(note, art)) if (!note->score()->addArticulation(note, art))
delete art; delete art;
} }
@ -1164,13 +1207,13 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
if (!argument.compare("PickStroke")) { if (!argument.compare("PickStroke")) {
if (!currentProperty.firstChild().toElement().text().compare("Up")) { if (!currentProperty.firstChild().toElement().text().compare("Up")) {
Articulation* art = new Articulation(note->score()); Articulation* art = new Articulation(note->score());
art->setArticulationType(ArticulationType::Upbow); art->setSymId(SymId::stringsUpBow);
if (!note->score()->addArticulation(note, art)) if (!note->score()->addArticulation(note, art))
delete art; delete art;
} }
else if (!currentProperty.firstChild().toElement().text().compare("Down")) { else if (!currentProperty.firstChild().toElement().text().compare("Down")) {
Articulation* art = new Articulation(note->score()); Articulation* art = new Articulation(note->score());
art->setArticulationType(ArticulationType::Downbow); art->setSymId(SymId::stringsDownBow);
if (!note->score()->addArticulation(note, art)) if (!note->score()->addArticulation(note, art))
delete art; delete art;
} }
@ -1194,13 +1237,11 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
} }
else if (!argument.compare("VibratoWTremBar")) { else if (!argument.compare("VibratoWTremBar")) {
Articulation* art = new Articulation(note->score()); Articulation* art = new Articulation(note->score());
if (!currentProperty.firstChild().toElement().text().compare("Slight")) if (!currentProperty.firstChild().toElement().text().compare("Slight"))
art->setArticulationType(ArticulationType::WiggleSawtooth); art->setSymId(SymId::wiggleSawtooth);
else else
art->setArticulationType(ArticulationType::WiggleSawtoothWide); art->setSymId(SymId::wiggleSawtoothWide);
art->setAnchor(ArticulationAnchor::TOP_STAFF); art->setAnchor(ArticulationAnchor::TOP_STAFF);
art->setLong(true);
if (!note->score()->addArticulation(note, art)) if (!note->score()->addArticulation(note, art))
delete art; delete art;
} }
@ -1306,7 +1347,7 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
if (!arpeggioStr.compare("Up")) if (!arpeggioStr.compare("Up"))
a->setArpeggioType(ArpeggioType::DOWN); a->setArpeggioType(ArpeggioType::DOWN);
else else
a->setArpeggioType(ArpeggioType::UP); a->setArpeggioType(ArpeggioType::NORMAL);
chord->add(a); chord->add(a);
} }
QDomNode letRingNode = currentNote.parentNode().firstChildElement("LetRing"); QDomNode letRingNode = currentNote.parentNode().firstChildElement("LetRing");
@ -1326,9 +1367,26 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
#endif #endif
QDomNode textNode = currentNode.parentNode().firstChildElement("FreeText"); QDomNode textNode = currentNode.parentNode().firstChildElement("FreeText");
if (!textNode.isNull()) { if (!textNode.isNull()) {
TextStyle textStyle; QString text = textNode.toElement().text();
textStyle.setAlign(Align::CENTER); bool t = false;
addTextToNote(textNode.toElement().text(), textStyle, note); // do not add twice the same text per staff
int strack = staffIdx * VOICES;
int etrack = staffIdx * VOICES + VOICES;
for (const Element* e : segment->annotations()) {
if (e->type() == ElementType::STAFF_TEXT && e->track() >= strack && e->track() < etrack) {
const StaffText* st = static_cast<const StaffText*>(e);
if (!st->xmlText().compare(text)) {
t = true;
break;
}
}
}
if (!t && !text.isEmpty()) {
StaffText* s = new StaffText(score);
s->setPlainText(text);
s->setTrack(track);
segment->add(s);
}
} }
QDomNode ghostNode = currentNote.parentNode().firstChildElement("AntiAccent"); QDomNode ghostNode = currentNote.parentNode().firstChildElement("AntiAccent");
if (!ghostNode.isNull()) { if (!ghostNode.isNull()) {
@ -1345,27 +1403,26 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
QDomNode swellNode = currentNode.parentNode().firstChildElement("Fadding"); QDomNode swellNode = currentNode.parentNode().firstChildElement("Fadding");
if (!swellNode.isNull()) { if (!swellNode.isNull()) {
auto str = swellNode.toElement().text(); auto str = swellNode.toElement().text();
ArticulationType style = ArticulationType::VolumeSwell;
if (str == "FadeIn")
style = ArticulationType::FadeIn;
else if (str == "FadeOut")
style = ArticulationType::FadeOut;
Articulation* art = new Articulation(note->score()); Articulation* art = new Articulation(note->score());
art->setArticulationType(style); if (str == "FadeIn")
art->setSymId(SymId::guitarFadeIn);
else if (str == "FadeOut")
art->setSymId(SymId::guitarFadeOut);
else if (str == "VolumeSwell")
art->setSymId(SymId::guitarVolumeSwell);
art->setAnchor(ArticulationAnchor::TOP_STAFF); art->setAnchor(ArticulationAnchor::TOP_STAFF);
if (!note->score()->addArticulation(note, art)) if (!note->score()->addArticulation(note, art))
delete art; delete art;
} }
QDomNode noteVibrato = currentNote.parentNode().firstChildElement("Vibrato"); QDomNode noteVibrato = currentNote.parentNode().firstChildElement("Vibrato");
if (!noteVibrato.isNull()) { if (!noteVibrato.isNull()) {
note->vibrato = true; // note->vibrato = true; // TODO
#if 0 #if 0
Articulation* art = new Articulation(note->score()); Articulation* art = new Articulation(note->score());
if (!noteVibrato.toElement().text().compare("Slight")) if (!noteVibrato.toElement().text().compare("Slight"))
art->setArticulationType(ArticulationType::WiggleVibratoLargeFaster); art->setSymId(SymId::wiggleVibratoLargeFaster);
else else
art->setArticulationType(ArticulationType::WiggleVibratoLargeSlowest); art->setSymId(SymId::wiggleVibratoLargeSlowest);
art->setLong(true);
art->setAnchor(ArticulationAnchor::TOP_STAFF); art->setAnchor(ArticulationAnchor::TOP_STAFF);
if (!note->score()->addArticulation(note, art)) if (!note->score()->addArticulation(note, art))
delete art; delete art;
@ -1455,8 +1512,7 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
continue; continue;
} }
} }
else if (currentNode.nodeName() == "Dynamic") { else if (currentNode.nodeName() == "Dynamic") {}
}
else if (!currentNode.nodeName().compare("Chord")) { else if (!currentNode.nodeName().compare("Chord")) {
int key = currentNode.toElement().text().toInt(); int key = currentNode.toElement().text().toInt();
if (fretDiagrams[key]) if (fretDiagrams[key])
@ -1466,15 +1522,7 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
int time = currentNode.toElement().text().toInt(); int time = currentNode.toElement().text().toInt();
int minutes = time / 60; int minutes = time / 60;
int seconds = time % 60; int seconds = time % 60;
Text* st = new Text(score); //addTextToNote(QString::number(minutes) + ":" + (seconds < 10 ? "0" + QString::number(seconds) : QString::number(seconds)), Align::CENTER, note); //TODO
st->setXmlText(QString::number(minutes) + ":" + (seconds < 10 ? "0" + QString::number(seconds) : QString::number(seconds)));
st->setParent(segment);
st->setTextStyleType(TextStyleType::TECHNIQUE);
st->setTrack(track);
st->setFramed(true);
st->setXoffset(10.0f);
segment->add(st);
//score->addElement(st);
} }
else if (currentNode.nodeName() == "Rhythm") { else if (currentNode.nodeName() == "Rhythm") {
// we have found a rhythm // we have found a rhythm
@ -1517,8 +1565,8 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
bool isCrec = !currentNode.toElement().text().compare("Crescendo"); bool isCrec = !currentNode.toElement().text().compare("Crescendo");
if (seg && hairpins[staffIdx]) { if (seg && hairpins[staffIdx]) {
if (hairpins[staffIdx]->tick2() == seg->tick() && if (hairpins[staffIdx]->tick2() == seg->tick() &&
(isCrec && hairpins[staffIdx]->hairpinType() == Hairpin::Type::CRESCENDO || ((isCrec && hairpins[staffIdx]->hairpinType() == HairpinType::CRESC_HAIRPIN) ||
!isCrec && hairpins[staffIdx]->hairpinType() == Hairpin::Type::DECRESCENDO) (!isCrec && hairpins[staffIdx]->hairpinType() == HairpinType::DECRESC_HAIRPIN)))
hairpins[staffIdx]->setTick2(currentTick); hairpins[staffIdx]->setTick2(currentTick);
else else
createCrecDim(staffIdx, track, currentTick, isCrec); createCrecDim(staffIdx, track, currentTick, isCrec);
@ -1531,9 +1579,10 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
while (!currentProperty.isNull()) { while (!currentProperty.isNull()) {
QString argument = currentProperty.attributes().namedItem("name").toAttr().value(); QString argument = currentProperty.attributes().namedItem("name").toAttr().value();
if (!argument.compare("Rasgueado")) { if (!argument.compare("Rasgueado")) {
auto cr = dynamic_cast<Chord*>(segment->cr(track)); ChordRest* cr = segment->cr(track);
if (cr) { if (cr && cr->isChord()) {
addTextToNote("rasg.", Align::LEFT, cr->notes().first()); Chord* c = toChord(cr);
addTextToNote("rasg.", Align::LEFT, c->upNote());
} }
#if 0 #if 0
StaffText* st = new StaffText(score); StaffText* st = new StaffText(score);
@ -1619,10 +1668,9 @@ int GuitarPro6::readBeats(QString beats, GPPartInfo* partInfo, Measure* measure,
Fraction targetIndex = fermataToFraction((*fermataIter).index, ((*fermataIter).timeDivision)); Fraction targetIndex = fermataToFraction((*fermataIter).index, ((*fermataIter).timeDivision));
if (fermataIndex == targetIndex) { if (fermataIndex == targetIndex) {
Articulation* art = new Articulation(score); Articulation* art = new Articulation(score);
ArticulationType type = ArticulationType::Fermata; art->setSymId(SymId::fermataAbove);
if (fermataIter->type == "Long") if (fermataIter->type == "Long")
type = ArticulationType::Longfermata; art->setSymId(SymId::fermataLongAbove);
art->setArticulationType(type);
art->setUp(true); art->setUp(true);
art->setAnchor(ArticulationAnchor::TOP_STAFF); art->setAnchor(ArticulationAnchor::TOP_STAFF);
auto seg = cr->segment()->prev1(SegmentType::ChordRest); auto seg = cr->segment()->prev1(SegmentType::ChordRest);
@ -1672,11 +1720,37 @@ void GuitarPro6::readBars(QDomNode* barList, Measure* measure, ClefType oldClefI
// get the clef of the bar and apply // get the clef of the bar and apply
if (!currentNode.nodeName().compare("Clef")) { if (!currentNode.nodeName().compare("Clef")) {
QString clefString = currentNode.toElement().text(); QString clefString = currentNode.toElement().text();
ClefType clefId = ClefType::G3; QDomNode nextNode = currentNode.nextSibling();
if (!clefString.compare("F4")) QString clefOctave;
clefId = ClefType::F8; if (!nextNode.nodeName().compare("Ottavia"))
else if (!clefString.compare("G2")) clefOctave = nextNode.toElement().text();
clefId = ClefType::G3; ClefType clefId = ClefType::G;
if (!clefString.compare("F4")) {
clefId = ClefType::F;
if (clefOctave == "8va")
clefId = ClefType::F_8VA;
else if (clefOctave == "8vb")
clefId = ClefType::F8_VB;
else if (clefOctave == "15ma")
clefId = ClefType::F_15MA;
else if (clefOctave == "15mb")
clefId = ClefType::F15_MB;
}
else if (!clefString.compare("G2")) {
clefId = ClefType::G;
if (clefOctave == "8va")
clefId = ClefType::G8_VA;
else if (clefOctave == "8vb")
clefId = ClefType::G8_VB;
else if (clefOctave == "15ma")
clefId = ClefType::G15_MA;
else if (clefOctave == "15mb")
clefId = ClefType::G15_MB;
}
else if (!clefString.compare("C3"))
clefId = ClefType::C3;
else if (!clefString.compare("C4"))
clefId = ClefType::C4;
else if (!clefString.compare("Neutral")) else if (!clefString.compare("Neutral"))
clefId = ClefType::PERC; clefId = ClefType::PERC;
else else
@ -1695,7 +1769,7 @@ void GuitarPro6::readBars(QDomNode* barList, Measure* measure, ClefType oldClefI
delete newClef; delete newClef;
} }
else { else {
Segment* segment = measure->getSegment(SegmentType::Clef, 0); Segment* segment = measure->getSegment(SegmentType::HeaderClef, 0);
segment->add(newClef); segment->add(newClef);
oldClefId[staffIdx] = clefId; oldClefId[staffIdx] = clefId;
} }
@ -1704,10 +1778,13 @@ void GuitarPro6::readBars(QDomNode* barList, Measure* measure, ClefType oldClefI
else if (!currentNode.nodeName().compare("SimileMark")) { else if (!currentNode.nodeName().compare("SimileMark")) {
if (!currentNode.toElement().text().compare("Simple") || if (!currentNode.toElement().text().compare("Simple") ||
!currentNode.toElement().text().compare("FirstOfDouble") || !currentNode.toElement().text().compare("FirstOfDouble") ||
!currentNode.toElement().text().compare("SecondOfDouble")) !currentNode.toElement().text().compare("SecondOfDouble")) {
{ RepeatMeasure* rm = new RepeatMeasure(score);
auto rm = measure->cmdInsertRepeatMeasure(staffIdx); rm->setTrack(staffIdx * VOICES);
rm->setDouble(!currentNode.toElement().text().compare("SecondOfDouble")); rm->setDuration(measure->len());
rm->setDurationType(TDuration::DurationType::V_MEASURE);
Segment* segment = measure->getSegment(SegmentType::ChordRest, tick);
segment->add(rm);
} }
else else
qDebug() << "WARNING: unhandle similie mark type: " << currentNode.toElement().text(); qDebug() << "WARNING: unhandle similie mark type: " << currentNode.toElement().text();
@ -1740,10 +1817,8 @@ void GuitarPro6::readBars(QDomNode* barList, Measure* measure, ClefType oldClefI
} }
// read the beats that occur in the bar // read the beats that occur in the bar
int ticks = readBeats(voice.firstChild().toElement().text(), partInfo, measure, tick, staffIdx, voiceNum, &tuplets[0], measureCounter); int ticks = readBeats(voice.firstChild().toElement().text(), partInfo, measure, tick, staffIdx, voiceNum, &tuplets[0], measureCounter);
if (ticks == -1) if (ticks == -1) {
{ if (measure->prevMeasure()) {
if (measure->prevMeasure())
{
ticks = measure->prevMeasure()->ticks(); ticks = measure->prevMeasure()->ticks();
measure->setLen(Fraction::fromTicks(ticks)); measure->setLen(Fraction::fromTicks(ticks));
} }
@ -1925,8 +2000,8 @@ void GuitarPro6::readMasterBars(GPPartInfo* partInfo)
ts->setLargeParentheses(true); ts->setLargeParentheses(true);
s->add(ts); s->add(ts);
StaffText* st = new StaffText(score); StaffText* st = new StaffText(score);
st->setTextStyleType(TextStyleType::STAFF);
st->setXmlText("Free time"); st->setXmlText("Free time");
s = m->getSegment(SegmentType::ChordRest, measure->tick());
st->setParent(s); st->setParent(s);
st->setTrack(stave); st->setTrack(stave);
score->addElement(st); score->addElement(st);
@ -2016,27 +2091,18 @@ void GuitarPro6::readMasterBars(GPPartInfo* partInfo)
s->add(sym); s->add(sym);
bars[measureCounter].direction = ""; bars[measureCounter].direction = "";
} }
#endif #endif
if (first && measureCounter > max_counter) if (first && measureCounter > max_counter) {
{
max_counter = measureCounter; max_counter = measureCounter;
first = false; first = false;
int counter = -1; int counter = -1;
for (auto& dir : bars[measureCounter].directions) for (auto& dir : bars[measureCounter].directions) {
{
++counter; ++counter;
if (!dir.compare("Fine") || !bars[measureCounter].directionStyle.compare("Jump")) { if (!dir.compare("Fine") || !bars[measureCounter].directionStyle.compare("Jump")) {
Segment* s = measure->getSegment(SegmentType::KeySig, measure->tick()); Segment* s = measure->getSegment(SegmentType::KeySig, measure->tick());
StaffText* st = new StaffText(score); StaffText* st = new StaffText(score);
st->setTextStyleType(TextStyleType::STAFF);
st->_measureEnd = true;
if (!dir.compare("Fine")) if (!dir.compare("Fine"))
{
st->setXmlText("fine"); st->setXmlText("fine");
st->_measureEnd = false;
}
else if (!dir.compare("DaCapo")) else if (!dir.compare("DaCapo"))
st->setXmlText("Da Capo"); st->setXmlText("Da Capo");
else if (!dir.compare("DaCapoAlCoda")) else if (!dir.compare("DaCapoAlCoda"))
@ -2067,14 +2133,12 @@ void GuitarPro6::readMasterBars(GPPartInfo* partInfo)
st->setXmlText("Da Double Coda"); st->setXmlText("Da Double Coda");
st->setParent(s); st->setParent(s);
st->setTrack(stave); st->setTrack(stave);
st->setElYOffset(-7.0f * counter);
score->addElement(st); score->addElement(st);
//bars[measureCounter].direction = ""; //bars[measureCounter].direction = "";
} }
else if (!bars[measureCounter].directionStyle.compare("Target")) { else if (!bars[measureCounter].directionStyle.compare("Target")) {
Segment* s = measure->getSegment(SegmentType::BarLine, measure->tick()); Segment* s = measure->getSegment(SegmentType::BarLine, measure->tick());
Symbol* sym = new Symbol(score); Symbol* sym = new Symbol(score);
sym->setElYOffset(-7.0f * counter);
if (!dir.compare("Segno")) if (!dir.compare("Segno"))
sym->setSym(SymId::segno); sym->setSym(SymId::segno);
else if (!dir.compare("SegnoSegno")) { else if (!dir.compare("SegnoSegno")) {
@ -2122,8 +2186,10 @@ void GuitarPro6::readMasterBars(GPPartInfo* partInfo)
gpFermata.index = fermataComponents.at(0).toInt(); gpFermata.index = fermataComponents.at(0).toInt();
gpFermata.timeDivision = fermataComponents.at(1).toInt(); gpFermata.timeDivision = fermataComponents.at(1).toInt();
if (!type.isNull()) gpFermata.type = type.toElement().text(); if (!type.isNull())
else gpFermata.type = "Medium"; gpFermata.type = type.toElement().text();
else
gpFermata.type = "Medium";
if (fermatas.contains(measureCounter)) { if (fermatas.contains(measureCounter)) {
QList<GPFermata>* fermataList = fermatas.value(measureCounter); QList<GPFermata>* fermataList = fermatas.value(measureCounter);
@ -2140,27 +2206,24 @@ void GuitarPro6::readMasterBars(GPPartInfo* partInfo)
bool start = !masterBarElement.attributes().namedItem("start").toAttr().value().compare("true"); bool start = !masterBarElement.attributes().namedItem("start").toAttr().value().compare("true");
int count = masterBarElement.attributes().namedItem("count").toAttr().value().toInt(); int count = masterBarElement.attributes().namedItem("count").toAttr().value().toInt();
if (start) if (start)
measure->setRepeatFlags(Repeat::START); measure->setRepeatStart(true);
else else
measure->setRepeatFlags(Repeat::END); measure->setRepeatEnd(true);
measure->setRepeatCount(count); measure->setRepeatCount(count);
} }
else if (!masterBarElement.nodeName().compare("AlternateEndings") && measureCounter != last_counter2) { else if (!masterBarElement.nodeName().compare("AlternateEndings") && measureCounter != last_counter2) {
last_counter2 = measureCounter; last_counter2 = measureCounter;
QString endNumbers = masterBarElement.toElement().text().replace(" ", ","); QString endNumbers = masterBarElement.toElement().text().replace(" ", ",");
bool create = true; bool create = true;
if (_lastVolta) if (_lastVolta) {
{
auto prevm = measure->prevMeasure(); auto prevm = measure->prevMeasure();
if (prevm->endBarLineType() != BarLineType::START_REPEAT && (_lastVolta->tick2() == prevm->tick() + prevm->ticks() ) if (prevm->endBarLineType() != BarLineType::START_REPEAT && (_lastVolta->tick2() == prevm->tick() + prevm->ticks() )
&&(_lastVolta->text() == endNumbers) ) &&(_lastVolta->text() == endNumbers) ) {
{
create = false; create = false;
_lastVolta->setTick2(measure->tick() + measure->ticks()); _lastVolta->setTick2(measure->tick() + measure->ticks());
} }
} }
if (create) if (create) {
{
Ms::Volta* volta = new Ms::Volta(score); Ms::Volta* volta = new Ms::Volta(score);
volta->endings().clear(); volta->endings().clear();
volta->setText(endNumbers); volta->setText(endNumbers);
@ -2168,7 +2231,7 @@ void GuitarPro6::readMasterBars(GPPartInfo* partInfo)
volta->setTick2(measure->tick() + measure->ticks()); volta->setTick2(measure->tick() + measure->ticks());
QList<int> endings; QList<int> endings;
const char* c = endNumbers.c_str(); const char* c = endNumbers.toUtf8().constData();
while (c && *c) while (c && *c)
{ {
if (*c >= '0' && *c <= '9') if (*c >= '0' && *c <= '9')
@ -2186,25 +2249,19 @@ void GuitarPro6::readMasterBars(GPPartInfo* partInfo)
masterBarElement = masterBarElement.nextSibling(); masterBarElement = masterBarElement.nextSibling();
} }
} }
if (bars[measureCounter].section[0].length() || bars[measureCounter].section[1].length()) if (bars[measureCounter].section[0].length() || bars[measureCounter].section[1].length()) {
{
Segment* s = measure->getSegment(SegmentType::ChordRest, measure->tick()); Segment* s = measure->getSegment(SegmentType::ChordRest, measure->tick());
float dist = .0f; if (bars[measureCounter].section[0].length()) {
if (bars[measureCounter].section[0].length())
{
Text* t = new RehearsalMark(score); Text* t = new RehearsalMark(score);
t->setFramed(true); t->setHasFrame(true);
t->setPlainText(bars[measureCounter].section[0]); t->setPlainText(bars[measureCounter].section[0]);
dist = getTextWidth(t->xmlText(), 10.0f) + 6.0f;
t->setTrack(0); t->setTrack(0);
s->add(t); s->add(t);
} }
if (bars[measureCounter].section[1].length()) if (bars[measureCounter].section[1].length()) {
{
Text* t = new RehearsalMark(score); Text* t = new RehearsalMark(score);
t->setFramed(false); t->setHasFrame(false);
t->setPlainText(bars[measureCounter].section[1]); t->setPlainText(bars[measureCounter].section[1]);
t->setXoffset(dist);
t->setTrack(0); t->setTrack(0);
s->add(t); s->add(t);
} }
@ -2268,9 +2325,27 @@ void GuitarPro6::readGpif(QByteArray* data)
createMeasures(); createMeasures();
fermatas.clear(); fermatas.clear();
readMasterBars(&partInfo); readMasterBars(&partInfo);
// change the tuning to deal with transposition
// It's needed to create correct tabs
for (Part * p : score->parts()) {
Instrument* instr = p->instrument();
if (instr->transpose().chromatic == 0)
continue;
const StringData* sd = instr->stringData();
if (sd) {
int tuning[sd->strings()];
int frets = sd->frets();
int strings;
for (strings = 0; strings < sd->strings(); strings++) {
tuning[strings] = sd->stringList()[strings].pitch - instr->transpose().chromatic;
}
StringData* stringData = new StringData(frets, strings, tuning);
instr->setStringData(*stringData);
}
}
// set the starting tempo of the score // set the starting tempo of the score
//auto iter = tempoMap.find(0);
//setTempo(iter != tempoMap.end() ? iter->second : 120, score->firstMeasure());
bool zero_set = false; bool zero_set = false;
// int linearTemp = -1; // int linearTemp = -1;
for (auto iter = tempoMap.begin(); iter != tempoMap.end(); ++iter) { for (auto iter = tempoMap.begin(); iter != tempoMap.end(); ++iter) {
@ -2323,17 +2398,17 @@ void GuitarPro6::readGPX(QByteArray* buffer)
if (fileHeader == GPX_HEADER_COMPRESSED) { if (fileHeader == GPX_HEADER_COMPRESSED) {
// this is a compressed file. // this is a compressed file.
int length = readInteger(buffer, this->position/BITS_IN_BYTE); int length = readInteger(buffer, position / BITS_IN_BYTE);
QByteArray* bcfsBuffer = new QByteArray(); QByteArray* bcfsBuffer = new QByteArray();
int positionCounter = 0; int positionCounter = 0;
while(!f->error() && (this->position/this->BITS_IN_BYTE) < length) { while(!f->error() && (position / BITS_IN_BYTE) < length) {
// read the bit indicating compression information // read the bit indicating compression information
int flag = this->readBits(1); int flag = readBits(buffer, 1);
if (flag) { if (flag) {
int bits = this->readBits(4); int bits = readBits(buffer, 4);
int offs = this->readBitsReversed(bits); int offs = readBitsReversed(buffer, bits);
int size = this->readBitsReversed(bits); int size = readBitsReversed(buffer, bits);
QByteArray bcfsBufferCopy = *bcfsBuffer; QByteArray bcfsBufferCopy = *bcfsBuffer;
int pos = (bcfsBufferCopy.length() - offs); int pos = (bcfsBufferCopy.length() - offs);
@ -2343,9 +2418,9 @@ void GuitarPro6::readGPX(QByteArray* buffer)
} }
} }
else { else {
int size = this->readBitsReversed(2); int size = readBitsReversed(buffer, 2);
for(int i = 0; i < size; i++) { for(int i = 0; i < size; i++) {
bcfsBuffer->insert(positionCounter, this->readBits(8)); bcfsBuffer->insert(positionCounter, readBits(buffer, 8));
positionCounter++; positionCounter++;
} }
} }
@ -2386,7 +2461,6 @@ void GuitarPro6::readGPX(QByteArray* buffer)
} }
} }
} }
#endif
//--------------------------------------------------------- //---------------------------------------------------------
// readBeatEffects // readBeatEffects
@ -2411,7 +2485,7 @@ bool GuitarPro6::read(QFile* fp)
QByteArray buffer = fp->readAll(); QByteArray buffer = fp->readAll();
// decompress and read files contained within GPX file // decompress and read files contained within GPX file
//TODO-ws readGPX(&buffer); readGPX(&buffer);
delete slides; delete slides;
return true; return true;

View file

@ -542,27 +542,23 @@ void GuitarPro::addDynamic(Note* note, int d)
if (d < 0) if (d < 0)
return; return;
if (!note->chord()){ if (!note->chord()){
qDebug() << "No chord associated with this note"; qDebug() << "addDynamics: No chord associated with this note";
return; return;
} }
Segment* s = nullptr;
if (note->chord()->isGrace()) {
Chord* parent = static_cast<Chord*>(note->chord()->parent());
s = parent->segment();
}
else
s = note->chord()->segment();
if (!s->findAnnotation(ElementType::DYNAMIC, note->staffIdx() * VOICES, note->staffIdx() * VOICES + VOICES - 1)) {
Dynamic* dyn = new Dynamic(score); Dynamic* dyn = new Dynamic(score);
// guitar pro only allows their users to go from ppp to fff // guitar pro only allows their users to go from ppp to fff
QString map_dyn[] = {"f","ppp","pp","p","mp","mf","f","ff","fff"}; QString map_dyn[] = {"f","ppp","pp","p","mp","mf","f","ff","fff"};
dyn->setDynamicType(map_dyn[std::min(d, 8)]); dyn->setDynamicType(map_dyn[d]);
dyn->setTrack(note->track()); dyn->setTrack(note->track());
if (note->chord()->isGrace()) { s->add(dyn);
if (note->chord()->parent()->type() == ElementType::SEGMENT) {
note->chord()->parent()->add(dyn);
}
else {
Chord* parent = static_cast<Chord*>(note->chord()->parent());
parent->segment()->add(dyn);
}
}
else {
if (note->chord()->segment())
note->chord()->segment()->add(dyn);
} }
} }
@ -2753,7 +2749,7 @@ Score::FileError importGTP(MasterScore* score, const QString& name)
s->setPlainText(gp->title); s->setPlainText(gp->title);
m->add(s); m->add(s);
} }
if (!gp->subtitle.isEmpty() && !gp->artist.isEmpty() && !gp->album.isEmpty()) { if (!gp->subtitle.isEmpty()|| !gp->artist.isEmpty() || !gp->album.isEmpty()) {
Text* s = new Text(SubStyle::SUBTITLE, score); Text* s = new Text(SubStyle::SUBTITLE, score);
QString str; QString str;
if (!gp->subtitle.isEmpty()) if (!gp->subtitle.isEmpty())

View file

@ -83,7 +83,7 @@ struct GPVolta {
struct GPFermata { struct GPFermata {
int index; int index;
int timeDivision; int timeDivision;
std::string type; QString type;
}; };
struct GPLyrics { struct GPLyrics {
@ -368,7 +368,6 @@ class GuitarPro6 : public GuitarPro {
const int GPX_HEADER_COMPRESSED = 1514554178; const int GPX_HEADER_COMPRESSED = 1514554178;
int position = 0; int position = 0;
QMap<int, int>* slides; QMap<int, int>* slides;
QByteArray* buffer;
// a constant storing the amount of bits per byte // a constant storing the amount of bits per byte
const int BITS_IN_BYTE = 8; const int BITS_IN_BYTE = 8;
// contains all the information about notes that will go in the parts // contains all the information about notes that will go in the parts
@ -383,13 +382,13 @@ class GuitarPro6 : public GuitarPro {
// a mapping from identifiers to fret diagrams // a mapping from identifiers to fret diagrams
QMap<int, FretDiagram*> fretDiagrams; QMap<int, FretDiagram*> fretDiagrams;
void parseFile(char* filename, QByteArray* data); void parseFile(char* filename, QByteArray* data);
int readBit(); int readBit(QByteArray* buffer);
QByteArray getBytes(QByteArray* buffer, int offset, int length); QByteArray getBytes(QByteArray* buffer, int offset, int length);
void readGPX(QByteArray* buffer); void readGPX(QByteArray* buffer);
int readInteger(QByteArray* buffer, int offset); int readInteger(QByteArray* buffer, int offset);
QByteArray readString(QByteArray* buffer, int offset, int length); QByteArray readString(QByteArray* buffer, int offset, int length);
int readBits(int bitsToRead); int readBits(QByteArray* buffer, int bitsToRead);
int readBitsReversed(int bitsToRead); int readBitsReversed(QByteArray* buffer, int bitsToRead);
void readGpif(QByteArray* data); void readGpif(QByteArray* data);
void readScore(QDomNode* metadata); void readScore(QDomNode* metadata);
void readChord(QDomNode* diagram, int track); void readChord(QDomNode* diagram, int track);
@ -402,7 +401,7 @@ class GuitarPro6 : public GuitarPro {
void readMasterBars(GPPartInfo* partInfo); void readMasterBars(GPPartInfo* partInfo);
Fraction rhythmToDuration(QString value); Fraction rhythmToDuration(QString value);
Fraction fermataToFraction(int numerator, int denominator); Fraction fermataToFraction(int numerator, int denominator);
QDomNode getNode(const QString& id, const QDomNode& nodes); QDomNode getNode(const QString& id, QDomNode currentDomNode);
void unhandledNode(QString nodeName); void unhandledNode(QString nodeName);
void makeTie(Note* note); void makeTie(Note* note);
int* previousDynamic; int* previousDynamic;

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -168,7 +169,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -221,7 +222,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -139,7 +140,7 @@
</Note> </Note>
<Arpeggio> <Arpeggio>
<lid>10</lid> <lid>10</lid>
<subtype>1</subtype> <subtype>2</subtype>
</Arpeggio> </Arpeggio>
</Chord> </Chord>
</Measure> </Measure>
@ -170,7 +171,7 @@
</Note> </Note>
<Arpeggio> <Arpeggio>
<lid>16</lid> <lid>16</lid>
<subtype>2</subtype> <subtype>0</subtype>
</Arpeggio> </Arpeggio>
</Chord> </Chord>
</Measure> </Measure>
@ -180,7 +181,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -233,7 +234,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -334,7 +335,7 @@
</Note> </Note>
<Arpeggio> <Arpeggio>
<lid>10</lid> <lid>10</lid>
<subtype>1</subtype> <subtype>2</subtype>
</Arpeggio> </Arpeggio>
</Chord> </Chord>
</Measure> </Measure>
@ -365,7 +366,7 @@
</Note> </Note>
<Arpeggio> <Arpeggio>
<lid>16</lid> <lid>16</lid>
<subtype>2</subtype> <subtype>0</subtype>
</Arpeggio> </Arpeggio>
</Chord> </Chord>
</Measure> </Measure>
@ -402,7 +403,7 @@
</Note> </Note>
<Arpeggio> <Arpeggio>
<lid>10</lid> <lid>10</lid>
<subtype>1</subtype> <subtype>2</subtype>
</Arpeggio> </Arpeggio>
</Chord> </Chord>
</Measure> </Measure>
@ -433,7 +434,7 @@
</Note> </Note>
<Arpeggio> <Arpeggio>
<lid>16</lid> <lid>16</lid>
<subtype>2</subtype> <subtype>0</subtype>
</Arpeggio> </Arpeggio>
</Chord> </Chord>
</Measure> </Measure>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -41,7 +42,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -281,7 +282,7 @@
<pitch>86</pitch> <pitch>86</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<head>diamond</head> <head>diamond</head>
<fret>0</fret> <fret>22</fret>
<string>0</string> <string>0</string>
</Note> </Note>
</Chord> </Chord>
@ -305,7 +306,7 @@
<pitch>86</pitch> <pitch>86</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<head>diamond</head> <head>diamond</head>
<fret>0</fret> <fret>22</fret>
<string>0</string> <string>0</string>
</Note> </Note>
</Chord> </Chord>
@ -316,7 +317,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -368,7 +369,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -612,7 +613,7 @@
<pitch>86</pitch> <pitch>86</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<head>diamond</head> <head>diamond</head>
<fret>0</fret> <fret>22</fret>
<string>0</string> <string>0</string>
</Note> </Note>
</Chord> </Chord>
@ -636,7 +637,7 @@
<pitch>86</pitch> <pitch>86</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<head>diamond</head> <head>diamond</head>
<fret>0</fret> <fret>22</fret>
<string>0</string> <string>0</string>
</Note> </Note>
</Chord> </Chord>
@ -814,7 +815,7 @@
<pitch>86</pitch> <pitch>86</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<head>diamond</head> <head>diamond</head>
<fret>0</fret> <fret>22</fret>
<string>0</string> <string>0</string>
</Note> </Note>
</Chord> </Chord>
@ -838,7 +839,7 @@
<pitch>86</pitch> <pitch>86</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<head>diamond</head> <head>diamond</head>
<fret>0</fret> <fret>22</fret>
<string>0</string> <string>0</string>
</Note> </Note>
</Chord> </Chord>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -180,7 +181,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -233,7 +234,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -215,7 +216,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -164,7 +165,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -217,7 +218,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -198,7 +199,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -251,7 +252,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -166,7 +167,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -219,7 +220,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -192,7 +193,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -245,7 +246,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -305,7 +306,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -358,7 +359,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -41,7 +42,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -102,31 +103,31 @@
<sigN>4</sigN> <sigN>4</sigN>
<sigD>4</sigD> <sigD>4</sigD>
</TimeSig> </TimeSig>
<StaffText>
<lid>4</lid>
<text>Free time</text>
</StaffText>
<Dynamic> <Dynamic>
<subtype>mf</subtype> <subtype>mf</subtype>
<velocity>80</velocity> <velocity>80</velocity>
<lid>4</lid> <lid>5</lid>
</Dynamic> </Dynamic>
<Tempo> <Tempo>
<tempo>2</tempo> <tempo>2</tempo>
<lid>5</lid> <lid>6</lid>
<text><sym>metNoteQuarterUp</sym> = 120</text> <text><sym>metNoteQuarterUp</sym> = 120</text>
</Tempo> </Tempo>
<Chord> <Chord>
<lid>6</lid> <lid>7</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>7</lid> <lid>8</lid>
<pitch>50</pitch> <pitch>50</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<fret>0</fret> <fret>0</fret>
<string>3</string> <string>3</string>
</Note> </Note>
</Chord> </Chord>
<Rest>
<lid>8</lid>
<durationType>quarter</durationType>
</Rest>
<Rest> <Rest>
<lid>9</lid> <lid>9</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
@ -135,22 +136,26 @@
<lid>10</lid> <lid>10</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
</Rest> </Rest>
<Rest>
<lid>11</lid>
<durationType>quarter</durationType>
</Rest>
<BarLine> <BarLine>
<subtype>dashed</subtype> <subtype>dashed</subtype>
<lid>11</lid> <lid>12</lid>
</BarLine> </BarLine>
</Measure> </Measure>
<Measure number="2"> <Measure number="2">
<TimeSig> <TimeSig>
<lid>13</lid> <lid>14</lid>
<sigN>4</sigN> <sigN>4</sigN>
<sigD>4</sigD> <sigD>4</sigD>
</TimeSig> </TimeSig>
<Chord> <Chord>
<lid>14</lid> <lid>15</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>15</lid> <lid>16</lid>
<pitch>62</pitch> <pitch>62</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<fret>12</fret> <fret>12</fret>
@ -158,10 +163,10 @@
</Note> </Note>
</Chord> </Chord>
<Chord> <Chord>
<lid>16</lid> <lid>17</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>17</lid> <lid>18</lid>
<Accidental> <Accidental>
<subtype>accidentalFlat</subtype> <subtype>accidentalFlat</subtype>
</Accidental> </Accidental>
@ -172,10 +177,10 @@
</Note> </Note>
</Chord> </Chord>
<Chord> <Chord>
<lid>18</lid> <lid>19</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>19</lid> <lid>20</lid>
<pitch>55</pitch> <pitch>55</pitch>
<tpc>15</tpc> <tpc>15</tpc>
<fret>5</fret> <fret>5</fret>
@ -183,7 +188,7 @@
</Note> </Note>
</Chord> </Chord>
<Rest> <Rest>
<lid>20</lid> <lid>21</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
</Rest> </Rest>
</Measure> </Measure>
@ -193,7 +198,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -245,7 +250,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -310,31 +315,31 @@
<sigN>4</sigN> <sigN>4</sigN>
<sigD>4</sigD> <sigD>4</sigD>
</TimeSig> </TimeSig>
<StaffText>
<lid>4</lid>
<text>Free time</text>
</StaffText>
<Dynamic> <Dynamic>
<subtype>mf</subtype> <subtype>mf</subtype>
<velocity>80</velocity> <velocity>80</velocity>
<lid>4</lid> <lid>5</lid>
</Dynamic> </Dynamic>
<Tempo> <Tempo>
<tempo>2</tempo> <tempo>2</tempo>
<lid>5</lid> <lid>6</lid>
<text><sym>metNoteQuarterUp</sym> = 120</text> <text><sym>metNoteQuarterUp</sym> = 120</text>
</Tempo> </Tempo>
<Chord> <Chord>
<lid>6</lid> <lid>7</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>7</lid> <lid>8</lid>
<pitch>50</pitch> <pitch>50</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<fret>0</fret> <fret>0</fret>
<string>3</string> <string>3</string>
</Note> </Note>
</Chord> </Chord>
<Rest>
<lid>8</lid>
<durationType>quarter</durationType>
</Rest>
<Rest> <Rest>
<lid>9</lid> <lid>9</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
@ -343,22 +348,26 @@
<lid>10</lid> <lid>10</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
</Rest> </Rest>
<Rest>
<lid>11</lid>
<durationType>quarter</durationType>
</Rest>
<BarLine> <BarLine>
<subtype>dashed</subtype> <subtype>dashed</subtype>
<lid>11</lid> <lid>12</lid>
</BarLine> </BarLine>
</Measure> </Measure>
<Measure number="2"> <Measure number="2">
<TimeSig> <TimeSig>
<lid>13</lid> <lid>14</lid>
<sigN>4</sigN> <sigN>4</sigN>
<sigD>4</sigD> <sigD>4</sigD>
</TimeSig> </TimeSig>
<Chord> <Chord>
<lid>14</lid> <lid>15</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>15</lid> <lid>16</lid>
<pitch>62</pitch> <pitch>62</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<fret>12</fret> <fret>12</fret>
@ -366,10 +375,10 @@
</Note> </Note>
</Chord> </Chord>
<Chord> <Chord>
<lid>16</lid> <lid>17</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>17</lid> <lid>18</lid>
<Accidental> <Accidental>
<subtype>accidentalFlat</subtype> <subtype>accidentalFlat</subtype>
</Accidental> </Accidental>
@ -380,10 +389,10 @@
</Note> </Note>
</Chord> </Chord>
<Chord> <Chord>
<lid>18</lid> <lid>19</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>19</lid> <lid>20</lid>
<pitch>55</pitch> <pitch>55</pitch>
<tpc>15</tpc> <tpc>15</tpc>
<fret>5</fret> <fret>5</fret>
@ -391,7 +400,7 @@
</Note> </Note>
</Chord> </Chord>
<Rest> <Rest>
<lid>20</lid> <lid>21</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
</Rest> </Rest>
</Measure> </Measure>
@ -403,20 +412,16 @@
<accidental>0</accidental> <accidental>0</accidental>
</KeySig> </KeySig>
<Chord> <Chord>
<lid>6</lid> <lid>7</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>7</lid> <lid>8</lid>
<pitch>50</pitch> <pitch>50</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<fret>0</fret> <fret>0</fret>
<string>3</string> <string>3</string>
</Note> </Note>
</Chord> </Chord>
<Rest>
<lid>8</lid>
<durationType>quarter</durationType>
</Rest>
<Rest> <Rest>
<lid>9</lid> <lid>9</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
@ -425,17 +430,21 @@
<lid>10</lid> <lid>10</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
</Rest> </Rest>
<Rest>
<lid>11</lid>
<durationType>quarter</durationType>
</Rest>
<BarLine> <BarLine>
<subtype>dashed</subtype> <subtype>dashed</subtype>
<lid>11</lid> <lid>12</lid>
</BarLine> </BarLine>
</Measure> </Measure>
<Measure number="2"> <Measure number="2">
<Chord> <Chord>
<lid>14</lid> <lid>15</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>15</lid> <lid>16</lid>
<pitch>62</pitch> <pitch>62</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<fret>12</fret> <fret>12</fret>
@ -443,10 +452,10 @@
</Note> </Note>
</Chord> </Chord>
<Chord> <Chord>
<lid>16</lid> <lid>17</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>17</lid> <lid>18</lid>
<pitch>63</pitch> <pitch>63</pitch>
<tpc>11</tpc> <tpc>11</tpc>
<fret>8</fret> <fret>8</fret>
@ -454,10 +463,10 @@
</Note> </Note>
</Chord> </Chord>
<Chord> <Chord>
<lid>18</lid> <lid>19</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>19</lid> <lid>20</lid>
<pitch>55</pitch> <pitch>55</pitch>
<tpc>15</tpc> <tpc>15</tpc>
<fret>5</fret> <fret>5</fret>
@ -465,7 +474,7 @@
</Note> </Note>
</Chord> </Chord>
<Rest> <Rest>
<lid>20</lid> <lid>21</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
</Rest> </Rest>
</Measure> </Measure>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -41,7 +42,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -117,32 +118,25 @@
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>7</lid> <lid>7</lid>
<Symbol>
<name>noteheadParenthesisLeft</name>
<lid>8</lid>
</Symbol>
<Symbol>
<name>noteheadParenthesisRight</name>
<lid>9</lid>
</Symbol>
<pitch>62</pitch> <pitch>62</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<fret>12</fret> <fret>12</fret>
<string>3</string> <string>3</string>
<ghost>1</ghost>
</Note> </Note>
</Chord> </Chord>
<Rest>
<lid>8</lid>
<durationType>quarter</durationType>
</Rest>
<Rest>
<lid>9</lid>
<durationType>quarter</durationType>
</Rest>
<Rest> <Rest>
<lid>10</lid> <lid>10</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
</Rest> </Rest>
<Rest>
<lid>11</lid>
<durationType>quarter</durationType>
</Rest>
<Rest>
<lid>12</lid>
<durationType>quarter</durationType>
</Rest>
</Measure> </Measure>
</Staff> </Staff>
<Score> <Score>
@ -150,7 +144,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -202,7 +196,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -282,32 +276,25 @@
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>7</lid> <lid>7</lid>
<Symbol>
<name>noteheadParenthesisLeft</name>
<lid>8</lid>
</Symbol>
<Symbol>
<name>noteheadParenthesisRight</name>
<lid>9</lid>
</Symbol>
<pitch>62</pitch> <pitch>62</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<fret>12</fret> <fret>12</fret>
<string>3</string> <string>3</string>
<ghost>1</ghost>
</Note> </Note>
</Chord> </Chord>
<Rest>
<lid>8</lid>
<durationType>quarter</durationType>
</Rest>
<Rest>
<lid>9</lid>
<durationType>quarter</durationType>
</Rest>
<Rest> <Rest>
<lid>10</lid> <lid>10</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
</Rest> </Rest>
<Rest>
<lid>11</lid>
<durationType>quarter</durationType>
</Rest>
<Rest>
<lid>12</lid>
<durationType>quarter</durationType>
</Rest>
</Measure> </Measure>
</Staff> </Staff>
<Staff id="2"> <Staff id="2">
@ -321,32 +308,25 @@
<durationType>quarter</durationType> <durationType>quarter</durationType>
<Note> <Note>
<lid>7</lid> <lid>7</lid>
<Symbol>
<name>noteheadParenthesisLeft</name>
<lid>8</lid>
</Symbol>
<Symbol>
<name>noteheadParenthesisRight</name>
<lid>9</lid>
</Symbol>
<pitch>62</pitch> <pitch>62</pitch>
<tpc>16</tpc> <tpc>16</tpc>
<fret>12</fret> <fret>12</fret>
<string>3</string> <string>3</string>
<ghost>1</ghost>
</Note> </Note>
</Chord> </Chord>
<Rest>
<lid>8</lid>
<durationType>quarter</durationType>
</Rest>
<Rest>
<lid>9</lid>
<durationType>quarter</durationType>
</Rest>
<Rest> <Rest>
<lid>10</lid> <lid>10</lid>
<durationType>quarter</durationType> <durationType>quarter</durationType>
</Rest> </Rest>
<Rest>
<lid>11</lid>
<durationType>quarter</durationType>
</Rest>
<Rest>
<lid>12</lid>
<durationType>quarter</durationType>
</Rest>
</Measure> </Measure>
</Staff> </Staff>
<name>E-Gt</name> <name>E-Gt</name>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -45,8 +46,6 @@
<controller ctrl="10" value="63"/> <controller ctrl="10" value="63"/>
<controller ctrl="93" value="255"/> <controller ctrl="93" value="255"/>
<controller ctrl="91" value="255"/> <controller ctrl="91" value="255"/>
<midiPort>0</midiPort>
<midiChannel>4</midiChannel>
</Channel> </Channel>
</Instrument> </Instrument>
</Part> </Part>
@ -259,7 +258,7 @@ Puki Kuki</text>
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -172,7 +173,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -225,7 +226,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -354,7 +355,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -407,7 +408,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -238,7 +239,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -291,7 +292,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -104,7 +105,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -427,7 +428,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -480,7 +481,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -655,13 +656,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="8" len="8/4">
<multiMeasureRest>2</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>8/4</duration>
</Rest>
</Measure>
<Measure number="9"> <Measure number="9">
<Rest> <Rest>
<lid>29</lid> <lid>29</lid>
@ -773,13 +767,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="8" len="8/4">
<multiMeasureRest>2</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>8/4</duration>
</Rest>
</Measure>
<Measure number="9"> <Measure number="9">
<Rest> <Rest>
<lid>29</lid> <lid>29</lid>
@ -795,7 +782,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -847,7 +834,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -1022,13 +1009,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="8" len="8/4">
<multiMeasureRest>2</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>8/4</duration>
</Rest>
</Measure>
<Measure number="9"> <Measure number="9">
<Rest> <Rest>
<lid>50</lid> <lid>50</lid>
@ -1140,13 +1120,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="8" len="8/4">
<multiMeasureRest>2</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>8/4</duration>
</Rest>
</Measure>
<Measure number="9"> <Measure number="9">
<Rest> <Rest>
<lid>50</lid> <lid>50</lid>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -104,7 +105,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -235,7 +236,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -288,7 +289,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -405,7 +406,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -457,7 +458,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -104,7 +105,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -435,7 +436,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -488,7 +489,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -663,13 +664,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="8" len="8/4">
<multiMeasureRest>2</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>8/4</duration>
</Rest>
</Measure>
<Measure number="9"> <Measure number="9">
<Rest> <Rest>
<lid>29</lid> <lid>29</lid>
@ -781,13 +775,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="8" len="8/4">
<multiMeasureRest>2</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>8/4</duration>
</Rest>
</Measure>
<Measure number="9"> <Measure number="9">
<Rest> <Rest>
<lid>29</lid> <lid>29</lid>
@ -803,7 +790,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -855,7 +842,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -1030,13 +1017,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="8" len="8/4">
<multiMeasureRest>2</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>8/4</duration>
</Rest>
</Measure>
<Measure number="9"> <Measure number="9">
<Rest> <Rest>
<lid>50</lid> <lid>50</lid>
@ -1148,13 +1128,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="8" len="8/4">
<multiMeasureRest>2</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>8/4</duration>
</Rest>
</Measure>
<Measure number="9"> <Measure number="9">
<Rest> <Rest>
<lid>50</lid> <lid>50</lid>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -104,7 +105,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -307,7 +308,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -360,7 +361,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -457,13 +458,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="2" len="12/4">
<multiMeasureRest>3</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>12/4</duration>
</Rest>
</Measure>
<Measure number="3"> <Measure number="3">
<Rest> <Rest>
<lid>11</lid> <lid>11</lid>
@ -504,13 +498,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="2" len="12/4">
<multiMeasureRest>3</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>12/4</duration>
</Rest>
</Measure>
<Measure number="3"> <Measure number="3">
<Rest> <Rest>
<lid>11</lid> <lid>11</lid>
@ -533,7 +520,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -585,7 +572,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -705,13 +692,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="2" len="12/4">
<multiMeasureRest>3</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>12/4</duration>
</Rest>
</Measure>
<Measure number="3"> <Measure number="3">
<Rest> <Rest>
<lid>27</lid> <lid>27</lid>
@ -778,13 +758,6 @@
<duration>4/4</duration> <duration>4/4</duration>
</Rest> </Rest>
</Measure> </Measure>
<Measure number="2" len="12/4">
<multiMeasureRest>3</multiMeasureRest>
<Rest>
<durationType>measure</durationType>
<duration>12/4</duration>
</Rest>
</Measure>
<Measure number="3"> <Measure number="3">
<Rest> <Rest>
<lid>27</lid> <lid>27</lid>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -172,7 +173,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -225,7 +226,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -41,7 +42,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -170,7 +171,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -222,7 +223,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -188,7 +189,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -241,7 +242,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -23,5 +23,316 @@
<metaTag name="translator"></metaTag> <metaTag name="translator"></metaTag>
<metaTag name="workNumber"></metaTag> <metaTag name="workNumber"></metaTag>
<metaTag name="workTitle"></metaTag> <metaTag name="workTitle"></metaTag>
<Part>
<Staff id="1">
<StaffType group="pitched">
</StaffType>
</Staff>
<trackName>E-Gt</trackName>
<Instrument>
<longName>Electric Guitar</longName>
<shortName>El. Guit.</shortName>
<trackName>Electric Guitar (Treble Clef)</trackName>
<minPitchP>40</minPitchP>
<maxPitchP>88</maxPitchP>
<minPitchA>40</minPitchA>
<maxPitchA>86</maxPitchA>
<transposeDiatonic>-7</transposeDiatonic>
<transposeChromatic>-12</transposeChromatic>
<instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef>
<StringData>
<frets>24</frets>
<string>52</string>
<string>57</string>
<string>62</string>
<string>67</string>
<string>71</string>
<string>76</string>
</StringData>
<Articulation>
<velocity>100</velocity>
<gateTime>100</gateTime>
</Articulation>
<Articulation name="staccatissimo">
<velocity>100</velocity>
<gateTime>33</gateTime>
</Articulation>
<Articulation name="staccato">
<velocity>100</velocity>
<gateTime>50</gateTime>
</Articulation>
<Articulation name="portato">
<velocity>100</velocity>
<gateTime>67</gateTime>
</Articulation>
<Articulation name="tenuto">
<velocity>100</velocity>
<gateTime>100</gateTime>
</Articulation>
<Articulation name="marcato">
<velocity>120</velocity>
<gateTime>67</gateTime>
</Articulation>
<Articulation name="sforzato">
<velocity>120</velocity>
<gateTime>100</gateTime>
</Articulation>
<Channel>
<program value="27"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<lid>0</lid>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
<lid>1</lid>
</Clef>
<KeySig>
<lid>2</lid>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<lid>3</lid>
<sigN>4</sigN>
<sigD>4</sigD>
</TimeSig>
<Tempo>
<tempo>2</tempo>
<lid>4</lid>
<text><sym>metNoteQuarterUp</sym> = 120</text>
</Tempo>
<Rest>
<lid>5</lid>
<durationType>measure</durationType>
<duration>4/4</duration>
</Rest>
</Measure>
<Measure number="2">
<Dynamic>
<subtype>mf</subtype>
<velocity>80</velocity>
<lid>7</lid>
</Dynamic>
<Chord>
<lid>8</lid>
<durationType>whole</durationType>
<Note>
<lid>9</lid>
<pitch>60</pitch>
<tpc>14</tpc>
<fret>15</fret>
<string>4</string>
</Note>
</Chord>
</Measure>
<Measure number="3">
<Rest>
<lid>11</lid>
<durationType>measure</durationType>
<duration>4/4</duration>
</Rest>
</Measure>
</Staff>
<Score>
<LayerTag id="0" tag="default"></LayerTag>
<currentLayer>0</currentLayer>
<Division>480</Division>
<Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium>
</Style>
<showInvisible>1</showInvisible>
<showUnprintable>1</showUnprintable>
<showFrames>1</showFrames>
<showMargins>0</showMargins>
<Part>
<Staff id="1">
<linkedTo>1</linkedTo>
<StaffType group="pitched">
</StaffType>
<bracket type="0" span="2" col="0"/>
</Staff>
<Staff id="2">
<linkedTo>1</linkedTo>
<StaffType group="tablature">
<name>tab6StrCommon</name>
<lines>6</lines>
<lineDistance>1.5</lineDistance>
<timesig>0</timesig>
<durations>0</durations>
<durationFontName>MuseScore Tab Modern</durationFontName>
<durationFontSize>15</durationFontSize>
<durationFontY>0</durationFontY>
<fretFontName>MuseScore Tab Serif</fretFontName>
<fretFontSize>9</fretFontSize>
<fretFontY>0</fretFontY>
<linesThrough>0</linesThrough>
<minimStyle>1</minimStyle>
<onLines>1</onLines>
<showRests>0</showRests>
<stemsDown>1</stemsDown>
<stemsThrough>0</stemsThrough>
<upsideDown>0</upsideDown>
<useNumbers>1</useNumbers>
</StaffType>
</Staff>
<trackName></trackName>
<Instrument>
<longName>Electric Guitar</longName>
<shortName>El. Guit.</shortName>
<trackName>Electric Guitar (Treble Clef)</trackName>
<minPitchP>40</minPitchP>
<maxPitchP>88</maxPitchP>
<minPitchA>40</minPitchA>
<maxPitchA>86</maxPitchA>
<transposeDiatonic>-7</transposeDiatonic>
<transposeChromatic>-12</transposeChromatic>
<instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef>
<StringData>
<frets>24</frets>
<string>52</string>
<string>57</string>
<string>62</string>
<string>67</string>
<string>71</string>
<string>76</string>
</StringData>
<Articulation>
<velocity>100</velocity>
<gateTime>100</gateTime>
</Articulation>
<Articulation name="staccatissimo">
<velocity>100</velocity>
<gateTime>33</gateTime>
</Articulation>
<Articulation name="staccato">
<velocity>100</velocity>
<gateTime>50</gateTime>
</Articulation>
<Articulation name="portato">
<velocity>100</velocity>
<gateTime>67</gateTime>
</Articulation>
<Articulation name="tenuto">
<velocity>100</velocity>
<gateTime>100</gateTime>
</Articulation>
<Articulation name="marcato">
<velocity>120</velocity>
<gateTime>67</gateTime>
</Articulation>
<Articulation name="sforzato">
<velocity>120</velocity>
<gateTime>100</gateTime>
</Articulation>
<Channel>
<program value="27"/>
</Channel>
</Instrument>
</Part>
<Staff id="1">
<VBox>
<height>10</height>
<lid>0</lid>
<Text>
<style>Instrument Name (Part)</style>
<text>Electric Guitar</text>
</Text>
</VBox>
<Measure number="1">
<Clef>
<concertClefType>G</concertClefType>
<transposingClefType>G</transposingClefType>
<lid>1</lid>
</Clef>
<KeySig>
<lid>2</lid>
<accidental>0</accidental>
</KeySig>
<TimeSig>
<lid>3</lid>
<sigN>4</sigN>
<sigD>4</sigD>
</TimeSig>
<Tempo>
<tempo>2</tempo>
<lid>4</lid>
<text><sym>metNoteQuarterUp</sym> = 120</text>
</Tempo>
<Rest>
<lid>5</lid>
<durationType>measure</durationType>
<duration>4/4</duration>
</Rest>
</Measure>
<Measure number="2">
<Dynamic>
<subtype>mf</subtype>
<velocity>80</velocity>
<lid>7</lid>
</Dynamic>
<Chord>
<lid>8</lid>
<durationType>whole</durationType>
<Note>
<lid>9</lid>
<pitch>60</pitch>
<tpc>14</tpc>
<fret>15</fret>
<string>4</string>
</Note>
</Chord>
</Measure>
<Measure number="3">
<Rest>
<lid>11</lid>
<durationType>measure</durationType>
<duration>4/4</duration>
</Rest>
</Measure>
</Staff>
<Staff id="2">
<Measure number="1">
<KeySig>
<lid>2</lid>
<accidental>0</accidental>
</KeySig>
<Rest>
<lid>5</lid>
<durationType>measure</durationType>
<duration>4/4</duration>
</Rest>
</Measure>
<Measure number="2">
<Chord>
<lid>8</lid>
<durationType>whole</durationType>
<Note>
<lid>9</lid>
<pitch>60</pitch>
<tpc>14</tpc>
<fret>15</fret>
<string>4</string>
</Note>
</Chord>
</Measure>
<Measure number="3">
<Rest>
<lid>11</lid>
<durationType>measure</durationType>
<duration>4/4</duration>
</Rest>
</Measure>
</Staff>
<name>E-Gt</name>
</Score>
</Score> </Score>
</museScore> </museScore>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -172,7 +173,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -225,7 +226,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -41,7 +42,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -167,7 +168,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -219,7 +220,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -176,7 +177,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -229,7 +230,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -41,7 +42,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -173,7 +174,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -225,7 +226,7 @@
<instrumentId>pluck.guitar.electric</instrumentId> <instrumentId>pluck.guitar.electric</instrumentId>
<clef>G8vb</clef> <clef>G8vb</clef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -89,26 +89,26 @@ private slots:
void gp4ShiftSlide() { gpReadTest("shift-slide", "gp4"); } void gp4ShiftSlide() { gpReadTest("shift-slide", "gp4"); }
// void gp5ShiftSlide() { gpReadTest("shift-slide", "gp5"); } // void gp5ShiftSlide() { gpReadTest("shift-slide", "gp5"); }
// void gpxShiftSlide() { gpReadTest("shift-slide", "gpx"); } // void gpxShiftSlide() { gpReadTest("shift-slide", "gpx"); }
// void gpDoubleBar() { gpReadTest("double-bar", "gpx"); } void gpDoubleBar() { gpReadTest("double-bar", "gpx"); }
// void gpxTrill() { gpReadTest("trill", "gpx"); } void gpxTrill() { gpReadTest("trill", "gpx"); }
// void gpxCrecDim() { gpReadTest("crescendo-diminuendo", "gpx"); } void gpxCrecDim() { gpReadTest("crescendo-diminuendo", "gpx"); }
// void gpxTremolos() { gpReadTest("tremolos", "gpx"); } void gpxTremolos() { gpReadTest("tremolos", "gpx"); }
// void gpxDeadNote() { gpReadTest("dead-note", "gpx"); } void gpxDeadNote() { gpReadTest("dead-note", "gpx"); }
// void gpxWah() { gpReadTest("wah", "gpx"); } void gpxWah() { gpReadTest("wah", "gpx"); }
// void gpxSforzato() { gpReadTest("accent", "gpx"); } void gpxSforzato() { gpReadTest("accent", "gpx"); }
// void gpxTurn() { gpReadTest("turn", "gpx"); } void gpxArpeggio() { gpReadTest("arpeggio", "gpx"); }
// void gpxMordents() { gpReadTest("mordents", "gpx"); } void gpxTurn() { gpReadTest("turn", "gpx"); }
// void gpxPickUpDown() { gpReadTest("pick-up-down", "gpx"); } void gpxMordents() { gpReadTest("mordents", "gpx"); }
void gpxPickUpDown() { gpReadTest("pick-up-down", "gpx"); }
void gp5PickUpDown() { gpReadTest("pick-up-down", "gp5"); } void gp5PickUpDown() { gpReadTest("pick-up-down", "gp5"); }
void gp4PickUpDown() { gpReadTest("pick-up-down", "gp4"); } void gp4PickUpDown() { gpReadTest("pick-up-down", "gp4"); }
// void gpxFingering() { gpReadTest("fingering", "gpx"); } void gpxFingering() { gpReadTest("fingering", "gpx"); }
void gp5Fingering() { gpReadTest("fingering", "gp5"); } void gp5Fingering() { gpReadTest("fingering", "gp5"); }
void gp4Fingering() { gpReadTest("fingering", "gp4"); } void gp4Fingering() { gpReadTest("fingering", "gp4"); }
// void gpxArpeggio() { gpReadTest("arpeggio", "gpx"); } void gpxBrush() { gpReadTest("brush", "gpx"); }
// void gpxBrush() { gpReadTest("brush", "gpx"); }
void gp5Brush() { gpReadTest("brush", "gp5"); } void gp5Brush() { gpReadTest("brush", "gp5"); }
void gp4Brush() { gpReadTest("brush", "gp4"); } void gp4Brush() { gpReadTest("brush", "gp4"); }
// void gpxRepeats() { gpReadTest("repeats", "gpx"); } void gpxRepeats() { gpReadTest("repeats", "gpx"); }
// void gpxVolta() { gpReadTest("volta", "gpx"); } // void gpxVolta() { gpReadTest("volta", "gpx"); }
// //void gpxGraceBefore() { gpReadTest("grace-before-beat", "gpx"); } // //void gpxGraceBefore() { gpReadTest("grace-before-beat", "gpx"); }
// //void gpxGraceOn() { gpReadTest("grace-on-beat", "gpx"); } // //void gpxGraceOn() { gpReadTest("grace-on-beat", "gpx"); }
@ -118,12 +118,12 @@ private slots:
// void gpxLetRing() { gpReadTest("let-ring", "gpx"); } // void gpxLetRing() { gpReadTest("let-ring", "gpx"); }
// void gp5LetRing() { gpReadTest("let-ring", "gp5"); } // void gp5LetRing() { gpReadTest("let-ring", "gp5"); }
// void gp4LetRing() { gpReadTest("let-ring", "gp4"); } // void gp4LetRing() { gpReadTest("let-ring", "gp4"); }
// void gpxTapSlapPop() { gpReadTest("tap-slap-pop", "gpx"); } void gpxTapSlapPop() { gpReadTest("tap-slap-pop", "gpx"); }
void gp5TapSlapPop() { gpReadTest("tap-slap-pop", "gp5"); } void gp5TapSlapPop() { gpReadTest("tap-slap-pop", "gp5"); }
// void gpxBarre() { gpReadTest("barre", "gpx"); } // void gpxBarre() { gpReadTest("barre", "gpx"); }
// void gpxTimer() { gpReadTest("timer", "gpx"); } // void gpxTimer() { gpReadTest("timer", "gpx"); }
// void gpxText() { gpReadTest("text", "gpx"); } void gpxText() { gpReadTest("text", "gpx"); }
// void gpxArtHarmonic() { gpReadTest("artificial-harmonic", "gpx"); } void gpxArtHarmonic() { gpReadTest("artificial-harmonic", "gpx"); }
// void gpxGhost() { gpReadTest("ghost-note", "gpx"); } // void gpxGhost() { gpReadTest("ghost-note", "gpx"); }
// void gpxRasg() { gpReadTest("rasg", "gpx"); } // void gpxRasg() { gpReadTest("rasg", "gpx"); }
// void gp5Percussion() { gpReadTest("all-percussion", "gp5"); } // void gp5Percussion() { gpReadTest("all-percussion", "gp5"); }
@ -135,21 +135,21 @@ private slots:
// void gpxSlurSH() { gpReadTest("slur_slur_hammer", "gpx"); } // void gpxSlurSH() { gpReadTest("slur_slur_hammer", "gpx"); }
// void gpxSlurV() { gpReadTest("slur_voices", "gpx"); } // void gpxSlurV() { gpReadTest("slur_voices", "gpx"); }
// void gpxVibrato() { gpReadTest("vibrato", "gpx"); } // void gpxVibrato() { gpReadTest("vibrato", "gpx"); }
// void gpxVolumeSwell() { gpReadTest("volume-swell", "gpx"); } void gpxVolumeSwell() { gpReadTest("volume-swell", "gpx"); }
//// void gpxTremoloBar() { gpReadTest("tremolo-bar", "gpx"); } //// void gpxTremoloBar() { gpReadTest("tremolo-bar", "gpx"); }
// void gpxCopyright() { gpReadTest("copyright", "gpx"); } void gpxCopyright() { gpReadTest("copyright", "gpx"); }
// void gpxFreeTime() { gpReadTest("free-time", "gpx"); } void gpxFreeTime() { gpReadTest("free-time", "gpx"); }
// void gpxRepeatBar() { gpReadTest("repeated-bars", "gpx"); } void gpxRepeatBar() { gpReadTest("repeated-bars", "gpx"); }
// void gp3DottedGliss() { gpReadTest("dotted-gliss", "gp3"); } // void gp3DottedGliss() { gpReadTest("dotted-gliss", "gp3"); }
// void highPitch() { gpReadTest("high-pitch", "gp3"); } void highPitch() { gpReadTest("high-pitch", "gp3"); }
// void gpxMultiVoices() { gpReadTest("multivoices", "gpx"); } void gpxMultiVoices() { gpReadTest("multivoices", "gpx"); }
// void gpxOttava1() { gpReadTest("ottava1", "gpx"); } void gpxOttava1() { gpReadTest("ottava1", "gpx"); }
// void gpxOttava2() { gpReadTest("ottava2", "gpx"); } void gpxOttava2() { gpReadTest("ottava2", "gpx"); }
// void gpxOttava3() { gpReadTest("ottava3", "gpx"); } void gpxOttava3() { gpReadTest("ottava3", "gpx"); }
// void gpxOttava4() { gpReadTest("ottava4", "gpx"); } void gpxOttava4() { gpReadTest("ottava4", "gpx"); }
// void gpxOttava5() { gpReadTest("ottava5", "gpx"); } void gpxOttava5() { gpReadTest("ottava5", "gpx"); }
// void gpxChornamesKeyboard() { gpReadTest("chordnames_keyboard", "gpx"); } // void gpxChornamesKeyboard() { gpReadTest("chordnames_keyboard", "gpx"); }
// void gpxClefs() { gpReadTest("clefs", "gpx"); } void gpxClefs() { gpReadTest("clefs", "gpx"); }
}; };

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -172,7 +173,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -225,7 +226,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -169,7 +170,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -222,7 +223,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>

View file

@ -5,6 +5,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -42,7 +43,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>
@ -172,7 +173,7 @@
<currentLayer>0</currentLayer> <currentLayer>0</currentLayer>
<Division>480</Division> <Division>480</Division>
<Style> <Style>
<createMultiMeasureRests>1</createMultiMeasureRests> <ArpeggioHiddenInStdIfTab>1</ArpeggioHiddenInStdIfTab>
<Spatium>1.76389</Spatium> <Spatium>1.76389</Spatium>
</Style> </Style>
<showInvisible>1</showInvisible> <showInvisible>1</showInvisible>
@ -225,7 +226,7 @@
<concertClef>G8vb</concertClef> <concertClef>G8vb</concertClef>
<transposingClef>G</transposingClef> <transposingClef>G</transposingClef>
<StringData> <StringData>
<frets>21</frets> <frets>24</frets>
<string>52</string> <string>52</string>
<string>57</string> <string>57</string>
<string>62</string> <string>62</string>