private void ReadFile(Stream stream)
{
var io = new StreamReader(stream);
Notes = new List<FSCNote>();
VersionCode = io.ReadLine();
var line = io.ReadLine();
while (line.StartsWith("#"))
line = io.ReadLine();
//Header
string[] Head = line.Split('\t');
MasterVolume = Convert.ToUInt16(Head[1]);
Priority = Convert.ToUInt16(Head[2]);
Min = Convert.ToUInt16(Head[3]);
Max = Convert.ToUInt16(Head[4]);
Rows = Convert.ToUInt16(Head[5]);
Columns = Convert.ToUInt16(Head[6]);
Tempo = Convert.ToUInt16(Head[7]);
BPB = Convert.ToUInt16(Head[8]);
SelX = Convert.ToUInt16(Head[9]);
SelY = Convert.ToUInt16(Head[10]);
QuanX = Convert.ToUInt16(Head[11]);
QuanY = Convert.ToUInt16(Head[12]);
DiffX = Convert.ToUInt16(Head[13]);
DiffY = Convert.ToUInt16(Head[14]);
line = io.ReadLine();
while (line.StartsWith("#") || line.StartsWith("cells"))
line = io.ReadLine();
while (!io.EndOfStream) //read notes
{
string line2 = io.ReadLine();
string[] Values = line2.Split('\t');
if (!line.StartsWith("#") && Values.Length == 20)
{
Notes.Add(new FSCNote()
{
Volume = Convert.ToUInt16(Values[1]),
Rand = Values[2] != "0",
LRPan = Convert.ToUInt16(Values[3]),
FBPan = Convert.ToUInt16(Values[4]),
Rand2 = Values[5] != "0",
Fin = Convert.ToUInt16(Values[6]),
FOut = Convert.ToUInt16(Values[7]),
dly = Convert.ToUInt16(Values[8]),
Rand3 = Values[9] != "0",
Loop = Convert.ToUInt16(Values[10]),
Loop2 = Values[11] != "0",
Quant = Convert.ToUInt16(Values[12]),
Prob = Convert.ToUInt16(Values[13]),
pitchL = Convert.ToInt16(Values[14]),
pitchR = Convert.ToInt16(Values[15]),
Fast = Values[16] != "0",
GroupID = Convert.ToUInt16(Values[17]),
Stereo = Values[18] != "0",
Filename = Values[19]
});
}
}
io.Close();
}