12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- 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<TrackModel>(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();
- }
- }
- }
|