using System; using System.Collections.Generic; using CueSplitter.Models; namespace CueSplitter.Helpers { internal class CueHelper { public static TrackModel[] ParseCue(string cueText, TimeSpan totalDuration) { var cue = new CueSharp_N.CueSheet(cueText, (char[])null); var convertedTracks = new List(cue.Tracks.Length); TrackModel lastTrk = null; foreach (var track in cue.Tracks) { if (lastTrk != null) { lastTrk.Duration = track.Offset - lastTrk.Offset; } var model = new TrackModel { TrackNo = track.TrackNumber, Offset = track.Offset, Performer = track.Performer, Title = track.Title, }; lastTrk = model; convertedTracks.Add(model); } if (lastTrk != null) { lastTrk.Duration = totalDuration - lastTrk.Offset; } return convertedTracks.ToArray(); } } }