internal static LUint GetTimesPlayed(string songLine) { string timesPlayed = string.Empty; for (int i = 0; i < songLine.Length; i++) { if (songLine[i] != '»') { timesPlayed += songLine[i]; } else { break; } } return(LUint.Parse(timesPlayed)); }
internal static OfflineSong?DeserializeString(string formatted) { if (formatted is null) { return(null); } string title = "", path = "", duration = ""; LUint timesPlayed = 0; sbyte symbolMet = 0; string buffer = ""; for (int i = 0; i < formatted.Length; i++) { if (formatted[i] == '»') { switch (symbolMet++) { case 0: timesPlayed = LUint.Parse(buffer); buffer = ""; break; case 1: title = buffer; buffer = ""; break; case 2: path = buffer; buffer = ""; break; case 3: duration = buffer; buffer = ""; break; } } else { buffer += formatted[i]; } } //buffer is url return(new OfflineSong(path, title, duration, buffer, timesPlayed)); }