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(); }
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(); } }