Add converters from CICM Metadata to Aaru Metadata.

This commit is contained in:
2022-12-16 01:16:41 +00:00
parent 4cdf541a09
commit 647d3fac26
32 changed files with 1649 additions and 22 deletions

View File

@@ -36,7 +36,9 @@
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System;
using System.Collections.Generic;
using Schemas;
// ReSharper disable UnusedMember.Global
// ReSharper disable ClassNeverInstantiated.Global
@@ -57,4 +59,59 @@ public class Advertisement
public List<VideoTrack> VideoTracks { get; set; }
public List<SubtitleTrack> SubtitleTracks { get; set; }
public Recording Recording { get; set; }
[Obsolete("Will be removed in Aaru 7")]
public static implicit operator Advertisement(AdvertisementType cicm)
{
if(cicm is null)
return null;
var adv = new Advertisement
{
Manufacturer = cicm.Manufacturer,
Product = cicm.Product,
File = cicm.File,
FileSize = cicm.FileSize,
Frames = cicm.FramesSpecified ? cicm.Frames : null,
Duration = cicm.Duration,
MeanFrameRate = cicm.MeanFrameRateSpecified ? cicm.MeanFrameRate : null,
Recording = cicm.Recording
};
if(cicm.Checksums is not null)
{
adv.Checksums = new List<Checksum>();
foreach(Schemas.ChecksumType chk in cicm.Checksums)
adv.Checksums.Add(chk);
}
if(cicm.AudioTrack is not null)
{
adv.AudioTracks = new List<AudioTrack>();
foreach(AudioTracksType trk in cicm.AudioTrack)
adv.AudioTracks.Add(trk);
}
if(cicm.VideoTrack is not null)
{
adv.VideoTracks = new List<VideoTrack>();
foreach(VideoTracksType trk in cicm.VideoTrack)
adv.VideoTracks.Add(trk);
}
if(cicm.SubtitleTrack is null)
return adv;
{
adv.SubtitleTracks = new List<SubtitleTrack>();
foreach(SubtitleTracksType trk in cicm.SubtitleTrack)
adv.SubtitleTracks.Add(trk);
}
return adv;
}
}