Beispiel #1
0
        public void SF_Test_WriteFile()
        {
            string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt");

            string[]      text   = File.ReadAllLines(path);
            SubtitlesFile sf     = new SubtitlesFile(text);
            string        output = sf.ToString();
        }
Beispiel #2
0
        private void CurrentSubtitlesChangedHandler(object sender, SubtitlesChangedEventArgs e)
        {
            e.OldSubtitles.NameChanged -= new EventHandler <EventArgs <String> >(CurrentSubtitlesNameChangedHandler);
            e.NewSubtitles.NameChanged += new EventHandler <EventArgs <String> >(CurrentSubtitlesNameChangedHandler);

            currentSubtitles = e.NewSubtitles;

            View.Caption = CreateCaption(currentSubtitles.Name);
        }
Beispiel #3
0
        private void CurrentSubtitlesChangedHandler(object sender, SubtitlesChangedEventArgs e)
        {
            if (e.OldSubtitles != null)
            {
                e.OldSubtitles.ContentChanged -= new EventHandler <SubtitlesContentChangedEventArgs>(SubtitlesContentChangedHandler);
            }
            subtitles = e.NewSubtitles;
            subtitles.ContentChanged += new EventHandler <SubtitlesContentChangedEventArgs>(SubtitlesContentChangedHandler);

            View.ScrollToBegin();
        }
Beispiel #4
0
        public void SF_Test_ExtractPauses()
        {
            string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt");

            string[]      text   = File.ReadAllLines(path);
            SubtitlesFile sf     = new SubtitlesFile(text);
            List <Time>   pauses = sf.TimeBetweenSubtitles();

            foreach (var pausa in pauses)
            {
                Console.WriteLine(pausa);
            }
        }
Beispiel #5
0
        /// <summary>
        /// Konstruktor.
        /// </summary>
        /// <param name="viewManager">Obiekt menadżera widoków.</param>
        /// <param name="view">Obiekt zarządzanego przez prezentera widoku.</param>
        /// <param name="appManager">Obiekt menadżera aplikacji.</param>
        /// <param name="subtitlesManager">Menadżer obiektów reprezentujących napisy.</param>
        public MainFormPresenter(IViewManager viewManager, IMainFormView view, ApplicationManager appManager, SubtitlesManager subtitlesManager)
            : base(viewManager, view)
        {
            this.applicationManager = appManager;

            this.subtitlesManager = subtitlesManager;
            this.subtitlesManager.CurrentSubtitlesChanged += new EventHandler <SubtitlesChangedEventArgs>(CurrentSubtitlesChangedHandler);

            this.currentSubtitles              = subtitlesManager.CurrentSubtitles;
            this.currentSubtitles.NameChanged += new EventHandler <EventArgs <String> >(CurrentSubtitlesNameChangedHandler);

            this.View.ShowRequest     += new EventHandler(ViewShowRequestHandler);
            this.View.CloseRequest    += new EventHandler(ViewCloseRequestHandler);
            this.View.PreCloseRequest += new EventHandler <ViewPreCloseEventArgs>(ViewPreCloseRequestHandler);
        }
Beispiel #6
0
        public void SF_Test_CTR_FromText()
        {
            string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt");

            string[]      text = File.ReadAllLines(path);
            SubtitlesFile sf   = new SubtitlesFile(text);

            Assert.AreEqual(1388, sf.Subtitles.Count);

            string path2 = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterHeb.txt");

            string[]      text2 = File.ReadAllLines(path2);
            SubtitlesFile sf2   = new SubtitlesFile(text2);

            Assert.AreEqual(1267, sf2.Subtitles.Count);
        }
Beispiel #7
0
        public void A_TestGradeAlignment()
        {
            string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt");

            string[] text = File.ReadAllLines(path);

            string path2 = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterHeb.txt");

            string[] text2 = File.ReadAllLines(path2);

            SubtitlesFile sf1 = new SubtitlesFile(text);
            SubtitlesFile sf2 = new SubtitlesFile(text2);

            SubsAligner pa        = new SubsAligner(sf1, sf2);
            int         err_score = pa.GetScore();

            Assert.AreNotEqual(0, err_score);
        }
Beispiel #8
0
        static void Main(string[] args)
        {
            if (args.Length != 3)
            {
                Console.WriteLine("arguments: forign_language_but_synced_subs, wanted_languaged_but_de-synced_subs, output_wanted_language_and_synced");
            }

            string[] text = File.ReadAllLines(args[0]);

            string[] text2 = File.ReadAllLines(args[1]);

            SubtitlesFile sf1 = new SubtitlesFile(text);
            SubtitlesFile sf2 = new SubtitlesFile(text2);

            SubsAligner pa = new SubsAligner(sf1, sf2);

            int currScore   = pa.GetScore();
            int first_score = currScore;
            int prev_score  = currScore;

            while (true)
            {
                pa.ApplyChange(100, 1);
                currScore = pa.GetScore();
                if (currScore > prev_score)
                {
                    pa.ApplyChange(-100, 1);
                    break;
                }
                else
                {
                    prev_score = currScore;
                }
            }

            int final_score = pa.GetScore();

            Console.WriteLine("Error: " + final_score);
            string outputPath = args[2];

            File.WriteAllText(outputPath, pa.Sub2.ToString());
        }
