From d552f7ff3265a91a81c819bd0472826f53c7f2f9 Mon Sep 17 00:00:00 2001 From: jmediamanager Date: Tue, 11 Nov 2014 11:13:59 +1100 Subject: [PATCH] Fixes #93 - Show more detailed file size information by group and including bitrate --- JMMContracts/Contract_GroupFileSummary.cs | 3 +++ JMMContracts/Contract_GroupVideoQuality.cs | 1 + JMMServer/JMMServiceImplementation.cs | 28 ++++++++++++++++++++-- JMMServer/Properties/AssemblyInfo.cs | 4 ++-- 4 files changed, 32 insertions(+), 4 deletions(-) diff --git a/JMMContracts/Contract_GroupFileSummary.cs b/JMMContracts/Contract_GroupFileSummary.cs index 69ab00f90..469d2b9cd 100644 --- a/JMMContracts/Contract_GroupFileSummary.cs +++ b/JMMContracts/Contract_GroupFileSummary.cs @@ -14,6 +14,9 @@ public class Contract_GroupFileSummary public int FileCountSpecials { get; set; } public bool SpecialsComplete { get; set; } + public double TotalFileSize { get; set; } + public long TotalRunningTime { get; set; } + public List NormalEpisodeNumbers { get; set; } public string NormalEpisodeNumberSummary { get; set; } diff --git a/JMMContracts/Contract_GroupVideoQuality.cs b/JMMContracts/Contract_GroupVideoQuality.cs index 2a6ab5e09..46f5d934e 100644 --- a/JMMContracts/Contract_GroupVideoQuality.cs +++ b/JMMContracts/Contract_GroupVideoQuality.cs @@ -19,6 +19,7 @@ public class Contract_GroupVideoQuality : IComparable NormalEpisodeNumbers { get; set; } public string NormalEpisodeNumberSummary { get; set; } diff --git a/JMMServer/JMMServiceImplementation.cs b/JMMServer/JMMServiceImplementation.cs index 7f254c7ae..062c0345f 100644 --- a/JMMServer/JMMServiceImplementation.cs +++ b/JMMServer/JMMServiceImplementation.cs @@ -4559,8 +4559,8 @@ public List GetGroupVideoQualitySummary(int animeID) if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) contract.FileCountNormal++; if (animeEp.EpisodeTypeEnum == enEpisodeType.Special) contract.FileCountSpecials++; - contract.TotalFileSize += vid.FileSize; + contract.TotalRunningTime += aniFile.File_LengthSeconds; if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) { @@ -4575,9 +4575,13 @@ public List GetGroupVideoQualitySummary(int animeID) contract.FileCountNormal = 0; contract.FileCountSpecials = 0; contract.TotalFileSize = 0; + contract.TotalRunningTime = 0; + if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) contract.FileCountNormal++; if (animeEp.EpisodeTypeEnum == enEpisodeType.Special) contract.FileCountSpecials++; contract.TotalFileSize += vid.FileSize; + contract.TotalRunningTime += aniFile.File_LengthSeconds; + contract.GroupName = aniFile.Anime_GroupName; contract.GroupNameShort = aniFile.Anime_GroupNameShort; contract.VideoBitDepth = bitDepth; @@ -4623,8 +4627,8 @@ public List GetGroupVideoQualitySummary(int animeID) foundSummaryRecord = true; if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) contract.FileCountNormal++; if (animeEp.EpisodeTypeEnum == enEpisodeType.Special) contract.FileCountSpecials++; - contract.TotalFileSize += vinfo.FileSize; + contract.TotalRunningTime += vinfo.Duration; if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) { @@ -4639,9 +4643,13 @@ public List GetGroupVideoQualitySummary(int animeID) contract.FileCountNormal = 0; contract.FileCountSpecials = 0; contract.TotalFileSize = 0; + contract.TotalRunningTime = 0; + if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) contract.FileCountNormal++; if (animeEp.EpisodeTypeEnum == enEpisodeType.Special) contract.FileCountSpecials++; contract.TotalFileSize += vinfo.FileSize; + contract.TotalRunningTime += vinfo.Duration; + contract.GroupName = Constants.NO_GROUP_INFO; contract.GroupNameShort = Constants.NO_GROUP_INFO; contract.Resolution = vidResInfo; @@ -4788,6 +4796,8 @@ public List GetGroupFileSummary(int animeID) if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) contract.FileCountNormal++; if (animeEp.EpisodeTypeEnum == enEpisodeType.Special) contract.FileCountSpecials++; + contract.TotalFileSize += aniFile.FileSize; + contract.TotalRunningTime += aniFile.File_LengthSeconds; if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) { @@ -4801,8 +4811,14 @@ public List GetGroupFileSummary(int animeID) Contract_GroupFileSummary contract = new Contract_GroupFileSummary(); contract.FileCountNormal = 0; contract.FileCountSpecials = 0; + contract.TotalFileSize = 0; + contract.TotalRunningTime = 0; + if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) contract.FileCountNormal++; if (animeEp.EpisodeTypeEnum == enEpisodeType.Special) contract.FileCountSpecials++; + contract.TotalFileSize += aniFile.FileSize; + contract.TotalRunningTime += aniFile.File_LengthSeconds; + contract.GroupName = aniFile.Anime_GroupName; contract.GroupNameShort = aniFile.Anime_GroupNameShort; contract.NormalEpisodeNumbers = new List(); @@ -4829,6 +4845,8 @@ public List GetGroupFileSummary(int animeID) foundSummaryRecord = true; if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) contract.FileCountNormal++; if (animeEp.EpisodeTypeEnum == enEpisodeType.Special) contract.FileCountSpecials++; + contract.TotalFileSize += vinfo.FileSize; + contract.TotalRunningTime += vinfo.Duration; if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) { @@ -4842,8 +4860,14 @@ public List GetGroupFileSummary(int animeID) Contract_GroupFileSummary contract = new Contract_GroupFileSummary(); contract.FileCountNormal = 0; contract.FileCountSpecials = 0; + contract.TotalFileSize = 0; + contract.TotalRunningTime = 0; + if (animeEp.EpisodeTypeEnum == enEpisodeType.Episode) contract.FileCountNormal++; if (animeEp.EpisodeTypeEnum == enEpisodeType.Special) contract.FileCountSpecials++; + contract.TotalFileSize += vinfo.FileSize; + contract.TotalRunningTime += vinfo.Duration; + contract.GroupName = "NO GROUP INFO"; contract.GroupNameShort = "NO GROUP INFO"; contract.NormalEpisodeNumbers = new List(); diff --git a/JMMServer/Properties/AssemblyInfo.cs b/JMMServer/Properties/AssemblyInfo.cs index ec552d8e7..6baf2fec3 100644 --- a/JMMServer/Properties/AssemblyInfo.cs +++ b/JMMServer/Properties/AssemblyInfo.cs @@ -51,5 +51,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("3.4.2.2")] -[assembly: AssemblyFileVersion("3.4.2.2")] +[assembly: AssemblyVersion("3.4.2.3")] +[assembly: AssemblyFileVersion("3.4.2.3")]