Exemplo n.º 1
0
        private void bindingSourceDecoders_CurrentItemChanged(object sender, EventArgs e)
        {
            var decoder = bindingSourceDecoders.Current as AudioDecoderSettingsViewModel;

            if (decoder == null)
            {
                labelDecoderExtension.Visible        =
                    comboBoxDecoderExtension.Visible = false;
            }
            else
            {
                //CUEToolsFormat format = _config.formats[decoder.extension]; // _config.formats.TryGetValue(encoder.extension, out format)
                labelDecoderExtension.Visible        =
                    comboBoxDecoderExtension.Visible = true;
                groupBoxExternalDecoder.Visible      = decoder.CanBeDeleted;
                foreach (KeyValuePair <string, CUEToolsFormat> fmtEntry in _config.formats)
                {
                    CUEToolsFormat fmt = fmtEntry.Value;
                    if (fmt.decoder == decoder && fmt.extension != decoder.Extension)
                    {
                        fmt.decoder = null;
                    }
                }
            }
        }
Exemplo n.º 2
0
        public static CUEToolsUDC GetEncoder(CUEToolsCodecsConfig config, CUEToolsFormat fmt, bool lossless, string chosenEncoder)
        {
            CUEToolsUDC tmpEncoder;

            return(chosenEncoder != null ?
                   (config.encoders.TryGetValue(fmt.extension, lossless, chosenEncoder, out tmpEncoder) ? tmpEncoder : null) :
                   (lossless ? fmt.encoderLossless : fmt.encoderLossy));
        }
Exemplo n.º 3
0
        private void listViewFormats_BeforeLabelEdit(object sender, LabelEditEventArgs e)
        {
            CUEToolsFormat format = (CUEToolsFormat)listViewFormats.Items[e.Item].Tag;

            if (format.builtin)
            {
                e.CancelEdit = true;
            }
        }
Exemplo n.º 4
0
        private void encodersBindingSource_CurrentItemChanged(object sender, EventArgs e)
        {
            var encoder = encodersBindingSource.Current as AudioEncoderSettingsViewModel;

            if (encoder == null)
            {
                labelEncoderExtension.Visible                           =
                    comboBoxEncoderExtension.Visible                    =
                        comboBoxEncoderExtension.Enabled                =
                            groupBoxExternalEncoder.Visible             =
                                checkBoxEncoderLossless.Enabled         =
                                    propertyGridEncoderSettings.Visible = false;
                propertyGridEncoderSettings.SelectedObject              = null;
            }
            else
            {
                CUEToolsFormat format = _config.formats[encoder.Extension];                 // _config.formats.TryGetValue(encoder.extension, out format)
                labelEncoderExtension.Visible              = true;
                comboBoxEncoderExtension.Visible           = true;
                comboBoxEncoderExtension.Enabled           = encoder.CanBeDeleted;
                groupBoxExternalEncoder.Visible            = encoder.CanBeDeleted;
                checkBoxEncoderLossless.Enabled            = format != null && format.allowLossless && format.allowLossy;
                propertyGridEncoderSettings.Visible        = !encoder.CanBeDeleted && encoder.Settings.HasBrowsableAttributes();
                propertyGridEncoderSettings.SelectedObject = encoder.CanBeDeleted ? null : encoder.Settings;
                if (!checkBoxEncoderLossless.Enabled && format != null && encoder.Lossless != format.allowLossless)
                {
                    encoder.Lossless = format.allowLossless;
                }
                foreach (KeyValuePair <string, CUEToolsFormat> fmtEntry in _config.formats)
                {
                    CUEToolsFormat fmt = fmtEntry.Value;
                    if (fmt.encoderLossless == encoder && (fmt.extension != encoder.Extension || !encoder.Lossless))
                    {
                        fmt.encoderLossless = null;
                    }
                    if (fmt.encoderLossy == encoder && (fmt.extension != encoder.Extension || encoder.Lossless))
                    {
                        fmt.encoderLossy = null;
                    }
                }
            }
        }
Exemplo n.º 5
0
        public static AudioEncoderSettingsViewModel GetEncoder(CUEToolsCodecsConfig config, CUEToolsFormat fmt, bool lossless, string chosenEncoder)
        {
            AudioEncoderSettingsViewModel tmpEncoder;

            return(chosenEncoder != null ?
                   (config.encodersViewModel.TryGetValue(fmt.extension, lossless, chosenEncoder, out tmpEncoder) ? tmpEncoder : null) :
                   (lossless ? fmt.encoderLossless : fmt.encoderLossy));
        }
