private void UpdateProxyKeyframes() { if (Proxy == null || Timeline == null) { return; } bool wasVisible = Proxy.Visible; Proxy.Visible = Visible && IsCollapsed && SubTracks.Any(x => x is IKeyframesEditorContext); if (!Visible) { if (wasVisible) { Proxy.ClearSelection(); } return; } Proxy.KeyframesEditorContext = Timeline; Proxy.CustomViewPanning = Timeline.OnKeyframesViewPanning; Proxy.Bounds = new Rectangle(Timeline.StartOffset, Y + 1.0f, Timeline.Duration * Timeline.UnitsPerSecond * Timeline.Zoom, Height - 2.0f); Proxy.ViewScale = new Vector2(Timeline.Zoom, 1.0f); if (!wasVisible) { LoadProxy(); } else { Proxy.UpdateKeyframes(); } }
private void getMediaInfo() { int VidTracks; int AudTracks; int SubTracks; MediaInfo MI = new MediaInfo(); MI.Open(InputFileTextBox.Text); VidTracks = MI.Count_Get(StreamKind.Video); AudTracks = MI.Count_Get(StreamKind.Audio); SubTracks = MI.Count_Get(StreamKind.Text); VidTrackComboBox.Items.Clear(); AudioTrackComboBox.Items.Clear(); SubTrackComboBox.Items.Clear(); AddVideoTracksToSelect(VidTracks); AddAudioTracksToSelect(AudTracks); if (SubTracks > 0) { AddSubTracksToSelect(SubTracks); } VidTrackComboBox.Visible = true; AudioTrackComboBox.Visible = true; SubTrackComboBox.Visible = true; MIVideoCodecSetLabel.Text = MI.Get(StreamKind.Video, 0, "Format"); VidWidth = int.Parse(MI.Get(StreamKind.Video, 0, "Width")); VidHeight = int.Parse(MI.Get(StreamKind.Video, 0, "Height")); MIVideoResSetLabel.Text = VidWidth + "x" + VidHeight; MIVidBitrateSetLabel.Text = MI.Get(StreamKind.Video, 0, "BitRate/String"); MIAudioCodecSetLabel.Text = MI.Get(StreamKind.Audio, 0, "Format"); MIAudioChanSetLabel.Text = MI.Get(StreamKind.Audio, 0, "Channel(s)/String"); MIAudioBitrateSetLabel.Text = MI.Get(StreamKind.Audio, 0, "BitRate/String"); videoDuration = int.Parse(MI.Get(StreamKind.General, 0, "Duration")); VideoRuntime.Text = MI.Get(StreamKind.General, 0, "Duration/String3"); VidTrackCountSetLabel.Text = VidTracks.ToString(); AudioTracksCountSetLabel.Text = AudTracks.ToString(); MISubTrackCountSetLabel.Text = SubTracks.ToString(); int AutoBitrate = CalcAutoBitrate(VidWidth, VidHeight); OutputBitrateTextBox.Text = AutoBitrate.ToString(); MI.Close(); }