From 3b43eb2f979fe673b5ca193db7d7adc7da3d73ac Mon Sep 17 00:00:00 2001 From: chudov Date: Mon, 13 Feb 2012 21:00:30 +0000 Subject: [PATCH] CUERipper: options dialog --- CUERipper/CUERipper.csproj | 10 ++ CUERipper/Options.Designer.cs | 83 ++++++++++++ CUERipper/Options.cs | 79 +++++++++++ CUERipper/Options.resx | 149 +++++++++++++++++++++ CUERipper/Properties/Resources.Designer.cs | 14 ++ CUERipper/Properties/Resources.resx | 143 ++++++++++---------- CUERipper/Resources/cog.ico | Bin 0 -> 1406 bytes CUERipper/frmCUERipper.Designer.cs | 23 ++-- CUERipper/frmCUERipper.cs | 62 +++++---- CUERipper/frmCUERipper.resx | 102 +++++++------- CUETools.Processor/CUEConfigAdvanced.cs | 13 ++ 11 files changed, 525 insertions(+), 153 deletions(-) create mode 100644 CUERipper/Options.Designer.cs create mode 100644 CUERipper/Options.cs create mode 100644 CUERipper/Options.resx create mode 100644 CUERipper/Resources/cog.ico 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 0000000000000000000000000000000000000000..3eec272eec7549149f8e3213661bc50fcf4a4c79 GIT binary patch literal 1406 zcmZQzU}Ruq5D);-91Iz(3=Con3=A3!3=9Gc3=9ek5OD?&U<47EI59DiAvr0LAtfc5 zAvGnLAv-IBAv-IJAv-&pAtyVFAvZUdAul(FAulhFAwNH#p)fy(p{THsp{%5kp{}}| zp|Y})p`oFHp|!P@p{=czp}oD0p{uilp}((}VakLqh6xk;8758WW0*XtpJCe6DGalx zPhyxmb27u+IWrmN%$dWmVD=P-1#@RIESfiiVb#+43=0=7WLUgt5yR4@OBt3eTgI?_ z`ErJp%a<~&Ua^Q_{pzI*D^{#vShZ>u!KwknPKbJtqj|@Z)e!OeIvuZU0WG;?%c_+ zYu7G@J$v>r?A^PUVc))e4Ey)*XE?ZfGsB_Xn-~u5*}`ym?^cFm`?oTjIJlkR;DP-N zrw{LBICEqd!>ObD8O|Kt!*K5SUWN-N_Ay*MxsTz($^8r$Pwi(oaNq#L!Gi}G4jnqk zaQG02KE!bN@L`4{M-DR_J#v`g_|ZcQM~)m}IC}Ib!?9z>7>*wY;o}Uaj~`+eZ_Z*REY-xN+kK!_AvF8E)Uc&2Z<=9frGi z?=sxGcaP!Gqel!+o;+cA`t&Ko^XJbQUcP+E@b>Ln27f<4h8Tu828Achte|9*z|_L} zgkuFm&Zl2x3}(N|P*RcEud)Qr6%0WhlfmLl0t^g1+$$JB`XrzVJvdh|I6>JuoGYL# z1jWO^z`z7bs~}AXVX#;VgA`K+QwwYP7A3F@h|S8tz|g|Ef@_M9a!Rw3a}%6%xaAla80-_m6O#2b!(D9jWEmLrWz-52bG1C&>bf#Co%149EN1cTTh US;hti1`r0ZL1M`AAUz(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; } } }