public BpmInterpreter(string[] string0) { for (var i = 0; i < string0.Length; i++) { var text = string0[i]; var array = text.Split(new[] { ' ', '\t', '=' }, StringSplitOptions.RemoveEmptyEntries); var num = ChartParser.GetNoteFromResolution(array[0]); var num2 = Convert.ToInt32(array[2]); string a; if ((a = array[1]) != null) { if (!(a == "TS")) { if (a == "B" && (BpmList.Count == 0 || BpmList[num] != num2)) { BpmList.Add(num, num2); } } else if (TsList.Count == 0 || TsList[num] != num2) { TsList.Add(num, num2); } } } if (!TsList.ContainsKey(0)) { TsList.Add(0, 4); } }
public InstrumentType(string[] string0) : this() { if (string0.Length != 0) { for (var i = 0; i < string0.Length; i++) { var text = string0[i]; var array = text.Split(new[] { ' ', '\t', '=', '"', 'E' }, StringSplitOptions.RemoveEmptyEntries); method_5(ChartParser.GetNoteFromResolution(array[0]), array[1]); } } }
public SectionInterpreter(string[] string0) { for (var i = 0; i < string0.Length; i++) { var text = string0[i]; var array = text.Split(new[] { '=', '"' }, 3, StringSplitOptions.RemoveEmptyEntries); if (array.Length == 3 && !(array[1].Trim() != "E")) { array[2] = array[2].TrimEnd(' ', '\t'); if (array[2].EndsWith("\"")) { array[2] = array[2].Substring(0, array[2].Length - 1); } var num = ChartParser.GetNoteFromResolution(array[0].Trim()); if (array[2].StartsWith("section ")) { SectionList.Add(num, CultureInfo.CurrentCulture.TextInfo.ToTitleCase(array[2] .Substring("section ".Length) .Replace('_', ' '))); } else if (OtherList.ContainsKey(num)) { OtherList[num].Add(array[2]); } else { OtherList.Add(num, new List <string>()); OtherList[num].Add(array[2]); } } } }
public NoteEventInterpreter(string[] stringImported, int constant480) { if (!(AlwaysTrue = (stringImported.Length == 0))) //If string is empty { //Cycles through the string array imported (All notes/SP) for (var i = 0; i < stringImported.Length; i++) { var currentString = stringImported[i]; /* * Indexes: * 0=Offset * 1=Event Type * 2=Note Value * 3=Sustain Length */ var notesEventsArray = currentString.Split(new[] { ' ', '\t', '=' }, StringSplitOptions.RemoveEmptyEntries); var offset = ChartParser.GetNoteFromResolution(notesEventsArray[0]); string eventType; if ((eventType = notesEventsArray[1]) != null) { if (!(eventType == "N")) { if (!(eventType == "S")) { if (eventType == "E") { //Interprets Events if (EventList.ContainsKey(offset)) { _currentEventLine = notesEventsArray[2]; for (var j = 3; j < notesEventsArray.Length; j++) { _currentEventLine = _currentEventLine + " " + notesEventsArray[j]; } EventList[offset].Add(_currentEventLine); } else { _currentEventLine = notesEventsArray[2]; for (var k = 3; k < notesEventsArray.Length; k++) { _currentEventLine = _currentEventLine + " " + notesEventsArray[k]; } EventList.Add(offset, new List <string>()); EventList[offset].Add(_currentEventLine); } } } //Interprets Starpower else { switch (Convert.ToInt32(notesEventsArray[2])) { case 0: if (!Class2282.ContainsKey(offset)) { Class2282.Add(offset, ChartParser.GetNoteFromResolution(notesEventsArray[3])); } break; case 1: if (!Class2283.ContainsKey(offset)) { Class2283.Add(offset, ChartParser.GetNoteFromResolution(notesEventsArray[3])); } break; case 2: if (!Class2281.ContainsKey(offset)) { Class2281.Add(offset, ChartParser.GetNoteFromResolution(notesEventsArray[3])); } break; case 3: if (!Class2284.ContainsKey(offset)) { Class2284.Add(offset, ChartParser.GetNoteFromResolution(notesEventsArray[3])); } break; case 4: if (!Class2285.ContainsKey(offset)) { Class2285.Add(offset, ChartParser.GetNoteFromResolution(notesEventsArray[3])); } break; case 5: if (!Class2286.ContainsKey(offset)) { Class2286.Add(offset, ChartParser.GetNoteFromResolution(notesEventsArray[3])); } break; } } } //Interprets Notes /* * Indexes: * 0=Offset * 1=Event Type * 2=Note Value * 3=Sustain Length */ else { var notes = new bool[32]; var sustainLength = ChartParser.GetNoteFromResolution(notesEventsArray[3]); if (sustainLength <= constant480 / 4) { sustainLength = 0; } if (!NoteList.ContainsKey(offset)) { NoteList.Add(offset, new NotesAtOffset(notes, sustainLength)); } else { var currentSustainLength = NoteList[offset].SustainLength; //Updates sustain length if (currentSustainLength < sustainLength) { NoteList[offset].SustainLength = sustainLength; } } var note = Convert.ToInt32(notesEventsArray[2]); NoteList[offset].NoteValues[note] = true; } } } } }