private static IEnumerable GetForwardConversionTestCases()
        {
            List <AssStyleOptions> options = AssStyleOptionsList.LoadFromFile(Path.Combine(DllFolderPath, "StyleOptions.xml"));

            foreach (string assFilePath in Directory.EnumerateFiles(Path.Combine(DllFolderPath, "Files"), "*.ass"))
            {
                string name        = Path.GetFileNameWithoutExtension(assFilePath);
                string yttFilePath = Path.ChangeExtension(assFilePath, ".ytt");
                yield return(new TestCaseData(assFilePath, options, yttFilePath).SetName(name));
            }
        }
Exemple #2
0
        public MainForm()
        {
            InitializeComponent();
            _windowsScaleFactor = AutoScaleDimensions.Height / 12;

            LocalizeUI();

            List <AssStyleOptions> builtinStyleOptions = AssStyleOptionsList.LoadFromString(YTSubConverter.Resources.DefaultStyleOptions);
            List <AssStyleOptions> customStyleOptions  = AssStyleOptionsList.LoadFromFile();

            _styleOptions      = customStyleOptions.Concat(builtinStyleOptions).ToDictionaryOverwrite(o => o.Name);
            _builtinStyleNames = builtinStyleOptions.Select(o => o.Name).ToHashSet();

            ExpandCollapseStyleOptions();
            ClearUi();
        }
        public static SubtitleDocument Load(string filePath)
        {
            switch (Path.GetExtension(filePath)?.ToLower())
            {
            case ".ass":
                return(new AssDocument(filePath, AssStyleOptionsList.LoadFromFile().Concat(AssStyleOptionsList.LoadFromString(Resources.DefaultStyleOptions)).ToList()));

            case ".sbv":
                return(new SbvDocument(filePath));

            case ".srt":
                return(new SrtDocument(filePath));

            case ".srv3":
            case ".ytt":
                return(new YttDocument(filePath));

            default:
                throw new NotSupportedException();
            }
        }