diff --git a/CUERipper/CUERipper.csproj b/CUERipper/CUERipper.csproj
index 3bc7d96..3c51530 100644
--- a/CUERipper/CUERipper.csproj
+++ b/CUERipper/CUERipper.csproj
@@ -91,6 +91,12 @@
frmFreedbSubmit.cs
+
+ Form
+
+
+ Options.cs
+
@@ -106,6 +112,9 @@
frmFreedbSubmit.cs
+
+ Options.cs
+
ResXFileCodeGenerator
Resources.Designer.cs
@@ -235,6 +244,7 @@
+
diff --git a/CUERipper/Options.Designer.cs b/CUERipper/Options.Designer.cs
new file mode 100644
index 0000000..5798080
--- /dev/null
+++ b/CUERipper/Options.Designer.cs
@@ -0,0 +1,83 @@
+
+namespace CUERipper
+{
+ partial class Options
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Options));
+ this.buttonCancel = new System.Windows.Forms.Button();
+ this.propertyGrid1 = new System.Windows.Forms.PropertyGrid();
+ this.SuspendLayout();
+ //
+ // buttonCancel
+ //
+ this.buttonCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
+ this.buttonCancel.Location = new System.Drawing.Point(308, 315);
+ this.buttonCancel.Name = "buttonCancel";
+ this.buttonCancel.Size = new System.Drawing.Size(75, 25);
+ this.buttonCancel.TabIndex = 19;
+ this.buttonCancel.Text = "Close";
+ this.buttonCancel.UseVisualStyleBackColor = true;
+ //
+ // propertyGrid1
+ //
+ this.propertyGrid1.Dock = System.Windows.Forms.DockStyle.Top;
+ this.propertyGrid1.HelpVisible = false;
+ this.propertyGrid1.Location = new System.Drawing.Point(0, 0);
+ this.propertyGrid1.Name = "propertyGrid1";
+ this.propertyGrid1.PropertySort = System.Windows.Forms.PropertySort.Categorized;
+ this.propertyGrid1.Size = new System.Drawing.Size(395, 309);
+ this.propertyGrid1.TabIndex = 21;
+ this.propertyGrid1.ToolbarVisible = false;
+ //
+ // Options
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.CancelButton = this.buttonCancel;
+ this.ClientSize = new System.Drawing.Size(395, 352);
+ this.Controls.Add(this.propertyGrid1);
+ this.Controls.Add(this.buttonCancel);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
+ this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
+ this.MinimizeBox = false;
+ this.Name = "Options";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
+ this.Text = "Options";
+ this.Load += new System.EventHandler(this.Options_Load);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button buttonCancel;
+ private System.Windows.Forms.PropertyGrid propertyGrid1;
+ }
+}
\ No newline at end of file
diff --git a/CUERipper/Options.cs b/CUERipper/Options.cs
new file mode 100644
index 0000000..5daa3b6
--- /dev/null
+++ b/CUERipper/Options.cs
@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Text;
+using System.Windows.Forms;
+using CUETools.CTDB;
+using Microsoft.Win32;
+using System.Runtime.Serialization.Formatters.Binary;
+using CUETools.Processor;
+
+namespace CUERipper
+{
+ public partial class Options : Form
+ {
+ private CUEConfig config;
+
+ public Options(CUEConfig config)
+ {
+ this.config = config;
+ this.InitializeComponent();
+ }
+
+ private void Options_Load(object sender, EventArgs e)
+ {
+ this.propertyGrid1.SelectedObject = new CUERipperSettings(this.config);
+ }
+ }
+
+ public class CUERipperSettings
+ {
+ private CUEConfig config;
+
+ public CUERipperSettings(CUEConfig config)
+ {
+ this.config = config;
+ }
+
+ [DefaultValue("db.cuetools.net"), Category("CTDB"), DisplayName("CTDB Server")]
+ public string CTDBServer { get { return config.advanced.CTDBServer; } set { config.advanced.CTDBServer = value; } }
+
+ [DefaultValue(CUETools.Processor.CUEConfigAdvanced.ProxyMode.System), Category("Proxy"), DisplayName("Proxy mode")]
+ public CUETools.Processor.CUEConfigAdvanced.ProxyMode UseProxyMode { get { return config.advanced.UseProxyMode; } set { config.advanced.UseProxyMode = value; } }
+
+ [DefaultValue("127.0.0.1"), Category("Proxy"), DisplayName("Proxy server host")]
+ public string ProxyServer { get { return config.advanced.ProxyServer; } set { config.advanced.ProxyServer = value; } }
+
+ [DefaultValue(8080), Category("Proxy"), DisplayName("Proxy server port")]
+ public int ProxyPort { get { return config.advanced.ProxyPort; } set { config.advanced.ProxyPort = value; } }
+
+ [DefaultValue(""), Category("Proxy"), DisplayName("Proxy auth user")]
+ public string ProxyUser { get { return config.advanced.ProxyUser; } set { config.advanced.ProxyUser = value; } }
+
+ [DefaultValue(""), Category("Proxy"), DisplayName("Proxy auth password")]
+ public string ProxyPassword { get { return config.advanced.ProxyPassword; } set { config.advanced.ProxyPassword = value; } }
+
+ [DefaultValue(true), Category("Extraction"), DisplayName("Preserve HTOA")]
+ public bool preserveHTOA { get { return config.preserveHTOA; } set { config.preserveHTOA = value; } }
+
+ [DefaultValue(true), Category("Extraction"), DisplayName("EAC log style")]
+ public bool createEACLOG { get { return config.createEACLOG; } set { config.createEACLOG = value; } }
+
+ [DefaultValue(false), Category("Extraction"), DisplayName("Create M3U playlist")]
+ public bool createM3U { get { return config.createM3U; } set { config.createM3U = value; } }
+
+ [DefaultValue(true), Category("Extraction"), DisplayName("Embed album art")]
+ public bool embedAlbumArt { get { return config.embedAlbumArt; } set { config.embedAlbumArt = value; } }
+
+ [DefaultValue("%tracknumber%. %title%"), Category("Extraction"), DisplayName("Track filename")]
+ public string trackFilenameFormat { get { return config.trackFilenameFormat; } set { config.trackFilenameFormat = value; } }
+
+ [DefaultValue(CUETools.CTDB.CTDBMetadataSearch.Default), Category("CTDB"), DisplayName("Metadata search")]
+ public CUETools.CTDB.CTDBMetadataSearch metadataSearch { get { return config.advanced.metadataSearch; } set { config.advanced.metadataSearch = value; } }
+
+ [DefaultValue(CUETools.Processor.CUEConfigAdvanced.CTDBCoversSearch.Small), Category("CTDB"), DisplayName("Album art search")]
+ public CUETools.Processor.CUEConfigAdvanced.CTDBCoversSearch coversSearch { get { return config.advanced.coversSearch; } set { config.advanced.coversSearch = value; } }
+ }
+}
diff --git a/CUERipper/Options.resx b/CUERipper/Options.resx
new file mode 100644
index 0000000..630a3fe
--- /dev/null
+++ b/CUERipper/Options.resx
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+
+
+ AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAA
+ AAAAAAAAYWFhAGNiYQBkZGMAZWRjAGtqaABramoAa2trAGxragBtbW0Abm1sAG5ubgBvb28AcW9sAHJx
+ cQB2dHEAfnt3AHl5eQCAgIAAhYWFAIaGhQCHh4YAiomIAI+OjQCUkIoAkJCPAJKQjgCTko8AlpWUAJuX
+ kgCdmZMAnZyZAJycnACgm5QAoJ2ZAKKemACqpZ8AoaGhAKOiogClpaUApqamAKenpwCpp6UAq6iiAK+r
+ pQCoqKgAqqqqAKyqqACsrKwAra2sAK+urQC1sq0AubOrALu1rQC8tqwAvbevALCwsACxsbEAsrKyALW0
+ swC1tbUAt7e3ALu3sQC+urUAubm5ALq6ugC8vLwAvb29AL6+vgC/v78AwbuzAMK7sgDCvLQAw721AMa/
+ tQDIwbcAwcC/AMvDuQDMxLoAysW/AMzFvADOx70A0Mi+ANHJvgDQyb8A0cq/AMDAwADBwcEAwsLBAMPC
+ wQDCwsIAw8PDAMTEwwDFxMMAx8XCAMTExADFxcUAxsbGAMfHxgDHx8cAy8fCAMnHxADPysMAycjGAM7K
+ xADIyMgAycnJAMrKyADLy8sAzMzMAM3NzQDOzc0Azs7OAM/PzwDRy8EA0czHANHOyQDR0dEA0tLSANTU
+ 1ADV1dUA1tbWANjY2ADZ2dkA29vbANzc3ADd3d0A3t7eAOLi4gDk5OQA5eXlAOfn5wDp6ekA7e3tAE9O
+ TgBcAF4AIOSDBQEAAABgAoQF5AioAGzy+nYANvp2AAAAAAAAAAAAAAAAADb6dmAJqABSSJN2AAAAAAIQ
+ AAAMC6gAAQAAABgAAAAAAAAASAmoAEIAAAAAAAAALAmoAAAAAAAAAAAAAAAAAAAAAAAMAAAAAgAAAAEB
+ AAAAAAAAAAAAAAAAAAACAAAAZAAaAmgChAV3tCIAAAAAAGgChAUFAAAAhAmoACosk3a8BQAAAAAAwIj6
+ +naDY3B2AAA6AwAAAACcAToDrAmoAD7TOAAHABoApBnqAP0D+naRJZN2vAUAAAAAAAAAAAAAAAAAANgJ
+ qABA8VMDdQz/dQO18T0gN+/G/3UQ//////9xx//FyeA4ALl5N57yma+ama+a8pryma8gAAAAr5rymcng
+ OAAkCqgAHIM7AAwKqACx4DgAGAAAAAEAAADyma+ama+a8q+a8pma8pmv8pmvmpmvmvKa8pmvr5rymRYA
+ AAAWAAAADAuoAIgKqACH4TgAwGs+ABYAAAAMC6gAFgAAAAAANgAAADYAAAA2AET/YQFE/2EBRP9hAUT/
+ YQEw/2EBzP5hAcz+YQEw/2EBqGI+ACAjOACoYD4AAQAAAK+a8pmsCqgAvD1NALwFAABA8VMDFgAAALgK
+ qAAAAAAAAAAAAAAAJA8NIQAAAAAAAAAAAEdOUxVDOgNTTTYAAAAAACIMCksWbGMISgKGEAAAAD5CfygU
+ E19aCQ4odhIYAAA/KHhgbHVqY21gQ2wLHgAAAD9gV2BjLilXRDwuHQAALxwmcWFtKkhGH1dCQAYEBUWA
+ dmFuOUYAAEYtWj1WdgFchHlqcCc3AABJMF9BYX4HZ11Mem5CGzQ1H1tabhkXGgAAZHdtakEgJVphVz0r
+ AAAAaFx9d3t8eXd7dmxpESMAAHN9hXxYRHl3ODFsgz0sAAAAdG9rVFl/fjtRMikzAAAAAAByVVVigoEy
+ U1JQAAAAAAAAAAAAZmVeTwAAAAAAAPw/AADgBwAAwAMAAIABAACAAQAAwAMAAAAAAAABgAAAAYAAAAAA
+ AADAAwAAgAEAAIABAADAAwAA4AcAAPw/AAA=
+
+
+
\ No newline at end of file
diff --git a/CUERipper/Properties/Resources.Designer.cs b/CUERipper/Properties/Resources.Designer.cs
index 6e24536..c9e5dc0 100644
--- a/CUERipper/Properties/Resources.Designer.cs
+++ b/CUERipper/Properties/Resources.Designer.cs
@@ -102,6 +102,20 @@ namespace CUERipper.Properties {
}
}
+ internal static System.Drawing.Bitmap cog {
+ get {
+ object obj = ResourceManager.GetObject("cog", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
+ internal static System.Drawing.Icon cog1 {
+ get {
+ object obj = ResourceManager.GetObject("cog1", resourceCulture);
+ return ((System.Drawing.Icon)(obj));
+ }
+ }
+
///
/// Looks up a localized string similar to Detecting drives.
///
diff --git a/CUERipper/Properties/Resources.resx b/CUERipper/Properties/Resources.resx
index f9fee35..d488a4f 100644
--- a/CUERipper/Properties/Resources.resx
+++ b/CUERipper/Properties/Resources.resx
@@ -117,95 +117,102 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Exception
-
-
- Looking up album via
-
-
-
- ..\Resources\ipod_sound.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\Resources\wave.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\Resources\tta.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- Paused
+
+
+ ..\cddb.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Rip probably contains errors
-
- ..\musicbrainz.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\freedb.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\arok.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\Resources\cdrepair.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\Resources\users--arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\cddb.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\Resources\ogg.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- No CD drives found
-
-
- ..\Resources\tag-label.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\Resources\wv.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
..\Resources\accuraterip_16.bmp;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\arrow-circle-double.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\Resources\ape.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\Resources\mp3.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\Resources\spellcheck.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- You can try to repair it using CUETools
-
-
- Done ripping
-
Detecting drives
+
+ Exception
+
+
+ ..\Resources\wv.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\musicbrainz.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ Done ripping
+
+
+ ..\Resources\arrow-circle-double.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\wave.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
Failed to load ripper module
+
+ ..\Resources\ape.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\tag-label.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\spellcheck.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\freedb.gif;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\tta.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ You can try to repair it using CUETools
+
+
+ No CD drives found
+
..\Resources\flac.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- retry
+
+ Looking up album via
..\Resources\edit-list-order.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\arok.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\ogg.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\freedb16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\users--arrow.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\mp3.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\ipod_sound.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ retry
+
+
+ Paused
+
+
+ ..\Resources\cdrepair.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\cog.ico;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+
+ ..\Resources\cog.ico;System.Drawing.Icon, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
diff --git a/CUERipper/Resources/cog.ico b/CUERipper/Resources/cog.ico
new file mode 100644
index 0000000..3eec272
Binary files /dev/null and b/CUERipper/Resources/cog.ico differ
diff --git a/CUERipper/frmCUERipper.Designer.cs b/CUERipper/frmCUERipper.Designer.cs
index 34f36f2..728b368 100644
--- a/CUERipper/frmCUERipper.Designer.cs
+++ b/CUERipper/frmCUERipper.Designer.cs
@@ -55,7 +55,6 @@ namespace CUERipper
this.buttonPause = new System.Windows.Forms.Button();
this.numericWriteOffset = new System.Windows.Forms.NumericUpDown();
this.lblWriteOffset = new System.Windows.Forms.Label();
- this.checkBoxEACMode = new System.Windows.Forms.CheckBox();
this.groupBoxSettings = new System.Windows.Forms.GroupBox();
this.bnComboBoxLosslessOrNot = new CUEControls.ImgComboBox();
this.losslessOrNotBindingSource = new System.Windows.Forms.BindingSource(this.components);
@@ -102,6 +101,7 @@ namespace CUERipper
this.panel1 = new System.Windows.Forms.Panel();
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.backgroundWorkerArtwork = new System.ComponentModel.BackgroundWorker();
+ this.buttonSettings = new System.Windows.Forms.Button();
this.statusStrip1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.numericWriteOffset)).BeginInit();
this.groupBoxSettings.SuspendLayout();
@@ -268,13 +268,6 @@ namespace CUERipper
resources.ApplyResources(this.lblWriteOffset, "lblWriteOffset");
this.lblWriteOffset.Name = "lblWriteOffset";
//
- // checkBoxEACMode
- //
- resources.ApplyResources(this.checkBoxEACMode, "checkBoxEACMode");
- this.checkBoxEACMode.Name = "checkBoxEACMode";
- this.checkBoxEACMode.UseVisualStyleBackColor = true;
- this.checkBoxEACMode.CheckedChanged += new System.EventHandler(this.checkBoxEACMode_CheckedChanged);
- //
// groupBoxSettings
//
this.groupBoxSettings.Controls.Add(this.bnComboBoxLosslessOrNot);
@@ -288,7 +281,6 @@ namespace CUERipper
this.groupBoxSettings.Controls.Add(this.trackBarEncoderMode);
this.groupBoxSettings.Controls.Add(this.trackBarSecureMode);
this.groupBoxSettings.Controls.Add(this.lblWriteOffset);
- this.groupBoxSettings.Controls.Add(this.checkBoxEACMode);
this.groupBoxSettings.Controls.Add(this.numericWriteOffset);
resources.ApplyResources(this.groupBoxSettings, "groupBoxSettings");
this.groupBoxSettings.Name = "groupBoxSettings";
@@ -704,10 +696,19 @@ namespace CUERipper
this.backgroundWorkerArtwork.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.backgroundWorkerArtwork_ProgressChanged);
this.backgroundWorkerArtwork.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.backgroundWorkerArtwork_RunWorkerCompleted);
//
+ // buttonSettings
+ //
+ this.buttonSettings.Image = global::CUERipper.Properties.Resources.cog;
+ resources.ApplyResources(this.buttonSettings, "buttonSettings");
+ this.buttonSettings.Name = "buttonSettings";
+ this.buttonSettings.UseVisualStyleBackColor = true;
+ this.buttonSettings.Click += new System.EventHandler(this.buttonSettings_Click);
+ //
// frmCUERipper
//
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.buttonSettings);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.buttonFreedbSubmit);
@@ -771,8 +772,7 @@ namespace CUERipper
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusLabel2;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusAr;
private System.Windows.Forms.NumericUpDown numericWriteOffset;
- private System.Windows.Forms.Label lblWriteOffset;
- private System.Windows.Forms.CheckBox checkBoxEACMode;
+ private System.Windows.Forms.Label lblWriteOffset;
private System.Windows.Forms.GroupBox groupBoxSettings;
private System.Windows.Forms.ToolStripStatusLabel toolStripStatusCTDB;
private System.Windows.Forms.TrackBar trackBarEncoderMode;
@@ -821,6 +821,7 @@ namespace CUERipper
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.PictureBox pictureBox1;
private System.ComponentModel.BackgroundWorker backgroundWorkerArtwork;
+ private System.Windows.Forms.Button buttonSettings;
}
}
diff --git a/CUERipper/frmCUERipper.cs b/CUERipper/frmCUERipper.cs
index 3a1d733..35ddec1 100644
--- a/CUERipper/frmCUERipper.cs
+++ b/CUERipper/frmCUERipper.cs
@@ -158,7 +158,6 @@ namespace CUERipper
bnComboBoxOutputFormat.Items.Add(sr.Load(string.Format("OutputPathUseTemplate{0}", iFormat)) ?? "");
bnComboBoxOutputFormat.Text = sr.Load("PathFormat") ?? "%music%\\%artist%\\[%year% - ]%album%\\%artist% - %album%.cue";
- checkBoxEACMode.Checked = _config.createEACLOG;
SelectedOutputAudioType = (AudioEncoderType?)sr.LoadInt32("OutputAudioType", null, null) ?? AudioEncoderType.Lossless;
bnComboBoxImage.SelectedIndex = sr.LoadInt32("ComboImage", 0, bnComboBoxImage.Items.Count - 1) ?? 0;
trackBarSecureMode.Value = sr.LoadInt32("SecureMode", 0, trackBarSecureMode.Maximum - 1) ?? 1;
@@ -303,6 +302,7 @@ namespace CUERipper
buttonEncoding.Enabled = data.selectedRelease != null && !running &&
data.selectedRelease.ImageKey == "freedb" && (new CUEMetadata(data.selectedRelease.metadata)).FreedbToEncoding();
buttonReload.Enabled = data.selectedRelease != null && !running;
+ buttonSettings.Enabled = !running;
}
private void CheckStop()
@@ -587,9 +587,10 @@ namespace CUERipper
CheckStop();
//_progress.percentDisk = (1.0 + _progress.percentDisk) / 2;
//_progress.input = e.Uri.ToString();
+ string text = Properties.Resources.LookingUpVia + " FreeDB..." + (sender is string ? " " + (sender as string) : "");
this.BeginInvoke((MethodInvoker)delegate()
{
- toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " FreeDB...";
+ toolStripStatusLabel1.Text = text;
toolStripProgressBar1.Value = (100 + 2 * toolStripProgressBar1.Value) / 3;
});
}
@@ -643,7 +644,7 @@ namespace CUERipper
cueSheet.Action = CUEAction.Encode;
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " CTDB..."; });
- cueSheet.UseCUEToolsDB("CUERipper " + CUESheet.CUEToolsVersion, selectedDriveInfo.drive.ARName, false, CTDBMetadataSearch.Default);
+ cueSheet.UseCUEToolsDB("CUERipper " + CUESheet.CUEToolsVersion, selectedDriveInfo.drive.ARName, false, loadAllMetadata ? CTDBMetadataSearch.Extensive : _config.advanced.metadataSearch);
cueSheet.CTDB.UploadHelper.onProgress += new EventHandler(UploadProgress);
this.BeginInvoke((MethodInvoker)delegate() { toolStripStatusLabel1.Text = Properties.Resources.LookingUpVia + " AccurateRip..."; });
cueSheet.UseAccurateRip();
@@ -717,13 +718,20 @@ namespace CUERipper
code = m_freedb.Query(AccurateRipVerify.CalculateCDDBQuery(audioSource.TOC), out queryResult, out coll);
if (code == FreedbHelper.ResponseCodes.CODE_200)
{
- CDEntry cdEntry;
- FreeDB_LookupProgress(this);
- code = m_freedb.Read(queryResult, out cdEntry);
- if (code == FreedbHelper.ResponseCodes.CODE_210)
+ bool duplicate = false;
+ foreach (var ctdbMeta in cueSheet.CTDB.Metadata)
+ if (ctdbMeta.source == "freedb" && ctdbMeta.id == queryResult.Category + "/" + queryResult.Discid)
+ duplicate = true;
+ if (!duplicate)
{
- CUEMetadataEntry r = CreateCUESheet(audioSource, cdEntry);
- data.Releases.Add(r);
+ FreeDB_LookupProgress(queryResult.Category + "/" + queryResult.Discid);
+ CDEntry cdEntry;
+ code = m_freedb.Read(queryResult, out cdEntry);
+ if (code == FreedbHelper.ResponseCodes.CODE_210)
+ {
+ CUEMetadataEntry r = CreateCUESheet(audioSource, cdEntry);
+ data.Releases.Add(r);
+ }
}
}
else
@@ -732,13 +740,20 @@ namespace CUERipper
{
foreach (QueryResult qr in coll)
{
- CDEntry cdEntry;
- FreeDB_LookupProgress(this);
- code = m_freedb.Read(qr, out cdEntry);
- if (code == FreedbHelper.ResponseCodes.CODE_210)
+ bool duplicate = false;
+ foreach (var ctdbMeta in cueSheet.CTDB.Metadata)
+ if (ctdbMeta.source == "freedb" && ctdbMeta.id == qr.Category + "/" + qr.Discid)
+ duplicate = true;
+ if (!duplicate)
{
- CUEMetadataEntry r = CreateCUESheet(audioSource, cdEntry);
- data.Releases.Add(r);
+ CDEntry cdEntry;
+ FreeDB_LookupProgress(qr.Category + "/" + qr.Discid);
+ code = m_freedb.Read(qr, out cdEntry);
+ if (code == FreedbHelper.ResponseCodes.CODE_210)
+ {
+ CUEMetadataEntry r = CreateCUESheet(audioSource, cdEntry);
+ data.Releases.Add(r);
+ }
}
}
}
@@ -776,7 +791,8 @@ namespace CUERipper
toolStripStatusLabelMusicBrainz.BorderStyle = mbresults_count > 0 ? Border3DStyle.SunkenInner : Border3DStyle.RaisedInner;
toolStripStatusLabelMusicBrainz.Text = mbresults_count > 0 ? mbresults_count.ToString() : "";
toolStripStatusLabelMusicBrainz.ToolTipText = "Musicbrainz: " + (mbresults_count > 0 ? mbresults_count.ToString() + " entries found." : (musicbrainzError + "click to submit."));
- backgroundWorkerArtwork.RunWorkerAsync(new BackgroundWorkerArtworkArgs() { cueSheet = cueSheet, meta = data.selectedRelease });
+ if (_config.advanced.coversSearch != CUEConfigAdvanced.CTDBCoversSearch.None)
+ backgroundWorkerArtwork.RunWorkerAsync(new BackgroundWorkerArtworkArgs() { cueSheet = cueSheet, meta = data.selectedRelease });
});
}
@@ -939,11 +955,6 @@ namespace CUERipper
}
}
- private void checkBoxEACMode_CheckedChanged(object sender, EventArgs e)
- {
- _config.createEACLOG = checkBoxEACMode.Checked;
- }
-
private void bnComboBoxEncoder_SelectedValueChanged(object sender, EventArgs e)
{
if (SelectedOutputAudioFormat == null)
@@ -1452,8 +1463,7 @@ namespace CUERipper
continue;
foreach (var coverart in metadata.coverart)
{
- bool large = false;
- var uri = large ?
+ var uri = _config.advanced.coversSearch == CUEConfigAdvanced.CTDBCoversSearch.Large ?
coverart.uri : coverart.uri150 ?? coverart.uri;
if (knownUrls.Contains(uri) || !coverart.primary)
continue;
@@ -1497,6 +1507,12 @@ namespace CUERipper
UpdateAlbumArt(false);
}
}
+
+ private void buttonSettings_Click(object sender, EventArgs e)
+ {
+ var form = new Options(this._config);
+ form.ShowDialog(this);
+ }
}
internal class BackgroundWorkerArtworkArgs
diff --git a/CUERipper/frmCUERipper.resx b/CUERipper/frmCUERipper.resx
index 91c4825..a14e215 100644
--- a/CUERipper/frmCUERipper.resx
+++ b/CUERipper/frmCUERipper.resx
@@ -196,7 +196,7 @@
$this
- 14
+ 15
@@ -263,7 +263,7 @@
$this
- 13
+ 14
Top, Left, Right
@@ -383,7 +383,7 @@
groupBoxSettings
- 12
+ 11
True
@@ -415,36 +415,6 @@
10
-
- True
-
-
- NoControl
-
-
- 192, 47
-
-
- 88, 17
-
-
- 6
-
-
- EAC log style
-
-
- checkBoxEACMode
-
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- groupBoxSettings
-
-
- 11
-
17, 95
@@ -767,7 +737,7 @@
$this
- 12
+ 13
882, 56
@@ -780,7 +750,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABy
- CQAAAk1TRnQBSQFMAgEBBAEAAWQBAAFkAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ CQAAAk1TRnQBSQFMAgEBBAEAAYQBAAGEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASADAAEBAQABCAYAAQgYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -914,7 +884,7 @@
$this
- 15
+ 16
Top, Left, Right
@@ -930,7 +900,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADy
- EAAAAk1TRnQBSQFMAgEBCgEAAWQBAAFkAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
+ EAAAAk1TRnQBSQFMAgEBCgEAAYQBAAGEAQABEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAATADAAEBAQABCAYAAQwYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA
@@ -1027,7 +997,7 @@
$this
- 9
+ 10
Top, Left, Right
@@ -1054,7 +1024,7 @@
$this
- 10
+ 11
Top, Left, Right
@@ -1081,7 +1051,7 @@
$this
- 11
+ 12
Top, Left, Right
@@ -1126,7 +1096,7 @@
$this
- 16
+ 17
Flat
@@ -1138,7 +1108,7 @@
NoControl
- 483, 63
+ 595, 64
19, 17
@@ -1159,7 +1129,7 @@
$this
- 7
+ 8
7, 60
@@ -1186,7 +1156,7 @@
$this
- 5
+ 6
NoControl
@@ -1216,7 +1186,7 @@
$this
- 8
+ 9
NoControl
@@ -1246,7 +1216,7 @@
$this
- 6
+ 7
NoControl
@@ -1276,7 +1246,7 @@
$this
- 4
+ 5
NoControl
@@ -1309,7 +1279,7 @@
$this
- 3
+ 4
NoControl
@@ -1339,7 +1309,7 @@
$this
- 2
+ 3
Top, Right
@@ -1363,7 +1333,7 @@
$this
- 1
+ 2
332, 339
@@ -1387,11 +1357,41 @@
$this
- 0
+ 1
1148, 17
+
+ NoControl
+
+
+ 443, 60
+
+
+ 80, 23
+
+
+ 44
+
+
+ Options
+
+
+ ImageBeforeText
+
+
+ buttonSettings
+
+
+ System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ $this
+
+
+ 0
+
True
diff --git a/CUETools.Processor/CUEConfigAdvanced.cs b/CUETools.Processor/CUEConfigAdvanced.cs
index de99c76..fa236c5 100644
--- a/CUETools.Processor/CUEConfigAdvanced.cs
+++ b/CUETools.Processor/CUEConfigAdvanced.cs
@@ -14,6 +14,13 @@ namespace CUETools.Processor
Custom
}
+ public enum CTDBCoversSearch
+ {
+ Large,
+ Small,
+ None
+ }
+
public CUEConfigAdvanced()
{
// Iterate through each property and call ResetValue()
@@ -68,5 +75,11 @@ namespace CUETools.Processor
[DefaultValue("db.cuetools.net"), Category("CTDB"), DisplayName("CTDB Server")]
public string CTDBServer { get; set; }
+
+ [DefaultValue(CUETools.CTDB.CTDBMetadataSearch.Default), Category("CTDB"), DisplayName("Metadata search")]
+ public CUETools.CTDB.CTDBMetadataSearch metadataSearch { get; set; }
+
+ [DefaultValue(CTDBCoversSearch.Small), Category("CTDB"), DisplayName("Album art search")]
+ public CTDBCoversSearch coversSearch { get; set; }
}
}