Beispiel #9
0
        /// <summary>
        /// Konstruktor.
        /// </summary>
        /// <param name="viewManager">Obiekt menadżera widoków.</param>
        /// <param name="view">Obiekt zarządzanego przez prezentera widoku.</param>
        /// <param name="subtitlesManager">Obiekt modelu menadżera plików.</param>
        /// <param name="subtitlesEditor">Edytor napisów.</param>
        public SubtitlesPresenter(IViewManager viewManager, ISubtitlesView view, SubtitlesManager subtitlesManager, SubtitlesEditor subtitlesEditor)
            : base(viewManager, view)
        {
            this.manager = subtitlesManager;
            this.manager.CurrentSubtitlesChanged += new EventHandler <SubtitlesChangedEventArgs>(CurrentSubtitlesChangedHandler);

            this.subtitles = subtitlesManager.CurrentSubtitles;
            this.subtitles.ContentChanged += new EventHandler <SubtitlesContentChangedEventArgs>(SubtitlesContentChangedHandler);

            this.View.Content           = this.subtitles.Content;
            this.View.SelectionChanged += new EventHandler <SelectionChangedEventArgs>(ViewSelectionChangedHandler);
            this.View.ContentChanged   += new EventHandler(ViewContentChangedHandler);
            this.View.Scrolled         += new EventHandler <ScrolledEventArgs>(ViewScrolledHandler);

            this.editor = subtitlesEditor;
            this.editor.EditStateChanged += new EventHandler <SubtitlesEditStateChangedEventArgs>(EditorEditStateChangedHandler);

            this.composer = new ModificationComposer();

            this.previousLineNumberingDigits = 1;
        }
Beispiel #10
0
        public void A_TestApplyFix()
        {
            string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt");

            string[] text = File.ReadAllLines(path);

            string path2 = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterHeb.txt");

            string[] text2 = File.ReadAllLines(path2);

            SubtitlesFile sf1 = new SubtitlesFile(text);
            SubtitlesFile sf2 = new SubtitlesFile(text2);

            SubsAligner pa = new SubsAligner(sf1, sf2);

            int before_err_score = pa.GetScore();

            pa.ApplyChange(2000, 1);
            int after_err_score = pa.GetScore();

            Assert.IsTrue(before_err_score > after_err_score);
        }
Beispiel #11
0
        public void A_TestAlign()
        {
            string path = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterEng.txt");

            string[] text = File.ReadAllLines(path);

            string path2 = Path.Combine(System.IO.Path.GetFullPath(@"..\..\..\"), "ShapeOfWaterHeb.txt");

            string[] text2 = File.ReadAllLines(path2);

            SubtitlesFile sf1 = new SubtitlesFile(text);
            SubtitlesFile sf2 = new SubtitlesFile(text2);

            SubsAligner pa = new SubsAligner(sf1, sf2);

            int currScore   = pa.GetScore();
            int first_score = currScore;
            int prev_score  = currScore;

            while (true)
            {
                pa.ApplyChange(100, 1);
                currScore = pa.GetScore();
                if (currScore > prev_score)
                {
                    pa.ApplyChange(-100, 1);
                    break;
                }
                else
                {
                    prev_score = currScore;
                }
            }

            int final_score = pa.GetScore();

            Assert.IsTrue(first_score > final_score);
        }
Beispiel #12
0
 /// <summary>
 /// Konstruktor.
 /// </summary>
 /// <param name="file">Obiekt pliku napisów, którego format ma być rozsztrzygnięty.</param>
 /// <param name="strategyRepository">Repozytorium strategii, wykorzystywanych do czytania zawartości pliku.</param>
 public SubtitlesFormatResolver(SubtitlesFile file, StrategyForFormatRepository strategyRepository)
 {
     this.strategyRepository = strategyRepository;
     this.file = file;
 }
Beispiel #13
0
 /// <summary>
 /// Konstruktor.
 /// </summary>
 /// <param name="file">Obiekt pliku napisów, którego format ma być rozsztrzygnięty.</param>
 public SubtitlesFormatResolver(SubtitlesFile file)
     : this(file, new StrategyForFormatRepository())
 {
     InitialzieStrategyRepository();
 }