public string ExtractBitrate(string birth, FileInfo file)
{
switch (birth)
{
case "waffles":
{
if (file.Name.Contains("(VBR)"))
{
if (file.Name.Contains("V0"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V0(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace('#', '0');
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("V10"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V10(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace("#", "10");
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("V2"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V2(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace('#', '2');
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("V4"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V4(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace('#', '4');
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("V6"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V6(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace('#', '6');
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("V8"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V8(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace('#', '8');
bitrate = structure;
}
return bitrate;
}
}
else if (file.Name.Contains("Lossless]"))
return SettingsHandler.GetBitrate("Lossless");
else
{
Match match = Regex.Match(file.Name, "[-][1-3]{1}[0-9]{2}");
if (match.Success)
{
string value = match.Value;
string bitrate = match.Value.Substring(1, 3);
value = value.Substring(1, 3);
if (int.Parse(value) > 191 && int.Parse(value) < 321)
{
string structure = SettingsHandler.GetBitrate("CBR");
if (structure.Contains("###"))
{
bitrate = "";
while (structure.Contains("###"))
{
structure = structure.Replace("###", value);
}
bitrate = structure;
}
return bitrate;
}
else
{
return IssueError("Can't parse bitrate", file);
}
}
else
{
return IssueError("Can't parse bitrate", file);
}
}
}
return IssueError("Can't parse bitrate", file);
case "what":
{
try
{
if (file.Name.Contains("(VBR)"))
{
if (file.Name.Contains("V0"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V0(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace('#', '0');
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("V10"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V10(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace("#", "10");
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("V1"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V1(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace('#', '1');
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("V2"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V2(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace('#', '2');
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("V4"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V4(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace('#', '4');
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("V6"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V6(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace('#', '6');
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("V8"))
{
string structure = SettingsHandler.GetBitrate("VBR");
string bitrate = "V8(VBR)";
if (structure.Contains("#"))
{
bitrate = "";
while (structure.Contains("#"))
structure = structure.Replace('#', '8');
bitrate = structure;
}
return bitrate;
}
else if (file.Name.Contains("APX(VBR)"))
return SettingsHandler.GetBitrate("APX");
else if (file.Name.Contains("APS(VBR)"))
return SettingsHandler.GetBitrate("APS");
else if (file.Name.Contains("q8.x(VBR)"))
return SettingsHandler.GetBitrate("q8.x");
else
return IssueError("Can't parse bitrate", file);
}
else if (file.Name.Contains("24bit Lossless"))
return SettingsHandler.GetBitrate("24bitLossless");
else if (file.Name.Contains("FLAC"))
return SettingsHandler.GetBitrate("Lossless");
else
{
Match match = Regex.Match(file.Name, "[1-3]{1}[0-9]{2}[)]");
if (match.Success)
{
string value = match.Value;
value = value.Substring(0, 3);
string bitrate = value;
if (int.Parse(value) > 191 && int.Parse(value) < 321)
{
string structure = SettingsHandler.GetBitrate("CBR");
if (structure.Contains("###"))
{
bitrate = "";
while (structure.Contains("###"))
{
structure = structure.Replace("###", value);
}
bitrate = structure;
}
return bitrate;
}
else
{
return IssueError("Can't parse bitrate", file);
}
}
else
return IssueError("Can't parse bitrate", file);
}
}
catch (Exception e)
{
ew.IssueGeneralWarning("Error parsing bitrate", "Please report", e.Message + "\n" + e.StackTrace);
return IssueError("Can't parse bitrate", file);
}
}
default:
return IssueError("Can't parse bitrate", file);
}
}