diff --git a/CUETools/frmSettings.Designer.cs b/CUETools/frmSettings.Designer.cs
index f0fdcb1..64e1cf1 100644
--- a/CUETools/frmSettings.Designer.cs
+++ b/CUETools/frmSettings.Designer.cs
@@ -27,6 +27,7 @@ namespace JDP {
System.Windows.Forms.Button btnCancel;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmSettings));
this.grpGeneral = new System.Windows.Forms.GroupBox();
+ this.chkTruncateExtra4206Samples = new System.Windows.Forms.CheckBox();
this.chkCreateCUEFileWhenEmbedded = new System.Windows.Forms.CheckBox();
this.chkCreateM3U = new System.Windows.Forms.CheckBox();
this.chkFillUpCUE = new System.Windows.Forms.CheckBox();
@@ -132,6 +133,7 @@ namespace JDP {
this.grpGeneral.AccessibleName = null;
resources.ApplyResources(this.grpGeneral, "grpGeneral");
this.grpGeneral.BackgroundImage = null;
+ this.grpGeneral.Controls.Add(this.chkTruncateExtra4206Samples);
this.grpGeneral.Controls.Add(this.chkCreateCUEFileWhenEmbedded);
this.grpGeneral.Controls.Add(this.chkCreateM3U);
this.grpGeneral.Controls.Add(this.chkFillUpCUE);
@@ -145,6 +147,17 @@ namespace JDP {
this.grpGeneral.TabStop = false;
this.toolTip1.SetToolTip(this.grpGeneral, resources.GetString("grpGeneral.ToolTip"));
//
+ // chkTruncateExtra4206Samples
+ //
+ this.chkTruncateExtra4206Samples.AccessibleDescription = null;
+ this.chkTruncateExtra4206Samples.AccessibleName = null;
+ resources.ApplyResources(this.chkTruncateExtra4206Samples, "chkTruncateExtra4206Samples");
+ this.chkTruncateExtra4206Samples.BackgroundImage = null;
+ this.chkTruncateExtra4206Samples.Font = null;
+ this.chkTruncateExtra4206Samples.Name = "chkTruncateExtra4206Samples";
+ this.toolTip1.SetToolTip(this.chkTruncateExtra4206Samples, resources.GetString("chkTruncateExtra4206Samples.ToolTip"));
+ this.chkTruncateExtra4206Samples.UseVisualStyleBackColor = true;
+ //
// chkCreateCUEFileWhenEmbedded
//
this.chkCreateCUEFileWhenEmbedded.AccessibleDescription = null;
@@ -1106,6 +1119,7 @@ namespace JDP {
private System.Windows.Forms.CheckBox chkHDCDStopLooking;
private System.Windows.Forms.CheckBox chkCreateM3U;
private System.Windows.Forms.CheckBox chkCreateCUEFileWhenEmbedded;
+ private System.Windows.Forms.CheckBox chkTruncateExtra4206Samples;
}
}
\ No newline at end of file
diff --git a/CUETools/frmSettings.cs b/CUETools/frmSettings.cs
index 61fb93c..30cb75f 100644
--- a/CUETools/frmSettings.cs
+++ b/CUETools/frmSettings.cs
@@ -62,6 +62,7 @@ namespace JDP {
chkHDCDStopLooking.Checked = _config.wait750FramesForHDCD;
chkCreateM3U.Checked = _config.createM3U;
chkCreateCUEFileWhenEmbedded.Checked = _config.createCUEFileWhenEmbedded;
+ chkTruncateExtra4206Samples.Checked = _config.truncate4608ExtraSamples;
}
private void frmSettings_FormClosing(object sender, FormClosingEventArgs e) {
@@ -125,6 +126,7 @@ namespace JDP {
_config.decodeHDCD = chkHDCDDecode.Checked;
_config.createM3U = chkCreateM3U.Checked;
_config.createCUEFileWhenEmbedded = chkCreateCUEFileWhenEmbedded.Checked;
+ _config.truncate4608ExtraSamples = chkTruncateExtra4206Samples.Checked;
}
private void chkArFixOffset_CheckedChanged(object sender, EventArgs e)
diff --git a/CUETools/frmSettings.resx b/CUETools/frmSettings.resx
index 99c05b2..1115077 100644
--- a/CUETools/frmSettings.resx
+++ b/CUETools/frmSettings.resx
@@ -133,27 +133,35 @@
73, 23
+
+ Add ACCURATERIPCOUNT/ACCURATERIPCOUNTALLOFFSETS/ACCURATERIPTOTAL tags to output files. You can set up foobar2000 to show those values, and see if your music was ripped correctly or how popular it is.
+
137, 17
+
+ 8, 6
+
2
-
-
- True
-
6, 20
+
+ lblSingleFilenameFormat
+
+
+ 12, 172
+
System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 12, 112
System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -164,17 +172,21 @@
labelEncodeWhenConfidence
+
2
-
- Decode HDCD to 24 bit
+
+ 7
Single format:
-
- 5
+
+ chkWriteARLogOnVerify
+
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Very High
@@ -203,9 +215,6 @@
%N-%A-%T
-
- HDCD decoding is irreversable. Resulting files cannot be burned to the CD. 24-bit audio files are created, but the actual resolution is 20 bit
-
btnOK
@@ -218,6 +227,9 @@
36, 21
+
+ True
+
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -242,6 +254,9 @@
6
+
+ Некоторые FLAC-кодировщики добавляют лишние 4206 пустых сэмплов в конце файла. Эту ситуацию можно легко обнаружить и исправить.
+
12, 20
@@ -251,8 +266,8 @@
grpWavPack
-
- True
+
+ 136, 17
4
@@ -276,9 +291,6 @@
tabControl1
-
- 81, 17
-
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -286,7 +298,7 @@
True
- 2
+ 3
chkHDCDStopLooking
@@ -294,9 +306,6 @@
groupBox3
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
System.Windows.Forms.Form, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -312,9 +321,6 @@
542, 307
-
-
-
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -324,8 +330,8 @@
-
- groupBox1
+
+ 0
1
@@ -354,6 +360,9 @@
9, 93
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
2
@@ -375,8 +384,8 @@
Yes
-
- 10
+
+ 1
grpFLAC
@@ -411,6 +420,9 @@
54, 17
+
+ grpHDCD
+
@@ -420,6 +432,9 @@
4
+
+ rbWVHigh
+
groupBox1
@@ -438,8 +453,8 @@
lblTrackFilenameFormat
-
- grpAudioFilenames
+
+ Top, Left, Right
75, 17
@@ -453,20 +468,20 @@
1
-
-
-
-
+
0
+
+ rbAPEnormal
+
True
System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 5
+
+ 12
Fill up missing CUE data from tags
@@ -528,30 +543,33 @@
125, 17
+
+ 1
+
Locate audio files if missing
72, 13
-
- txtSingleFilenameFormat
-
Codecs
-
- Audio Filenames
+
+ numericWriteOffset
2
- 4
+ 5
+
+ 6
+
rbWVVeryHigh
@@ -576,8 +594,11 @@
System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 1
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 46, 17
2
@@ -606,11 +627,11 @@
0
-
-
+
+ groupBox1
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ grpGeneral
229, 17
@@ -618,11 +639,17 @@
4
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ FLAC
-
- chkWriteARLogOnVerify
+
+ 12, 61
+
+
+ 543, 253
+
+
+ Extra mode:
True
@@ -633,9 +660,6 @@
273, 271
-
- 0
-
numericFLACCompressionLevel
@@ -648,17 +672,14 @@
2
-
-
-
groupBox3
with confidence >=
-
- 38, 21
+
+ 6
12, 100
@@ -690,8 +711,8 @@
6
-
- FLAC
+
+ 38, 21
True
@@ -714,8 +735,11 @@
0
-
-
+
+ System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ grpAudioFilenames
73, 23
@@ -735,8 +759,8 @@
Force ANSI filenames
-
- Top, Right
+
+
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -762,8 +786,17 @@
0
-
- grpFLAC
+
+
+
+
+ 8
+
+
+ True
+
+
+ Decode HDCD to 24 bit
1
@@ -804,23 +837,26 @@
tabPage3
-
- 97, 13
-
235, 40
System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ groupBox2
+
6
-
- numEncodeWhenConfidence
+
+ 5
True
@@ -831,6 +867,9 @@
chkFLACVerify
+
+
+
CUETools
@@ -840,11 +879,8 @@
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 1
-
-
- chkAutoCorrectFilenames
+
+ 11
True
@@ -888,12 +924,15 @@
numEncodeWhenPercent
-
- 12, 61
+
+ True
grpGeneral
+
+ numEncodeWhenConfidence
+
7
@@ -904,7 +943,7 @@
2
- 5
+ 6
tabControl1
@@ -918,8 +957,11 @@
1
+
+ 9
+
- 7
+ 8
2
@@ -933,8 +975,8 @@
11
-
- 9
+
+ 1
txtSpecialExceptions
@@ -969,18 +1011,12 @@
chkWriteArTagsOnConvert
-
- groupBox1
-
True
-
- True
-
System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -990,11 +1026,8 @@
txtTrackFilenameFormat
-
- 0
-
-
- grpWavPack
+
+ groupBox1
Right
@@ -1008,6 +1041,9 @@
grpAudioFilenames
+
+ True
+
lblFLACCompressionLevel
@@ -1035,14 +1071,17 @@
grpGeneral
-
- 6
+
+ 215, 17
True
-
- 0
+
+ txtSingleFilenameFormat
+
+
+ 7
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -1057,13 +1096,16 @@
grpGeneral
- 6
+ 7
-
- 543, 253
+
+ NoControl
-
- CenterParent
+
+ Monkey's Audio (.ape)
+
+
+ 5
127, 17
@@ -1089,14 +1131,11 @@
137, 17
-
- 0
-
System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- True
+
+ 1
System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -1104,8 +1143,8 @@
295, 215
-
- groupBox2
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -1122,8 +1161,8 @@
134, 17
-
- 1
+
+ chkWVExtraMode
chkWriteARTagsOnVerify
@@ -1158,6 +1197,12 @@
groupBox1
+
+
+
+
+ 5
+
grpAudioFilenames
@@ -1179,15 +1224,15 @@
groupBox2
-
- 1
-
235, 19
9, 43
+
+ 38, 21
+
58, 17
@@ -1197,18 +1242,12 @@
5
-
- tabPage1
-
System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
264, 6
-
- 12
-
226, 6
@@ -1248,8 +1287,8 @@
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 204, 148
+
+ grpAudioFilenames
toolTip1
@@ -1275,8 +1314,8 @@
1
-
- NoControl
+
+ 12, 146
46, 17
@@ -1284,6 +1323,9 @@
HDCD
+
+ 1
+
labelEncodeWhenPercent
@@ -1299,8 +1341,11 @@
0, 0, 0, 0
-
- groupBox1
+
+ Verify, then convert
+
+
+ 149, 21
Extra High
@@ -1308,9 +1353,6 @@
1
-
- True
-
173, 62
@@ -1338,8 +1380,11 @@
chkPreserveHTOA
-
- Write AccurateRip tags
+
+ 81, 17
+
+
+ Truncate extra 4206 samples if present
3
@@ -1353,14 +1398,11 @@
252, 204
-
- grpAudioFilenames
-
8
-
- 12, 112
+
+ grpFLAC
Right
@@ -1383,11 +1425,11 @@
6, 6
-
- groupBox1
+
+ chkCreateCUEFileWhenEmbedded
-
- Verify, then convert
+
+ 0
@@ -1416,6 +1458,9 @@
Create .m3u playlists
+
+ chkTruncateExtra4206Samples
+
tabPage2
@@ -1431,6 +1476,12 @@
True
+
+ 9, 23
+
+
+ grpGeneral
+
2
@@ -1440,24 +1491,27 @@
chkReplaceSpaces
-
- 1
+
+
-
- 46, 17
+
+
-
- Monkey's Audio (.ape)
+
+ True
System.Windows.Forms.ToolTip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 7
+
+ 97, 13
130, 17
+
+ Audio Filenames
+
@@ -1467,11 +1521,14 @@
235, 101
+
+ 0
+
6
-
- rbWVHigh
+
+ tabPage1
6, 13
@@ -1479,8 +1536,8 @@
tabPage3
-
- System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ chkAutoCorrectFilenames
Remove special characters except:
@@ -1494,14 +1551,11 @@
groupBox2
-
+
-
- chkWVExtraMode
-
-
-
+
+ Top, Right
1
@@ -1509,35 +1563,32 @@
True
-
- 0
-
True
203, 165
-
-
-
149, 21
+
+ 4
+
+
+ $this
+
1
-
- lblWriteOffset
-
- 3
+ 4
36, 21
-
- 194, 17
+
+ groupBox1
135, 17
@@ -1566,8 +1617,8 @@
3
-
- chkCreateCUEFileWhenEmbedded
+
+ 12, 20
chkHDCDDecode
@@ -1584,20 +1635,23 @@
Replace spaces with underscores
-
- System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ Verify
Stop looking after 750 frames
-
- 7
+
+ System.Windows.Forms.TabPage, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ 0
155, 17
-
- 0
+
+ 8
235, 80
@@ -1605,15 +1659,15 @@
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
grpWavPack
System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- 136, 17
-
numFixWhenConfidence
@@ -1644,26 +1698,23 @@
True
-
- 8
-
-
- 12, 20
+
+ 1
1
-
- 11
+
+ grpGeneral
-
- lblSingleFilenameFormat
+
+ HDCD decoding is irreversable. Resulting files cannot be burned to the CD. 24-bit audio files are created, but the actual resolution is 20 bit
-
- Extra mode:
+
+ % of verified tracks >=
@@ -1671,20 +1722,26 @@
Store MD5 checksum
-
- 1
+
+ grpWavPack
True
-
-
+
+ 1
+
+
+ 194, 17
+
+
+ 0
3, 3, 3, 3
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 62, 21
6, 149
@@ -1707,41 +1764,41 @@
Top, Right
-
- Track format:
-
-
- 4
+
+ System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Add ACCURATERIPCOUNT/ACCURATERIPCOUNTALLOFFSETS/ACCURATERIPTOTAL tags to output files. You can set up foobar2000 to show those values, and see if your music was ripped correctly or how popular it is.
+
+ 10
19, 42
-
- $this
+
+ groupBox1
Advanced Settings
-
- tabControl1
+
+ System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
6, 81
+
+ 3
+
System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
1
-
- grpGeneral
+
+ 0
@@ -1752,8 +1809,8 @@
chkFillUpCUE
-
- 12, 172
+
+ True
tabPage1
@@ -1761,8 +1818,8 @@
6
-
- grpHDCD
+
+
3
@@ -1779,6 +1836,9 @@
+
+
+
5
@@ -1791,8 +1851,8 @@
1
-
- 1
+
+
58, 17
@@ -1812,8 +1872,8 @@
1
-
- 8, 6
+
+
4
@@ -1824,9 +1884,6 @@
Fast
-
- rbAPEnormal
-
groupBox1
@@ -1848,15 +1905,12 @@
1
-
- 9, 23
+
+ Write AccurateRip tags
108, 82
-
- System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
128, 17
@@ -1872,30 +1926,24 @@
-
- 6
+
+ Preprocess with filename corrector if unable to locate audio files
btnCancel
-
- 3
-
-
- numericWriteOffset
+
+ System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
9
-
- grpGeneral
+
+ CenterParent
with confidence >=
-
- 62, 21
-
2
@@ -1905,18 +1953,18 @@
-
- tabPage2
+
+ 0
-
- 149, 21
-
-
- Verify
+
+ tabControl1
6, 20
+
+ Track format:
+
@@ -1938,14 +1986,8 @@
tabPage2
-
- Top, Left, Right
-
-
- 5
-
-
- 38, 21
+
+ lblWriteOffset
High
@@ -1959,8 +2001,8 @@
-
- System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 10
System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
@@ -1968,14 +2010,14 @@
-
- 0
+
+ tabPage2
-
-
+
+ True
13, 20
@@ -1983,15 +2025,9 @@
System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- Preprocess with filename corrector if unable to locate audio files
-
121, 23
-
- % of verified tracks >=
-
True
@@ -2004,11 +2040,8 @@
grpGeneral
-
- 10
-
-
- True
+
+ grpAudioFilenames
tabPage3
@@ -2016,9 +2049,6 @@
-
- grpAudioFilenames
-
166, 6
@@ -2034,8 +2064,8 @@
General
-
- System.Windows.Forms.NumericUpDown, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 204, 148
13, 88
@@ -2052,8 +2082,8 @@
rbWVFast
-
-
+
+ 2
False
diff --git a/CUETools/frmSettings.ru-RU.resx b/CUETools/frmSettings.ru-RU.resx
index 6f6857b..75a852c 100644
--- a/CUETools/frmSettings.ru-RU.resx
+++ b/CUETools/frmSettings.ru-RU.resx
@@ -124,6 +124,12 @@
Общие
+
+ 202, 17
+
+
+ Выкидывать лишние 4206 сэмплов
+
224, 17
diff --git a/CUEToolsLib/Main.cs b/CUEToolsLib/Main.cs
index 04ff28d..d583c67 100644
--- a/CUEToolsLib/Main.cs
+++ b/CUEToolsLib/Main.cs
@@ -233,6 +233,7 @@ namespace CUEToolsLib
public bool wait750FramesForHDCD;
public bool createM3U;
public bool createCUEFileWhenEmbedded;
+ public bool truncate4608ExtraSamples;
public CUEConfig()
{
@@ -271,6 +272,7 @@ namespace CUEToolsLib
decodeHDCD = false;
createM3U = false;
createCUEFileWhenEmbedded = false;
+ truncate4608ExtraSamples = true;
}
public void Save (SettingsWriter sw)
@@ -310,6 +312,7 @@ namespace CUEToolsLib
sw.Save("DecodeHDCD", decodeHDCD);
sw.Save("CreateM3U", createM3U);
sw.Save("CreateCUEFileWhenEmbedded", createCUEFileWhenEmbedded);
+ sw.Save("Truncate4608ExtraSamples", truncate4608ExtraSamples);
}
public void Load(SettingsReader sr)
@@ -349,6 +352,7 @@ namespace CUEToolsLib
decodeHDCD = sr.LoadBoolean("DecodeHDCD") ?? false;
createM3U = sr.LoadBoolean("CreateM3U") ?? false;
createCUEFileWhenEmbedded = sr.LoadBoolean("CreateCUEFileWhenEmbedded") ?? false;
+ truncate4608ExtraSamples = sr.LoadBoolean("Truncate4608ExtraSamples") ?? true;
}
public string CleanseString (string s)
@@ -387,7 +391,7 @@ namespace CUEToolsLib
private string _htoaFilename, _singleFilename;
private bool _hasHTOAFilename, _hasTrackFilenames, _hasSingleFilename, _appliedWriteOffset;
private bool _hasEmbeddedCUESheet;
- private bool _paddedToFrame, _usePregapForFirstTrackInSingleFile;
+ private bool _paddedToFrame, _truncated4608, _usePregapForFirstTrackInSingleFile;
private int _writeOffset;
private bool _accurateRip, _accurateOffset;
private uint? _dataTrackLength;
@@ -434,6 +438,7 @@ namespace CUEToolsLib
_sourcePaths = new List();
_cuePath = null;
_paddedToFrame = false;
+ _truncated4608 = false;
_usePregapForFirstTrackInSingleFile = false;
_accurateRip = false;
_accurateOffset = false;
@@ -522,11 +527,16 @@ namespace CUEToolsLib
absoluteFileStartTime += fileTimeLengthFrames;
NameValueCollection tags;
fileTimeLengthSamples = GetSampleLength(pathAudio, out tags);
+ if ((fileTimeLengthSamples % 588) == 492 && _config.truncate4608ExtraSamples)
+ {
+ _truncated4608 = true;
+ fileTimeLengthSamples -= 4608;
+ }
+ fileTimeLengthFrames = (int)((fileTimeLengthSamples + 587) / 588);
if (_hasEmbeddedCUESheet)
_albumTags = tags;
else
_trackTags = tags;
- fileTimeLengthFrames = (int)((fileTimeLengthSamples + 587) / 588);
seenFirstFileIndex = false;
}
}
@@ -753,6 +763,17 @@ namespace CUEToolsLib
if (_accurateRipId == null)
_accurateRipId = _accurateRipIdActual;
}
+ //if (!_dataTrackLength.HasValue && _cddbDiscIdTag != null)
+ //{
+ // uint cddbDiscIdNum = UInt32.Parse(_cddbDiscIdTag, NumberStyles.HexNumber);
+ // if ((cddbDiscIdNum & 0xff) == TrackCount)
+ // {
+ // _cutOneFrame = true;
+ // string cddbDiscIdTagCut = CalculateAccurateRipId().Split('-')[2];
+ // if (cddbDiscIdTagCut.ToUpper() != _cddbDiscIdTag.ToUpper())
+ // _cutOneFrame = false;
+ // }
+ //}
}
public static Encoding Encoding {
@@ -1334,6 +1355,10 @@ namespace CUEToolsLib
sw.WriteLine("Data track was probably present, length {0}-{1}.", General.TimeToString(_minDataTrackLength.Value), General.TimeToString(_minDataTrackLength.Value + 74));
if (_accurateRipIdActual != _accurateRipId)
sw.WriteLine("Using preserved id, actual id is {0}.", _accurateRipIdActual);
+ if (_truncated4608)
+ sw.WriteLine("Truncated 4608 extra samples in some input files.");
+ if (_paddedToFrame)
+ sw.WriteLine("Padded some input files to a frame boundary.");
}
if (hdcdDecoder != null && hdcdDecoder.Detected)
@@ -2077,6 +2102,7 @@ namespace CUEToolsLib
if (!foundAll || always)
{
+ foundAll = false;
for (i = 0; i < audioExts.Length; i++)
{
foundAll = true;
@@ -2092,22 +2118,23 @@ namespace CUEToolsLib
audioFiles = newFiles.ToArray();
break;
}
+ }
+ if (!foundAll)
+ for (i = 0; i < audioExts.Length; i++)
+ {
audioFiles = Directory.GetFiles(dir == "" ? "." : dir, audioExts[i]);
if (audioFiles.Length == filePos.Count)
{
+ Array.Sort(audioFiles);
+ foundAll = true;
break;
}
}
- if (i == audioExts.Length)
- {
+ if (!foundAll)
throw new Exception("Unable to locate the audio files.");
- }
- Array.Sort(audioFiles);
for (i = 0; i < filePos.Count; i++)
- {
lines[filePos[i]] = "FILE \"" + Path.GetFileName(audioFiles[i]) + "\" WAVE";
- }
}
using (StringWriter sw = new StringWriter()) {