Exemplo n.º 6
0
        private void listViewFormats_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e)
        {
            if (e.IsSelected)
            {
                CUEToolsFormat format = (CUEToolsFormat)e.Item.Tag;
                if (format == null)
                {
                    return;
                }

                comboFormatLosslessEncoder.Items.Clear();
                foreach (var encoder in _config.Encoders)
                {
                    if (encoder.Extension == format.extension && encoder.Lossless)
                    {
                        comboFormatLosslessEncoder.Items.Add(encoder);
                    }
                }
                comboFormatLosslessEncoder.SelectedItem = format.encoderLossless;
                comboFormatLosslessEncoder.Enabled      = format.allowLossless;

                comboFormatLossyEncoder.Items.Clear();
                foreach (var encoder in _config.Encoders)
                {
                    if (encoder.Extension == format.extension && !encoder.Lossless)
                    {
                        comboFormatLossyEncoder.Items.Add(encoder);
                    }
                }
                comboFormatLossyEncoder.SelectedItem = format.encoderLossy;
                comboFormatLossyEncoder.Enabled      = format.allowLossy;

                comboFormatDecoder.Items.Clear();
                foreach (var decoder in _config.Decoders)
                {
                    if (decoder.Extension == format.extension)
                    {
                        comboFormatDecoder.Items.Add(decoder);
                    }
                }
                comboFormatDecoder.SelectedItem = format.decoder;
                comboFormatDecoder.Enabled      = format.allowLossless;

                comboBoxFormatTagger.SelectedItem = format.tagger;

                checkBoxFormatEmbedCUESheet.Checked = format.allowEmbed;
                checkBoxFormatAllowLossless.Checked = format.allowLossless;
                checkBoxFormatAllowLossy.Checked    = format.allowLossy;

                comboBoxFormatTagger.Enabled                 =
                    checkBoxFormatEmbedCUESheet.Enabled      =
                        checkBoxFormatAllowLossless.Enabled  =
                            checkBoxFormatAllowLossy.Enabled =
                                !format.builtin;

                groupBoxFormat.Visible = true;
            }
            else
            {
                groupBoxFormat.Visible = false;

                CUEToolsFormat format = (CUEToolsFormat)e.Item.Tag;
                if (format == null)
                {
                    return;
                }

                format.encoderLossless = (AudioEncoderSettingsViewModel)comboFormatLosslessEncoder.SelectedItem;
                format.encoderLossy    = (AudioEncoderSettingsViewModel)comboFormatLossyEncoder.SelectedItem;
                format.decoder         = (AudioDecoderSettingsViewModel)comboFormatDecoder.SelectedItem;
                if (!format.builtin)
                {
                    format.tagger        = (CUEToolsTagger)comboBoxFormatTagger.SelectedItem;
                    format.allowEmbed    = checkBoxFormatEmbedCUESheet.Checked;
                    format.allowLossless = checkBoxFormatAllowLossless.Checked;
                    format.allowLossy    = checkBoxFormatAllowLossy.Checked;
                }
            }
        }
Exemplo n.º 7
0
        private void listViewFormats_KeyDown(object sender, KeyEventArgs e)
        {
            switch (e.KeyCode)
            {
            case Keys.Insert:
            {
                CUEToolsFormat format;
                if (_config.formats.TryGetValue("new", out format))
                {
                    return;
                }
                format = new CUEToolsFormat("new", CUEToolsTagger.TagLibSharp, true, true, false, false, null, null, null);
                _config.formats.Add("new", format);
                ListViewItem item = new ListViewItem(format.extension, "." + format.extension);
                item.Tag = format;
                listViewFormats.Items.Add(item);
                comboBoxEncoderExtension.Items.Add(format.extension);
                comboBoxDecoderExtension.Items.Add(format.extension);
                item.BeginEdit();
                break;
            }

            case Keys.Delete:
            {
                if (listViewFormats.SelectedItems.Count <= 0)
                {
                    return;
                }
                CUEToolsFormat format = (CUEToolsFormat)listViewFormats.SelectedItems[0].Tag;
                if (format.builtin)
                {
                    return;
                }
                var decodersToRemove = new List <AudioDecoderSettingsViewModel>();
                foreach (var decoder in _config.Decoders)
                {
                    if (decoder.Extension == format.extension)
                    {
                        decodersToRemove.Add(decoder);
                    }
                }
                foreach (var decoder in decodersToRemove)
                {
                    _config.Decoders.Remove(decoder);
                }
                var encodersToRemove = new List <AudioEncoderSettingsViewModel>();
                foreach (var encoder in _config.Encoders)
                {
                    if (encoder.Extension == format.extension)
                    {
                        encodersToRemove.Add(encoder);
                    }
                }
                foreach (var encoder in encodersToRemove)
                {
                    _config.Encoders.Remove(encoder);
                }
                comboBoxEncoderExtension.Items.Remove(format.extension);
                comboBoxDecoderExtension.Items.Remove(format.extension);
                _config.formats.Remove(format.extension);
                listViewFormats.SelectedItems[0].Remove();
                break;
            }
            }
        }
Exemplo n.º 8
0
		public FormatInfo(CUEToolsFormat fmt, bool lossyWAV)
		{
			this.fmt = fmt;
			this.lossyWAV = lossyWAV;
		}