예제 #1
0
        private void loadTimecodes()
        {
            //Check for timecodes file
            checkLoad();
            //Load the timecodes
            vfl.LoadTimecodes(txtTimecodesFile.Text, false, Convert.ToInt32(numUpDownDecimalDigits.Value));
            //Write the header values
            String formatString = "";

            formatString = "000.".PadRight(4 + Convert.ToInt32(numUpDownDecimalDigits.Value), '0');
            cmbTimecodesVersion.SelectedIndex = vfl.TimecodesVersionLoaded - 1;
            txtAssumedFrameRate.Text          = vfl.AssumedFrameRate.ToString(formatString, CultureInfo.InvariantCulture);
            //Populate the frame list
            populateFrameList();
        }
예제 #2
0
        private void AnalyseTimecodes()
        {
            vfl.LoadTimecodes(txtTimecodesFile.Text, false, Convert.ToInt32(numAccuracyDecimalDigits.Value));
            String formatString = "000.".PadRight(4 + Convert.ToInt32(numAccuracyDecimalDigits.Value), '0');

            listTimecodes.Items.Clear();
            listTimecodes.Items.Add(String.Format("Total frames : {0}", vfl.Count));
            listTimecodes.Items.Add(String.Format("IsCFR : {0}", vfl.IsCFR));
            foreach (VideoFrameListStat vfls in vfl.FrameListStats)
            {
                listTimecodes.Items.Add(String.Format("FrameRate : {0} Duration : {1} Count : {2} {3}%",
                                                      vfls.FrameRate.ToString(formatString, CultureInfo.InvariantCulture),
                                                      vfls.FrameDuration.ToString(formatString, CultureInfo.InvariantCulture),
                                                      vfls.FrameCount.ToString("000000"),
                                                      (Convert.ToDouble(vfls.FrameCount) * 100.0 / Convert.ToDouble(vfl.Count)).ToString("000.000000", CultureInfo.InvariantCulture)));
            }
            refreshMap(true);
        }