diff --git a/RedumpTool/Features/SiteFeature.cs b/RedumpTool/Features/SiteFeature.cs
index 56f1783..2b63b39 100644
--- a/RedumpTool/Features/SiteFeature.cs
+++ b/RedumpTool/Features/SiteFeature.cs
@@ -48,6 +48,12 @@ namespace RedumpTool.Features
private const string _discTitleExactName = "disc-title-exact";
internal readonly BooleanInput DiscTitleExactInput = new(_discTitleExactName, ["--disc-title-exact"], "Add disc title exact matching to filter [true, false]");
+ private const string _discTitleForeignName = "disc-title-foreign";
+ internal readonly StringInput DiscTitleForeignInput = new(_discTitleForeignName, ["--disc-title-foreign"], "Add foreign disc title to filter");
+
+ private const string _discTitleForeignExactName = "disc-title-foreign-exact";
+ internal readonly BooleanInput DiscTitleForeignExactInput = new(_discTitleForeignExactName, ["--disc-title-foreign-exact"], "Add foreign disc title exact matching to filter [true, false]");
+
private const string _dumperName = "dumper";
internal readonly StringInput DumperInput = new(_dumperName, ["--dumper"], "Add dumper to filter");
@@ -249,6 +255,8 @@ namespace RedumpTool.Features
string? discNumber = DiscNumberInput.Value;
string? discTitle = DiscTitleInput.Value;
bool? discTitleExact = DiscTitleExactInput.Value;
+ string? discTitleForeign = DiscTitleForeignInput.Value;
+ bool? discTitleForeignExact = DiscTitleForeignExactInput.Value;
string? dumper = DumperInput.Value;
YesNo? edc = EdcInput.Value?.ToYesNo();
string? edition = EditionInput.Value;
@@ -331,6 +339,11 @@ namespace RedumpTool.Features
category,
comments,
contents,
+ discNumber,
+ discTitle,
+ discTitleExact,
+ discTitleForeign,
+ discTitleForeignExact,
dumper,
edc,
edition,
@@ -358,9 +371,6 @@ namespace RedumpTool.Features
titleExact,
titleForeign,
titleForeignExact,
- discNumber,
- discTitle,
- discTitleExact,
toolstamp,
tracksMax,
tracksMin,
@@ -377,6 +387,11 @@ namespace RedumpTool.Features
category,
comments,
contents,
+ discNumber,
+ discTitle,
+ discTitleExact,
+ discTitleForeign,
+ discTitleForeignExact,
dumper,
edc,
edition,
@@ -404,9 +419,6 @@ namespace RedumpTool.Features
titleExact,
titleForeign,
titleForeignExact,
- discNumber,
- discTitle,
- discTitleExact,
toolstamp,
tracksMax,
tracksMin,
diff --git a/RedumpTool/Program.cs b/RedumpTool/Program.cs
index 2c4004d..d30117d 100644
--- a/RedumpTool/Program.cs
+++ b/RedumpTool/Program.cs
@@ -97,6 +97,8 @@ namespace RedumpTool
Console.WriteLine(" --disc-number - Add disc number to filter");
Console.WriteLine(" --disc-title - Add disc title to filter");
Console.WriteLine(" --disc-title-exact - Add disc title exact matching to filter [true, false]");
+ Console.WriteLine(" --disc-title-foreign - Add foreign disc title to filter");
+ Console.WriteLine(" --disc-title-foreign-exact - Add foreign disc title exact matching to filter [true, false]");
Console.WriteLine(" --dumper - Add dumper to filter");
Console.WriteLine(" --edc - Add EDC status to filter [true, false]");
Console.WriteLine(" --edition - Add edition to filter");
diff --git a/SabreTools.RedumpLib/Endpoints/Discs.cs b/SabreTools.RedumpLib/Endpoints/Discs.cs
index f52044e..8d469c1 100644
--- a/SabreTools.RedumpLib/Endpoints/Discs.cs
+++ b/SabreTools.RedumpLib/Endpoints/Discs.cs
@@ -53,6 +53,12 @@ namespace SabreTools.RedumpLib.Endpoints
[JsonProperty("disc_title_exact")]
public bool? DiscTitleExact { get; set; }
+ [JsonProperty("disc_title_foreign")]
+ public string? DiscTitleForeign { get; set; }
+
+ [JsonProperty("disc_title_foreign_exact")]
+ public bool? DiscTitleForeignExact { get; set; }
+
[JsonProperty("serial")]
public string? Serial { get; set; }
@@ -218,6 +224,12 @@ namespace SabreTools.RedumpLib.Endpoints
if (DiscTitle is not null && DiscTitleExact is not null)
sb.Append($"disc_title_exact={DiscTitleExact.ToYesNo().LongName()}&");
+ // Foreign Disc Title
+ if (DiscTitleForeign is not null)
+ sb.Append($"disc_title_foreign={DiscTitleForeign}&");
+ if (DiscTitleForeign is not null && DiscTitleForeignExact is not null)
+ sb.Append($"disc_title_foreign_exact={DiscTitleForeignExact.ToYesNo().LongName()}&");
+
// Serial
if (Serial is not null)
sb.Append($"serial={Serial}&");
diff --git a/SabreTools.RedumpLib/Web/Discs.cs b/SabreTools.RedumpLib/Web/Discs.cs
index b1530d5..acbf2df 100644
--- a/SabreTools.RedumpLib/Web/Discs.cs
+++ b/SabreTools.RedumpLib/Web/Discs.cs
@@ -22,6 +22,11 @@ namespace SabreTools.RedumpLib.Web
/// Add category to filter, null to omit
/// Add comments to filter, null to omit
/// Add contents to filter, null to omit
+ /// Add disc number to filter, null to omit
+ /// Add disc title to filter, null to omit
+ /// Set exact disc title handling, null to omit
+ /// Add foreign disc title to filter, null to omit
+ /// Set exact foreign disc title handling, null to omit
/// Add dumper name to filter, null to omit
/// Add EDC status to filter, null to omit
/// Add edition to filter, null to omit
@@ -49,9 +54,6 @@ namespace SabreTools.RedumpLib.Web
/// Set exact title handling, null to omit
/// Add foreign title to filter, null to omit
/// Set exact foreign title handling, null to omit
- /// Add disc number to filter, null to omit
- /// Add disc title to filter, null to omit
- /// Set disc foreign title handling, null to omit
/// Add toolstamp to filter, null to omit
/// Add maximum track count to filter, null to omit
/// Add minimum track count to filter, null to omit
@@ -69,6 +71,11 @@ namespace SabreTools.RedumpLib.Web
DiscCategory? category = null,
string? comments = null,
string? contents = null,
+ string? discNumber = null,
+ string? discTitle = null,
+ bool? discTitleExact = null,
+ string? discTitleForeign = null,
+ bool? discTitleForeignExact = null,
string? dumper = null,
YesNo? edc = null,
string? edition = null,
@@ -96,9 +103,6 @@ namespace SabreTools.RedumpLib.Web
bool? titleExact = null,
string? titleForeign = null,
bool? titleForeignExact = null,
- string? discNumber = null,
- string? discTitle = null,
- bool? discTitleExact = null,
string? toolstamp = null,
long? tracksMax = null,
long? tracksMin = null,
@@ -133,6 +137,8 @@ namespace SabreTools.RedumpLib.Web
DiscNumber = discNumber,
DiscTitle = discTitle,
DiscTitleExact = discTitleExact,
+ DiscTitleForeign = discTitleForeign,
+ DiscTitleForeignExact = discTitleForeignExact,
Serial = serial,
SerialExact = serialExact,
Edition = edition,
@@ -247,6 +253,11 @@ namespace SabreTools.RedumpLib.Web
/// Add category to filter, null to omit
/// Add comments to filter, null to omit
/// Add contents to filter, null to omit
+ /// Add disc number to filter, null to omit
+ /// Add disc title to filter, null to omit
+ /// Set exact disc title handling, null to omit
+ /// Add foreign disc title to filter, null to omit
+ /// Set exact foreign disc title handling, null to omit
/// Add dumper name to filter, null to omit
/// Add EDC status to filter, null to omit
/// Add edition to filter, null to omit
@@ -274,9 +285,6 @@ namespace SabreTools.RedumpLib.Web
/// Set exact title handling, null to omit
/// Add foreign title to filter, null to omit
/// Set exact foreign title handling, null to omit
- /// Add disc number to filter, null to omit
- /// Add disc title to filter, null to omit
- /// Set disc foreign title handling, null to omit
/// Add toolstamp to filter, null to omit
/// Add maximum track count to filter, null to omit
/// Add minimum track count to filter, null to omit
@@ -292,6 +300,11 @@ namespace SabreTools.RedumpLib.Web
DiscCategory? category = null,
string? comments = null,
string? contents = null,
+ string? discNumber = null,
+ string? discTitle = null,
+ bool? discTitleExact = null,
+ string? discTitleForeign = null,
+ bool? discTitleForeignExact = null,
string? dumper = null,
YesNo? edc = null,
string? edition = null,
@@ -319,9 +332,6 @@ namespace SabreTools.RedumpLib.Web
bool? titleExact = null,
string? titleForeign = null,
bool? titleForeignExact = null,
- string? discNumber = null,
- string? discTitle = null,
- bool? discTitleExact = null,
string? toolstamp = null,
long? tracksMax = null,
long? tracksMin = null,
@@ -355,6 +365,8 @@ namespace SabreTools.RedumpLib.Web
DiscNumber = discNumber,
DiscTitle = discTitle,
DiscTitleExact = discTitleExact,
+ DiscTitleForeign = discTitleForeign,
+ DiscTitleForeignExact = discTitleForeignExact,
Serial = serial,
SerialExact = serialExact,
Edition = edition,