Esempio n. 1
0
        IList<Package> Split(Package p)
        {
            var partTracks = p.Tracks
                .Partition(track => new FileInfo(track.PenAudioFile).Length, MaxGmeSize)
                .ToList();

            return partTracks.Select((tracks, partIndex) =>
            {
                var title = String.Format("{0} - Part {1} of {2}", p.Title, partIndex, partTracks.Count);
                return new Package(new ProductIdProvider())
                {
                    Tracks = tracks.ToArray(),
                    Title = title,
                    FileName = PathUtil.GetValidFileName(title)
                };
            }).ToList();
        }
 public PackageDirectoryStructure(string rootDirectory, Package package)
 {
     this.rootDirectory = rootDirectory;
     this.package = package;
 }
Esempio n. 3
0
        public static Package CreateFromInputPaths(IEnumerable<string> inputPaths)
        {
            var albumReader = new AlbumReader();

            var audioFiles = albumReader.GetAudioFiles(inputPaths);

            var package = new Package(new ProductIdProvider())
            {
                Tracks = albumReader.GetTracks(audioFiles)
            };

            var artists = package.Tracks.SelectMany(track => track.Artists).Distinct();
            package.Title = String.Join(", ", artists);

            return package;
        }
Esempio n. 4
0
 public Document()
 {
     package = new Package(new ProductIdProvider());
 }