private void Grid_Loaded(object sender, RoutedEventArgs e)
        {
            SceneExtractorWrapper wrapper = new SceneExtractorWrapper(_viewmodel.Settings.FfmpegPath);

            wrapper.VideoFile = _video;
            wrapper.GenerateRandomOutputPath();
            wrapper.Execute();

            var scenes = new List <SceneViewModel>();

            foreach (string imageFile in Directory.EnumerateFiles(wrapper.OutputPath))
            {
                string number = Path.GetFileNameWithoutExtension(imageFile);
                int    frame  = int.Parse(number);

                SceneFrame scene = wrapper.Result.Single(w => w.Index == frame);

                scenes.Add(new SceneViewModel
                {
                    IsSelected = false,
                    TimeStamp  = scene.TimeStamp,
                    Duration   = scene.Duration,
                    Preview    = new BitmapImage(new Uri(imageFile, UriKind.Absolute))
                });
            }

            Scenes = scenes;
        }
 private void lbFrames_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (lbFrames.SelectedIndex > -1)
     {
         SelectedFrame  = scene.Frames[lbFrames.SelectedIndex];
         tbxBGFile.Text = SelectedFrame.BGFileName;
         tbxScript.Text = SelectedFrame.Script;
         tbxName.Text   = SelectedFrame.Name;
         tbxText.Text   = SelectedFrame.Text;
         RefreshCharList();
     }
 }
        private void btnAddFrame_Click(object sender, EventArgs e)
        {
            if (scene == null)
            {
                scene = new Scene();
            }

            SceneFrame newFrame = new SceneFrame();

            newFrame.BGFileName = tbxBGFile.Text;
            newFrame.Script     = tbxScript.Text;
            newFrame.Name       = tbxName.Text;
            newFrame.Text       = tbxText.Text;
            scene.Frames.Add(newFrame);
            //Tạo thêm các control cho các properties của class SceneFrame.
            RefreshFrameList();
        }
Exemplo n.º 4
0
            public Matrix4x4 GetTransform(string frame_id)
            {
                SceneFrame frame = this.GetFrame(frame_id);

                if (frame == null)
                {
                    throw new Exception("Could not get a transform for frame: " + frame_id);
                }
                if (string.IsNullOrEmpty(frame.parent_id))
                {
                    return(Matrix4x4.TRS(frame.translation, frame.rotation, frame.scale));
                }
                else
                {
                    Matrix4x4 transform = Matrix4x4.TRS(frame.translation, frame.rotation, frame.scale);
                    return(GetTransform(frame.parent_id) * transform); //Apply this transform before parent transform
                }
            }
 private void button2_Click(object sender, EventArgs e)
 {
     if (lbFrames.SelectedIndex > -1)
     {
         SceneFrame newFrame = scene.Frames[lbFrames.SelectedIndex];
         newFrame.BGFileName = tbxBGFile.Text;
         newFrame.Script     = tbxScript.Text;
         newFrame.Name       = tbxName.Text;
         newFrame.Text       = tbxText.Text;
         newFrame.Sounds.Clear();
         if (tbxSounds.Text.Length > 0)
         {
             newFrame.Sounds.AddRange(tbxSounds.Text.Split(','));
         }
         //Tạo thêm các control cho các properties của class SceneFrame.
         RefreshFrameList();
     }
 }
        private void button1_Click(object sender, EventArgs e)
        {
            if (lbFrames.SelectedIndex > -1)
            {
                if (scene == null)
                {
                    scene = new Scene();
                }

                SceneFrame newFrame = new SceneFrame();
                newFrame.BGFileName = tbxBGFile.Text;
                newFrame.Script     = tbxScript.Text;
                newFrame.Name       = tbxName.Text;
                newFrame.Text       = tbxText.Text;
                if (tbxSounds.Text.Length > 0)
                {
                    newFrame.Sounds.AddRange(tbxSounds.Text.Split(','));
                }
                scene.Frames.Insert(lbFrames.SelectedIndex, newFrame);
                //Tạo thêm các control cho các properties của class SceneFrame.
                RefreshFrameList();
            }
        }
 private void lbFrames_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (lbFrames.SelectedIndex > -1)
     {
         SelectedFrame  = scene.Frames[lbFrames.SelectedIndex];
         tbxBGFile.Text = SelectedFrame.BGFileName;
         tbxScript.Text = SelectedFrame.Script;
         tbxSounds.Text = "";
         foreach (string s in SelectedFrame.Sounds)
         {
             if (SelectedFrame.Sounds.IndexOf(s) != SelectedFrame.Sounds.Count - 1)
             {
                 tbxSounds.Text += s + ",";
             }
             else
             {
                 tbxSounds.Text += s;
             }
         }
         tbxName.Text = SelectedFrame.Name;
         tbxText.Text = SelectedFrame.Text;
         RefreshCharList();
     }
 }