Example #1
0
        private void QueueDisplay(int index)
        {
            var qi = (Queue)lstQueue.Items[index].Tag;

            // Properties - Source Info
            txtSourceInfo.Text = Queue.Info(qi);

            // Properties - Output
            rdoMKV.Checked = qi.MkvOut;
            rdoMP4.Checked = !qi.MkvOut;

            // Video
            if (qi.Video.Count >= 1)
            {
                var item = qi.Video[0];

                // Quality
                cboVideoResolution.Text = $"{item.Width}x{item.Height}";
                cboVideoFrameRate.Text  = $"{item.FrameRate:N3}";
                cboVideoBitDepth.Text   = $"{item.BitDepth}";
                cboVideoChroma.Text     = $"{item.Chroma}";

                // Deinterlace
                chkVideoDeinterlace.Checked   = item.Deinterlace;
                cboVideoDiMode.SelectedIndex  = item.DeinterlaceMode;
                cboVideoDiField.SelectedIndex = item.DeinterlaceField;

                // Encoder
                cboVideoEncoder.SelectedValue      = item.Encoder; // Guid key
                cboVideoPreset.SelectedItem        = item.EncoderPreset;
                cboVideoTune.SelectedItem          = item.EncoderTune;
                cboVideoEncodingType.SelectedIndex = item.EncoderRateControl;
                nudVideoRateFactor.Value           = item.EncoderRateValue;
                nudVideoMultipass.Value            = item.EncoderMultiPass;
            }

            // Audio
            lstAudio.Items.Clear();
            if (qi.Audio.Count >= 1)
            {
                foreach (var item in qi.Audio)
                {
                    lstAudio.Items.Add(new ListViewItem(new[] {
                        $"{item.Id:D2}, {item.Lang} @ {Path.GetFileName(item.File)}",
                    }));
                }
            }

            // Subtitle
            lstSub.Items.Clear();
            if (qi.Subtitle.Count >= 1)
            {
                foreach (var item in qi.Subtitle)
                {
                    lstSub.Items.Add(new ListViewItem(new[] {
                        $"{item.Id}",
                        item.Lang,
                        Path.GetFileName(item.File),
                    }));
                }
            }

            // Attachment
            lstAttach.Items.Clear();
            if (qi.Attachment.Count >= 1)
            {
                foreach (var item in qi.Attachment)
                {
                    lstAttach.Items.Add(new ListViewItem(new[]
                    {
                        Path.GetFileName(item.File),
                        item.Mime
                    }));
                }
            }
        }