예제 #1
0
        /// <inheritdoc/>
        public override void ReadMediaFiles(XmlNode xMLMedia)
        {
            int k = 0;

            // video files from Link-List
            foreach (XmlNode xMLVideodatei in xMLMedia.XMLReadSubnode("links").XMLReadSubnodes("link"))
            {
                if (xMLVideodatei.XMLReadSubnode("urltype").XMLReadInnerText(string.Empty) == "Movie" && !xMLVideodatei.XMLReadSubnode("description").XMLReadInnerText(string.Empty).Contains("Untertitel."))
                {
                    VideoFile videoFile = new VideoFile(this.Configuration);
                    k++;

                    videoFile.Description = xMLVideodatei.XMLReadSubnode("description").XMLReadInnerText(string.Empty);
                    videoFile.Description = videoFile.OverrideSpecial(this.OverrideVideoStreamData(videoFile.Description));
                    videoFile.FileIndex = k;
                    videoFile.URL = xMLVideodatei.XMLReadSubnode("url").XMLReadInnerText(string.Empty);
                    videoFile.Media = this;

                    this.MediaFiles.Add(videoFile);
                }
            }

            // video files from Discs and override MediaStreamData
            foreach (XmlNode xMLMovieDisc in xMLMedia.XMLReadSubnode("discs").XMLReadSubnodes("disc"))
            {
                string discTitle = this.OverrideVideoStreamData(xMLMovieDisc.XMLReadSubnode("title").XMLReadInnerText(string.Empty));

                foreach (XmlNode xMLEpisode in xMLMovieDisc.XMLReadSubnode("episodes").XMLReadSubnodes("episode"))
                {
                    VideoFile videoFile = new VideoFile(this.Configuration);
                    k++;

                    videoFile.Description = xMLEpisode.XMLReadSubnode("title").XMLReadInnerText(string.Empty);
                    videoFile.OverrideSpecial(discTitle);
                    videoFile.OverrideSpecial(this.OverrideVideoStreamData(videoFile.Description));
                    videoFile.URL = xMLEpisode.XMLReadSubnode("movielink").XMLReadInnerText(string.Empty);
                    videoFile.FileIndex = k;
                    videoFile.Media = this;

                    this.MediaFiles.Add(videoFile);
                }
            }

            // SubTitles
            foreach (VideoFile videoFile in this.MediaFiles)
            {
                videoFile.ReadSubTitleFile(xMLMedia);
            }
    }
예제 #2
0
        /// <inheritdoc/>
        public override MediaFile Clone()
        {
            VideoFile videoFileClone = new VideoFile(this.Configuration);
            videoFileClone.IsSpecial = this.IsSpecial;
            videoFileClone.Description = this.Description;
            videoFileClone.URL = this.URL;
            videoFileClone.URLLocalFilesystem = this.URLLocalFilesystem;
            videoFileClone.Filename = this.Filename;
            videoFileClone.Extension = this.Extension;
            videoFileClone.Server = this.Server;
            videoFileClone.Media = this.Media;
            videoFileClone.FileIndex = this.FileIndex;

            foreach (SubTitleFile subTitleFile in this.SubTitleFiles)
            {
                videoFileClone.SubTitleFiles.Add((SubTitleFile)subTitleFile.Clone());
            }

            return (VideoFile)videoFileClone;
        }
예제 #3
0
        /// <inheritdoc/>
        public override void ReadMediaFiles(XmlNode xMLMedia)
        {
            VideoFile videoFile = new VideoFile(this.Configuration);

            videoFile.IsSpecial = this.IsSpecial;
            videoFile.Description = "EpisodeVideoFile";
            videoFile.URL = xMLMedia.XMLReadSubnode("movielink").XMLReadInnerText(string.Empty);
            videoFile.Media = this;
            videoFile.FileIndex = this.VideoIndex;
            videoFile.ConvertFilename();

            this.MediaFiles.Add(videoFile);
        }