Example #1
0
        public void FindTotalDiscsShouldBeTen()
        {
            var three = new List <AudioMetaData>
            {
                new AudioMetaData
                {
                    Filename = @"C:\roadiedevroot\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 01\01 - Depth Charge.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"C:\roadiedevroot\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 02\02 - Not A Depth Charge.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"C:\roadiedevroot\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 04\01 - First.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"C:\roadiedevroot\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 06\02 - Second.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"C:\roadiedevroot\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 10\01 - Depth Charge.mp3"
                }
            };
            var n = ID3TagsHelper.DetermineTotalDiscNumbers(three);

            Assert.Equal(10, n);
        }
Example #2
0
        public void Find_Total_Discs_Should_Be_One()
        {
            var three = new List <AudioMetaData>
            {
                new AudioMetaData
                {
                    Filename = @"C:\roadie_dev_root\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\01 - Depth Charge.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"C:\roadie_dev_root\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\02 - Not A Depth Charge.mp3"
                }
            };
            var n = ID3TagsHelper.DetermineTotalDiscNumbers(three);

            Assert.Equal(1, n);

            three = new List <AudioMetaData>
            {
                new AudioMetaData
                {
                    Filename = @"C:\roadie_dev_root\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD1\01 - Depth Charge.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"C:\roadie_dev_root\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD1\02 - Not A Depth Charge.mp3"
                }
            };
            n = ID3TagsHelper.DetermineTotalDiscNumbers(three);
            Assert.Equal(1, n);
        }
Example #3
0
        public void Find_Total_Discs_Should_Be_Two()
        {
            var three = new List <AudioMetaData>
            {
                new AudioMetaData
                {
                    Filename = @"N:\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 01\01 - Depth Charge.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"N:\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 01\02 - Not A Depth Charge.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"N:\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 01\01 - First.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"N:\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 02\02 - Second.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"N:\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 01\01 - Depth Charge.mp3"
                }
            };
            var n = ID3TagsHelper.DetermineTotalDiscNumbers(three);

            Assert.Equal(2, n);

            three = new List <AudioMetaData>
            {
                new AudioMetaData
                {
                    Filename = @"N:\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD0\01 - Depth Charge.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"N:\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD2\02 - Not A Depth Charge.mp3"
                }
            };
            n = ID3TagsHelper.DetermineTotalDiscNumbers(three);
            Assert.Equal(2, n);

            three = new List <AudioMetaData>
            {
                new AudioMetaData
                {
                    Filename = @"N:\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 1\01 - Depth Charge.mp3"
                },
                new AudioMetaData
                {
                    Filename = @"N:\Devin Townsend (1996 - 2016)\The Devin Townsend Band (2003 - 2006)\2003 - Accelerated Evolution\CD 2\02 - Not A Depth Charge.mp3"
                }
            };
            n = ID3TagsHelper.DetermineTotalDiscNumbers(three);
            Assert.Equal(2, n);
        }
Example #4
0
        public override OperationResult <AudioMetaData> Process(AudioMetaData metaData)
        {
            var result = new OperationResult <AudioMetaData>();
            var metaDatasForFilesInFolder = GetAudioMetaDatasForDirectory(metaData.FileInfo.Directory);

            metaData.TrackNumber       = (metaData.TrackNumber ?? 0) > 0 ? metaData.TrackNumber : ID3TagsHelper.DetermineTrackNumber(metaData.FileInfo.Name);
            metaData.TotalTrackNumbers = ID3TagsHelper.DetermineTotalTrackNumbers(metaData.Filename) ?? metaDatasForFilesInFolder.Count();
            metaData.Disc           = ID3TagsHelper.DetermineDiscNumber(metaData);
            metaData.TotalDiscCount = ID3TagsHelper.DetermineTotalDiscNumbers(metaDatasForFilesInFolder);
            result.Data             = metaData;
            result.IsSuccess        = true;
            return(result);
        }
Example #5
0
        public override OperationResult <IEnumerable <AudioMetaData> > Process(IEnumerable <AudioMetaData> metaDatas)
        {
            var result             = new OperationResult <IEnumerable <AudioMetaData> >();
            var totalNumberOfMedia = ID3TagsHelper.DetermineTotalDiscNumbers(metaDatas);
            var folders            = metaDatas.GroupBy(x => x.FileInfo.DirectoryName);

            foreach (var folder in folders)
            {
                short looper = 0;
                foreach (var metaData in folder)
                {
                    looper++;
                    metaData.TrackNumber       = looper;
                    metaData.TotalTrackNumbers = ID3TagsHelper.DetermineTotalTrackNumbers(metaData.Filename) ?? folder.Count();
                    metaData.Disk           = ID3TagsHelper.DetermineDiscNumber(metaData);
                    metaData.TotalDiscCount = totalNumberOfMedia;
                }
            }
            result.Data      = metaDatas;
            result.IsSuccess = true;
            return(result);
        }