Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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();
        }