Пример #1
0
        private void OnExited(NonInteractiveProcessState processState, int exitCode, ReleaseMedium releaseMedium, Playlist playlist, List <Track> selectedTracks, string outputMKVPath)
        {
            LogExit(processState, exitCode);

            _tempFileRegistrar.DeleteTempFiles(_progressFilePath, _inputFileListPath);

            if (processState != NonInteractiveProcessState.Completed)
            {
                return;
            }

            var coverArt = releaseMedium != null?releaseMedium.CoverArtImages.FirstOrDefault(image => image.IsSelected) : null;

            var coverArtImage = coverArt != null ? coverArt.Image : null;
            var mkvPropEdit   = new MkvPropEdit(_jobObjectManager, _tempFileRegistrar)
            {
                SourceFilePath = outputMKVPath
            }
            .RemoveAllTags()
            .AddCoverArt(coverArtImage)
            .SetChapters(playlist.Chapters)
//                .SetDefaultTracksAuto(selectedTracks) // Breaks MediaInfo
            ;

            mkvPropEdit.Start();
        }
Пример #2
0
        private void AttachCoverArt([CanBeNull] ReleaseMedium releaseMedium, AttachFileDelegate @delegate)
        {
            var coverArt = releaseMedium != null?releaseMedium.CoverArtImages.FirstOrDefault(image => image.IsSelected) : null;

            var coverArtImage = coverArt != null ? coverArt.Image : null;

            if (coverArtImage == null)
            {
                return;
            }

            AttachCoverArt(coverArtImage, @delegate);
        }
Пример #3
0
        private string ReplaceCommonPlaceholders(string fsPart, ReleaseMedium releaseMedium)
        {
            Replace(ref fsPart, "volume", _job.Disc.Metadata.Derived.VolumeLabel);
            Replace(ref fsPart, "title", releaseMedium.Title);
            Replace(ref fsPart, "res", GetVideoResolution());
            Replace(ref fsPart, "vcodec", GetVideoCodec());
            Replace(ref fsPart, "acodec", GetAudioCodec());
            Replace(ref fsPart, "channels", GetChannelCount());
            Replace(ref fsPart, "cut", GetCut());
            Replace(ref fsPart, "vlang", GetVideoLanguage());
            Replace(ref fsPart, "alang", GetAudioLanguage());

            fsPart = Environment.ExpandEnvironmentVariables(fsPart);

            return(fsPart);
        }
Пример #4
0
        private void OnExited(NonInteractiveProcessState processState, int exitCode, ReleaseMedium releaseMedium, Playlist playlist, string outputMKVPath)
        {
            LogExit(processState, exitCode);

            DeleteTempFilesAsync();

            if (processState != NonInteractiveProcessState.Completed)
            {
                return;
            }

            var mkvPropEdit = new MkvPropEdit(_jobObjectManager, _tempFileRegistrar)
            {
                SourceFilePath = outputMKVPath
            }
            .RemoveAllTags()
            .AddCoverArt(releaseMedium)
            .SetChapters(playlist.Chapters)
//                .SetDefaultTracksAuto(selectedTracks) // Breaks MediaInfo
            ;

            mkvPropEdit.Start();
        }
Пример #5
0
 public MkvPropEdit AddCoverArt([CanBeNull] ReleaseMedium releaseMedium)
 {
     new CoverArtResizer(Arguments, _tempFileRegistrar).AddCoverArt(releaseMedium);
     return(this);
 }
Пример #6
0
        private void OnExited(NonInteractiveProcessState state, int exitCode, ReleaseMedium releaseMedium, Playlist playlist, string outputMKVPath)
        {
//            _tempFileRegistrar.DeleteTempFiles("", "", "");
        }
Пример #7
0
 public MkvMergeCLI AttachCoverArt(ReleaseMedium releaseMedium)
 {
     new CoverArtResizer(Arguments, _tempFileRegistrar).AttachCoverArt(releaseMedium);
     return(this);
 }
Пример #8
0
 /// <summary>
 ///     Used by mkvpropedit.
 /// </summary>
 /// <param name="releaseMedium"></param>
 public void AddCoverArt([CanBeNull] ReleaseMedium releaseMedium)
 {
     AttachCoverArt(releaseMedium, AddAttachment);
 }
Пример #9
0
 /// <summary>
 ///     Used by mkvmerge.
 /// </summary>
 /// <param name="releaseMedium"></param>
 public void AttachCoverArt([CanBeNull] ReleaseMedium releaseMedium)
 {
     AttachCoverArt(releaseMedium, AttachFile);
 }