private void ParseTimeline(XmlReader r, PointF scale, TimestampMapper timeMapper) { trackTimeline.Clear(); bool isEmpty = r.IsEmptyElement; r.ReadStartElement(); while (r.NodeType == XmlNodeType.Element) { switch (r.Name) { case "Frame": TrackFrame frame = new TrackFrame(r, scale, timeMapper); trackTimeline.Insert(frame.Time, frame); break; default: string unparsed = r.ReadOuterXml(); break; } } if (!isEmpty) { r.ReadEndElement(); } }