public PointF[] ParseEnvelope2(int i) { if (i > 6) { return(null); } string keyValue = INI.GetChars(dsStr.SecKeys[i]); if (keyValue == null) { Debug.Print("Error loading {0} {1}", dsStr.SecKeys[i].A, dsStr.SecKeys[i].B); if (i == 6) { return new PointF[] { new PointF(0, 100), new PointF(100, 0) } } ; return(new PointF[] { new PointF(0, 100), new PointF(442000, 100), new PointF(442000, 0) }); } var points = new List <PointF>(); var keyValues = keyValue.Split(' '); for (int n = 0; n < keyValues.Length && n < DrumSynthFloat.ENV_MAX_COUNT; n++) { var vn = keyValues[n].Split(','); var p = new FloatPoint(float.Parse(vn[0]), float.Parse(vn[1])); points.Add(p); } return(points.ToArray()); }