LibraryModels2.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System.Collections.Concurrent;
  2. namespace FNZCM.ConHost.Ver2
  3. {
  4. internal class Library2
  5. {
  6. public Library2(string name) => Name = name;
  7. public string Name { get; }
  8. public ConcurrentDictionary<string, Disc> Discs { get; } = new();
  9. }
  10. internal class Disc
  11. {
  12. public string Name { get; }
  13. public Disc(string name) => Name = name;
  14. public ConcurrentDictionary<string, string> Bks { get; } = new();
  15. public ConcurrentDictionary<string, string> MainTracks { get; } = new();
  16. public ConcurrentDictionary<string, TrackSet> SubTracks { get; } = new();
  17. }
  18. internal class TrackSet
  19. {
  20. public string Name { get; }
  21. public TrackSet(string name) => Name = name;
  22. public ConcurrentDictionary<string, string> Tracks { get; } = new();
  23. }
  24. internal class MediaTag2
  25. {
  26. public MediaTag2(string title, int duration, long length)
  27. {
  28. Title = title;
  29. Duration = duration;
  30. Length = length;
  31. }
  32. public string Title { get; }
  33. public int Duration { get; }
  34. public long Length { get; }
  35. }
  36. }