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; } } } }
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)); }
private void listViewFormats_BeforeLabelEdit(object sender, LabelEditEventArgs e) { CUEToolsFormat format = (CUEToolsFormat)listViewFormats.Items[e.Item].Tag; if (format.builtin) { e.CancelEdit = true; } }
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; } } } }
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)); }
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; } } }
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; } } }
public FormatInfo(CUEToolsFormat fmt, bool lossyWAV) { this.fmt = fmt; this.lossyWAV = lossyWAV; }