コード例 #1
0
        private static void RunCommandLine(string[] args)
        {
            if (args.Length != 1)
            {
                Console.WriteLine("Too many arguments specified");
                return;
            }

            string filePath = args[0];

            if (!File.Exists(filePath))
            {
                Console.WriteLine("Specified file not found");
                return;
            }

            try
            {
                if (Path.GetExtension(filePath).Equals(".ass", StringComparison.InvariantCultureIgnoreCase))
                {
                    SubtitleDocument doc = new AssDocument(filePath, AssStyleOptionsList.Load());
                    new YttDocument(doc).Save(Path.ChangeExtension(filePath, ".ytt"));
                }
                else
                {
                    SubtitleDocument doc = SubtitleDocument.Load(filePath);
                    new SrtDocument(doc).Save(Path.ChangeExtension(filePath, ".srt"));
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error occurred: {ex}");
            }
        }
コード例 #2
0
 private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     AssStyleOptionsList.SaveToFile(
         _styleOptions.Where(p => !_builtinStyleNames.Contains(p.Key))
         .Select(p => p.Value)
         );
 }
コード例 #3
0
        public static void Save(IEnumerable <AssStyleOptions> options, string filePath = FileName)
        {
            using Stream stream = File.Open(filePath, FileMode.Create, FileAccess.Write);
            XmlSerializer       serializer = new XmlSerializer(typeof(AssStyleOptionsList));
            AssStyleOptionsList list       = new AssStyleOptionsList(options);

            serializer.Serialize(stream, list);
        }
コード例 #4
0
ファイル: MainForm.cs プロジェクト: okutasan/YTSubConverter
        public MainForm()
        {
            InitializeComponent();

            LocalizeUI();

            _styleOptions = AssStyleOptionsList.Load().ToDictionary(o => o.Name);
            ExpandCollapseStyleOptions();
            ClearUi();
        }
コード例 #5
0
        public MainForm()
        {
            InitializeComponent();
            _windowsScaleFactor = AutoScaleDimensions.Height / 12;

            LocalizeUI();

            _styleOptions = AssStyleOptionsList.Load().ToDictionary(o => o.Name);
            ExpandCollapseStyleOptions();
            ClearUi();
        }
コード例 #6
0
        public static void SaveToFile(IEnumerable <AssStyleOptions> options, string filePath = null)
        {
            if (filePath == null)
            {
                filePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), FileName);
            }

            using Stream stream = File.Open(filePath, FileMode.Create, FileAccess.Write);
            XmlSerializer       serializer = new XmlSerializer(typeof(AssStyleOptionsList));
            AssStyleOptionsList list       = new AssStyleOptionsList(options);

            serializer.Serialize(stream, list);
        }
コード例 #7
0
 public static List <AssStyleOptions> LoadFromString(string data)
 {
     try
     {
         using StringReader reader = new StringReader(data);
         XmlSerializer       serializer = new XmlSerializer(typeof(AssStyleOptionsList));
         AssStyleOptionsList options    = (AssStyleOptionsList)serializer.Deserialize(reader);
         return(options.Options);
     }
     catch
     {
         return(new List <AssStyleOptions>());
     }
 }
コード例 #8
0
        public static List <AssStyleOptions> Load()
        {
            if (!File.Exists(FileName))
            {
                return(new List <AssStyleOptions>());
            }

            using (Stream stream = File.Open(FileName, FileMode.Open, FileAccess.Read))
            {
                XmlSerializer       serializer = new XmlSerializer(typeof(AssStyleOptionsList));
                AssStyleOptionsList options    = (AssStyleOptionsList)serializer.Deserialize(stream);
                return(options.Options);
            }
        }
コード例 #9
0
        public MainForm()
        {
            InitializeComponent();
            _windowsScaleFactor = AutoScaleDimensions.Height / 12;

            LocalizeUI();

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

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

            ExpandCollapseStyleOptions();
            ClearUi();
        }
コード例 #10
0
        public static List <AssStyleOptions> Load(string filePath = FileName)
        {
            if (!File.Exists(filePath))
            {
                return(new List <AssStyleOptions>());
            }

            try
            {
                using Stream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
                XmlSerializer       serializer = new XmlSerializer(typeof(AssStyleOptionsList));
                AssStyleOptionsList options    = (AssStyleOptionsList)serializer.Deserialize(stream);
                return(options.Options);
            }
            catch
            {
                return(new List <AssStyleOptions>());
            }
        }
コード例 #11
0
        public static List <AssStyleOptions> LoadFromFile(string filePath = null)
        {
            if (filePath == null)
            {
                filePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), FileName);
            }

            if (!File.Exists(filePath))
            {
                return(new List <AssStyleOptions>());
            }

            try
            {
                using Stream stream = File.Open(filePath, FileMode.Open, FileAccess.Read);
                XmlSerializer       serializer = new XmlSerializer(typeof(AssStyleOptionsList));
                AssStyleOptionsList options    = (AssStyleOptionsList)serializer.Deserialize(stream);
                return(options.Options);
            }
            catch
            {
                return(new List <AssStyleOptions>());
            }
        }
コード例 #12
0
ファイル: MainForm.cs プロジェクト: okutasan/YTSubConverter
 private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
 {
     AssStyleOptionsList.Save(_styleOptions.Values);
 }