public void read(EndianBinaryReader r)
{
NoteMask = r.ReadUInt32();
NoteFlags = r.ReadUInt32();
Hash = r.ReadUInt32();
Time = r.ReadSingle();
StringIndex = r.ReadByte();
FretId = r.ReadByte();
AnchorFretId = r.ReadByte();
AnchorWidth = r.ReadByte();
ChordId = r.ReadInt32();
ChordNotesId = r.ReadInt32();
PhraseId = r.ReadInt32();
PhraseIterationId = r.ReadInt32();
FingerPrintId = new Int16[2]; for (int i = 0; i < 2; i++)
{
FingerPrintId[i] = r.ReadInt16();
}
NextIterNote = r.ReadInt16();
PrevIterNote = r.ReadInt16();
ParentPrevNote = r.ReadInt16();
SlideTo = r.ReadByte();
SlideUnpitchTo = r.ReadByte();
LeftHand = r.ReadByte();
Tap = r.ReadByte();
PickDirection = r.ReadByte();
Slap = r.ReadByte();
Pluck = r.ReadByte();
Vibrato = r.ReadInt16();
Sustain = r.ReadSingle();
MaxBend = r.ReadSingle();
BendData = new BendDataSection(); BendData.read(r);
}