public override Score ReadScore()
{
ReadVersion();
_score = new Score();
// basic song info
ReadScoreInformation();
// triplet feel before Gp5
if (_versionNumber < 500)
{
_globalTripletFeel = ReadBool() ? TripletFeel.Triplet8th : TripletFeel.NoTripletFeel;
}
// beat lyrics
if (_versionNumber >= 400)
{
ReadLyrics();
}
// rse master settings since GP5.1
if (_versionNumber >= 510)
{
// master volume (4)
// master effect (4)
// master equalizer (10)
// master equalizer preset (1)
Data.Skip(19);
}
// page setup since GP5
if (_versionNumber >= 500)
{
ReadPageSetup();
_score.TempoLabel = ReadStringIntByte();
}
// tempo stuff
_score.Tempo = ReadInt32();
if (_versionNumber >= 510)
{
ReadBool(); // hide tempo?
}
// keysignature and octave
/* var keySignature = */
ReadInt32();
if (_versionNumber >= 400)
{
/* octave = */
Data.ReadByte();
}
ReadPlaybackInfos();
// repetition stuff
if (_versionNumber >= 500)
{
// "Coda" bar index (2)
// "Double Coda" bar index (2)
// "Segno" bar index (2)
// "Segno Segno" bar index (2)
// "Fine" bar index (2)
// "Da Capo" bar index (2)
// "Da Capo al Coda" bar index (2)
// "Da Capo al Double Coda" bar index (2)
// "Da Capo al Fine" bar index (2)
// "Da Segno" bar index (2)
// "Da Segno al Coda" bar index (2)
// "Da Segno al Double Coda" bar index (2)
// "Da Segno al Fine "bar index (2)
// "Da Segno Segno" bar index (2)
// "Da Segno Segno al Coda" bar index (2)
// "Da Segno Segno al Double Coda" bar index (2)
// "Da Segno Segno al Fine" bar index (2)
// "Da Coda" bar index (2)
// "Da Double Coda" bar index (2)
Data.Skip(38);
// unknown (4)
Data.Skip(4);
}
// contents
_barCount = ReadInt32();
_trackCount = ReadInt32();
ReadMasterBars();
ReadTracks();
ReadBars();
_score.Finish();
return _score;
}