Pregap can now be read from log/freedb or set from interface

This commit is contained in:
chudov
2009-02-27 14:41:55 +00:00
parent bb8e6b5e28
commit d4a28ffc05
11 changed files with 512 additions and 194 deletions

View File

@@ -635,39 +635,6 @@ namespace CUETools.Processor
{
List<object> Releases = new List<object>();
ReleaseQueryParameters p = new ReleaseQueryParameters();
p.DiscId = _toc.MusicBrainzId;
Query<Release> results = Release.Query(p);
MusicBrainzService.XmlRequest += new EventHandler<XmlRequestEventArgs>(MusicBrainz_LookupProgress);
_progress.percentDisk = 0;
try
{
foreach (MusicBrainz.Release release in results)
{
release.GetEvents();
release.GetTracks();
try
{
foreach (MusicBrainz.Track track in release.GetTracks())
;
} catch { }
try
{
foreach (MusicBrainz.Event ev in release.GetEvents())
;
} catch { }
Releases.Add(release);
}
} catch { }
MusicBrainzService.XmlRequest -= new EventHandler<XmlRequestEventArgs>(MusicBrainz_LookupProgress);
//if (release != null)
//{
// FillFromMusicBrainz(release);
// return;
//}
//if (cdEntry != null)
// FillFromFreedb(cdEntry);
FreedbHelper m_freedb = new FreedbHelper();
m_freedb.UserName = "gchudov";
@@ -679,9 +646,9 @@ namespace CUETools.Processor
QueryResult queryResult;
QueryResultCollection coll;
string code = string.Empty;
CDEntry cdEntry = null;
try
{
CDEntry cdEntry = null;
code = m_freedb.Query(AccurateRipVerify.CalculateCDDBQuery(_toc), out queryResult, out coll);
if (code == FreedbHelper.ResponseCodes.CODE_200)
{
@@ -704,9 +671,141 @@ namespace CUETools.Processor
catch (Exception)
{
}
StringCollection DiscIds = new StringCollection();
DiscIds.Add(_toc.MusicBrainzId);
//if (_tocFromLog != null && !DiscIds.Contains(_tocFromLog.MusicBrainzId))
// DiscIds.Add(_tocFromLog.MusicBrainzId);
foreach (CDEntry cdEntry in Releases)
{
CDImageLayout toc = TocFromCDEntry(cdEntry);
if (!DiscIds.Contains(toc.MusicBrainzId))
DiscIds.Add(toc.MusicBrainzId);
}
MusicBrainzService.XmlRequest += new EventHandler<XmlRequestEventArgs>(MusicBrainz_LookupProgress);
_progress.percentDisk = 0;
foreach (string DiscId in DiscIds)
{
ReleaseQueryParameters p = new ReleaseQueryParameters();
p.DiscId = DiscId;
Query<Release> results = Release.Query(p);
try
{
foreach (MusicBrainz.Release release in results)
{
release.GetEvents();
release.GetTracks();
try
{
foreach (MusicBrainz.Track track in release.GetTracks())
;
}
catch { }
try
{
foreach (MusicBrainz.Event ev in release.GetEvents())
;
}
catch { }
Releases.Add(release);
}
}
catch { }
}
MusicBrainzService.XmlRequest -= new EventHandler<XmlRequestEventArgs>(MusicBrainz_LookupProgress);
//if (release != null)
//{
// FillFromMusicBrainz(release);
// return;
//}
//if (cdEntry != null)
// FillFromFreedb(cdEntry);
return Releases;
}
public CDImageLayout TocFromCDEntry(CDEntry cdEntry)
{
CDImageLayout tocFromCDEntry = new CDImageLayout();
for (int i = 0; i < cdEntry.Tracks.Count; i++)
{
if (i >= _toc.TrackCount)
break;
tocFromCDEntry.AddTrack(new CDTrack((uint)i + 1,
(uint) cdEntry.Tracks[i].FrameOffset - 150,
(i + 1 < cdEntry.Tracks.Count) ? (uint) (cdEntry.Tracks[i + 1].FrameOffset - cdEntry.Tracks[i].FrameOffset) : _toc[i + 1].Length,
_toc[i + 1].IsAudio,
false/*preEmphasis*/));
}
if (tocFromCDEntry.TrackCount > 0 && tocFromCDEntry[1].IsAudio)
tocFromCDEntry[1][0].Start = 0;
return tocFromCDEntry;
}
public CDImageLayout TocFromLog(string eacLog)
{
CDImageLayout tocFromLog = new CDImageLayout();
using (StringReader sr = new StringReader(eacLog))
{
bool isEACLog = false;
bool iscdda2wavlog = false;
string lineStr;
int prevTrNo = 1, prevTrStart = 0;
while ((lineStr = sr.ReadLine()) != null)
{
if (isEACLog)
{
string[] n = lineStr.Split('|');
uint trNo, trStart, trEnd;
if (n.Length == 5 && uint.TryParse(n[0], out trNo) && uint.TryParse(n[3], out trStart) && uint.TryParse(n[4], out trEnd) && trNo == tocFromLog.TrackCount + 1)
{
bool isAudio = true;
if (tocFromLog.TrackCount >= _toc.TrackCount &&
trStart == tocFromLog[tocFromLog.TrackCount].End + 1U + 152U * 75U
)
isAudio = false;
if (tocFromLog.TrackCount < _toc.TrackCount &&
!_toc[tocFromLog.TrackCount + 1].IsAudio
)
isAudio = false;
tocFromLog.AddTrack(new CDTrack(trNo, trStart, trEnd + 1 - trStart, isAudio, false));
}
}
else if (iscdda2wavlog)
{
foreach (string entry in lineStr.Split(','))
{
string[] n = entry.Split('(');
if (n.Length < 2) continue;
// assert n.Length == 2;
string key = n[0].Trim(' ', '.');
int trStart = int.Parse(n[1].Trim(' ', ')'));
bool isAudio = true; // !!!
if (key != "1")
tocFromLog.AddTrack(new CDTrack((uint)prevTrNo, (uint)prevTrStart, (uint)(trStart - prevTrStart), isAudio, false));
if (key == "lead-out")
{
iscdda2wavlog = false;
break;
}
prevTrNo = int.Parse(key);
prevTrStart = trStart;
}
}
else if (lineStr.StartsWith("TOC of the extracted CD")
|| lineStr.StartsWith("Exact Audio Copy")
|| lineStr.StartsWith("EAC extraction logfile")
|| lineStr.StartsWith("CUERipper"))
isEACLog = true;
else if (lineStr.StartsWith("Table of Contents: starting sectors"))
iscdda2wavlog = true;
}
}
if (tocFromLog.TrackCount > 0 && tocFromLog[1].IsAudio)
tocFromLog[1][0].Start = 0;
return tocFromLog;
}
public void Open(string pathIn)
{
string cueDir = Path.GetDirectoryName(pathIn) ?? pathIn;
@@ -858,6 +957,8 @@ namespace CUETools.Processor
_hasEmbeddedCUESheet = true;
}
string dataTrackLength = null;
using (sr) {
while ((lineStr = sr.ReadLine()) != null) {
line = new CUELine(lineStr);
@@ -987,7 +1088,7 @@ namespace CUETools.Processor
(line.Params.Count == 3) &&
(line.Params[1].ToUpper() == "DATATRACKLENGTH"))
{
_dataTrackLength = (uint)CDImageLayout.TimeFromString(line.Params[2]);
dataTrackLength = line.Params[2];
}
else if ((command == "REM") &&
(line.Params.Count == 3) &&
@@ -1149,50 +1250,24 @@ namespace CUETools.Processor
if (_accurateRipId == null)
_accurateRipId = GetCommonMiscTag("ACCURATERIPID");
CDImageLayout tocFromLog = _eacLog == null ? null : TocFromLog(_eacLog);
if (tocFromLog != null && tocFromLog.Pregap > _toc.Pregap)
PreGapLength = tocFromLog.Pregap;
if (_accurateRipId == null)
{
if (_dataTrackLength != null)
{
// TODO: check if we have a data track of unknown length already, and just change it's length!
CDImageLayout toc2 = new CDImageLayout(_toc);
toc2.AddTrack(new CDTrack((uint)_toc.TrackCount, _toc.Length + 152U * 75U, _dataTrackLength.Value, false, false));
_accurateRipId = AccurateRipVerify.CalculateAccurateRipId(toc2);
}
if (dataTrackLength != null)
DataTrackLength = dataTrackLength;
else
{
bool dtlFound = false;
if (_eacLog != null)
if (tocFromLog != null)
{
sr = new StringReader(_eacLog);
bool isEACLog = false;
CDImageLayout tocFromLog = new CDImageLayout();
while ((lineStr = sr.ReadLine()) != null)
{
if (isEACLog)
{
string[] n = lineStr.Split('|');
uint trNo, trStart, trEnd;
if (n.Length == 5 && uint.TryParse(n[0], out trNo) && uint.TryParse(n[3], out trStart) && uint.TryParse(n[4], out trEnd) && trNo == tocFromLog.TrackCount + 1)
{
bool isAudio = true;
if (tocFromLog.TrackCount >= _toc.TrackCount &&
trStart == tocFromLog[tocFromLog.TrackCount].End + 1U + 152U * 75U
)
isAudio = false;
if (tocFromLog.TrackCount < _toc.TrackCount &&
!_toc[tocFromLog.TrackCount + 1].IsAudio
)
isAudio = false;
tocFromLog.AddTrack(new CDTrack(trNo, trStart, trEnd + 1 - trStart, isAudio, false));
}
}
else
if (lineStr.StartsWith("TOC of the extracted CD")
|| lineStr.StartsWith("Exact Audio Copy")
|| lineStr.StartsWith("EAC extraction logfile")
|| lineStr.StartsWith("CUERipper"))
isEACLog = true;
}
// TODO: can just use smth like
// DataTrackLength = tocFromLog.DataTrackLengthMSF;
// The only proplem is DataTrackLength property doesn't set last track's offset.
if (tocFromLog.TrackCount == _toc.TrackCount + 1 && !tocFromLog[tocFromLog.TrackCount].IsAudio)
{
//_accurateRipId = AccurateRipVerify.CalculateAccurateRipId(tocFromLog);
@@ -1815,6 +1890,8 @@ namespace CUETools.Processor
{
sw.WriteLine("[Verification date: {0}]", DateTime.Now);
sw.WriteLine("[Disc ID: {0}]", _accurateRipId);
if (PreGapLength != 0)
sw.WriteLine("Pregap length {0}.", PreGapLengthMSF);
if (_dataTrackLength.HasValue)
sw.WriteLine("Assuming a data track was present, length {0}.", CDImageLayout.TimeToString(_dataTrackLength.Value));
else
@@ -3009,11 +3086,73 @@ namespace CUETools.Processor
uint dtl = (uint)CDImageLayout.TimeFromString(value);
if (dtl != 0)
{
_dataTrackLength = dtl;
CDImageLayout toc2 = new CDImageLayout(_toc);
toc2.AddTrack(new CDTrack((uint)_toc.TrackCount, _toc.Length + 152 * 75, dtl, false, false));
_accurateRipIdActual = _accurateRipId = AccurateRipVerify.CalculateAccurateRipId(toc2);
if (!_toc[1].IsAudio)
{
for (int i = 2; i <= _toc.TrackCount; i++)
{
_toc[i].Start += dtl - _toc[1].Length;
for (int j = 0; j <= _toc[i].LastIndex; j++)
_toc[i][j].Start += dtl - _toc[1].Length;
}
_toc[1].Length = dtl;
}
else if (!_toc[_toc.TrackCount].IsAudio)
{
//_toc[_toc.TrackCount].Start = tocFromLog[_toc.TrackCount].Start;
_toc[_toc.TrackCount].Length = dtl;
//_toc[_toc.TrackCount][0].Start = tocFromLog[_toc.TrackCount].Start;
//_toc[_toc.TrackCount][1].Start = tocFromLog[_toc.TrackCount].Start;
}
else
_toc.AddTrack(new CDTrack((uint)_toc.TrackCount, _toc.Length + 152U * 75U, dtl, false, false));
_dataTrackLength = dtl;
_accurateRipIdActual = _accurateRipId = AccurateRipVerify.CalculateAccurateRipId(_toc);
}
}
}
public string PreGapLengthMSF
{
get
{
return CDImageLayout.TimeToString(_toc.Pregap);
}
set
{
PreGapLength = (uint) CDImageLayout.TimeFromString(value);
}
}
public uint PreGapLength
{
get
{
return _toc.Pregap;
}
set
{
if (value == _toc.Pregap || value == 0)
return;
if (!_toc[1].IsAudio)
throw new Exception("can't set pregap to a data track");
if (value < _toc.Pregap)
throw new Exception("can't set negative pregap");
uint offs = value - _toc.Pregap;
for (int i = 1; i <= _toc.TrackCount; i++)
{
_toc[i].Start += offs;
for (int j = 0; j <= _toc[i].LastIndex; j++)
_toc[i][j].Start += offs;
}
_toc[1][0].Start = 0;
SourceInfo sourceInfo;
sourceInfo.Path = null;
sourceInfo.Offset = 0;
sourceInfo.Length = offs * 588;
_sources.Insert(0, sourceInfo);
_accurateRipIdActual = _accurateRipId = AccurateRipVerify.CalculateAccurateRipId(_toc);
}
}

View File

@@ -62,6 +62,8 @@ namespace JDP {
this.btnFilenameCorrector = new System.Windows.Forms.Button();
this.btnSettings = new System.Windows.Forms.Button();
this.grpAccurateRip = new System.Windows.Forms.GroupBox();
this.txtPreGapLength = new System.Windows.Forms.MaskedTextBox();
this.label2 = new System.Windows.Forms.Label();
this.rbArPlusCRC = new System.Windows.Forms.RadioButton();
this.rbArAndEncode = new System.Windows.Forms.RadioButton();
this.label1 = new System.Windows.Forms.Label();
@@ -561,6 +563,8 @@ namespace JDP {
this.grpAccurateRip.AccessibleName = null;
resources.ApplyResources(this.grpAccurateRip, "grpAccurateRip");
this.grpAccurateRip.BackgroundImage = null;
this.grpAccurateRip.Controls.Add(this.txtPreGapLength);
this.grpAccurateRip.Controls.Add(this.label2);
this.grpAccurateRip.Controls.Add(this.rbArPlusCRC);
this.grpAccurateRip.Controls.Add(this.rbArAndEncode);
this.grpAccurateRip.Controls.Add(this.label1);
@@ -573,6 +577,29 @@ namespace JDP {
this.grpAccurateRip.TabStop = false;
this.toolTip1.SetToolTip(this.grpAccurateRip, resources.GetString("grpAccurateRip.ToolTip"));
//
// txtPreGapLength
//
this.txtPreGapLength.AccessibleDescription = null;
this.txtPreGapLength.AccessibleName = null;
resources.ApplyResources(this.txtPreGapLength, "txtPreGapLength");
this.txtPreGapLength.BackgroundImage = null;
this.txtPreGapLength.Culture = new System.Globalization.CultureInfo("");
this.txtPreGapLength.CutCopyMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals;
this.txtPreGapLength.Font = null;
this.txtPreGapLength.InsertKeyMode = System.Windows.Forms.InsertKeyMode.Overwrite;
this.txtPreGapLength.Name = "txtPreGapLength";
this.txtPreGapLength.TextMaskFormat = System.Windows.Forms.MaskFormat.IncludePromptAndLiterals;
this.toolTip1.SetToolTip(this.txtPreGapLength, resources.GetString("txtPreGapLength.ToolTip"));
//
// label2
//
this.label2.AccessibleDescription = null;
this.label2.AccessibleName = null;
resources.ApplyResources(this.label2, "label2");
this.label2.Font = null;
this.label2.Name = "label2";
this.toolTip1.SetToolTip(this.label2, resources.GetString("label2.ToolTip"));
//
// rbArPlusCRC
//
this.rbArPlusCRC.AccessibleDescription = null;
@@ -999,6 +1026,8 @@ namespace JDP {
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3;
private System.Windows.Forms.RadioButton rbArPlusCRC;
private System.Windows.Forms.MaskedTextBox txtPreGapLength;
private System.Windows.Forms.Label label2;
}
}

View File

@@ -401,6 +401,7 @@ namespace JDP {
cueSheet.AccurateRip = accurateRip;
if (accurateRip != AccurateRipMode.None)
cueSheet.DataTrackLength = txtDataTrackLength.Text;
cueSheet.PreGapLengthMSF = txtPreGapLength.Text;
cueSheet.WriteAudioFiles(outDir, cueStyle);
}
@@ -490,6 +491,7 @@ namespace JDP {
grpOutputStyle.Enabled = !running && !rbArVerify.Checked && !rbArPlusCRC.Checked;
groupBox1.Enabled = !running && !rbArVerify.Checked && !rbArPlusCRC.Checked;
txtDataTrackLength.Enabled = !running && !rbArNone.Checked;
txtPreGapLength.Enabled = !running;
btnAbout.Enabled = !running;
btnSettings.Enabled = !running;
btnFilenameCorrector.Enabled = !running;

View File

@@ -379,6 +379,9 @@
<data name="btnSettings.ToolTip" xml:space="preserve">
<value />
</data>
<data name="label2.ToolTip" xml:space="preserve">
<value />
</data>
<data name="rbArPlusCRC.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 88</value>
</data>

View File

@@ -128,8 +128,8 @@
<value />
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="txtDataTrackLength.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 21</value>
<data name="rbDontGenerate.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 17</value>
</data>
<data name="&gt;&gt;toolStripSeparator1.Name" xml:space="preserve">
<value>toolStripSeparator1</value>
@@ -155,8 +155,11 @@
<data name="rbFreedbAlways.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 17</value>
</data>
<data name="lblOutput.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 52</value>
<data name="rbDontGenerate.Text" xml:space="preserve">
<value>&amp;Manual</value>
</data>
<data name="grpAccurateRip.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;rbGapsLeftOut.Name" xml:space="preserve">
<value>rbGapsLeftOut</value>
@@ -173,6 +176,9 @@
<data name="btnResume.Text" xml:space="preserve">
<value>&amp;Resume</value>
</data>
<data name="&gt;&gt;btnAbout.ZOrder" xml:space="preserve">
<value>13</value>
</data>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="btnCUECreator.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@@ -198,9 +204,15 @@
<data name="&gt;&gt;btnBatch.ZOrder" xml:space="preserve">
<value>10</value>
</data>
<data name="&gt;&gt;label2.Parent" xml:space="preserve">
<value>grpAccurateRip</value>
</data>
<data name="contextMenuStripUDC.Size" type="System.Drawing.Size, System.Drawing">
<value>120, 142</value>
</data>
<data name="label2.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="btnStop.Size" type="System.Drawing.Size, System.Drawing">
<value>66, 23</value>
</data>
@@ -210,12 +222,21 @@
<data name="&gt;&gt;rbArApplyOffset.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label2.TabIndex" type="System.Int32, mscorlib">
<value>17</value>
</data>
<data name="&gt;&gt;rbEmbedCUE.Parent" xml:space="preserve">
<value>grpOutputStyle</value>
</data>
<data name="txtCustomFormat.Text" xml:space="preserve">
<value>%1:-2\New\%-1\%F.cue</value>
</data>
<data name="rbArNone.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;label2.Name" xml:space="preserve">
<value>label2</value>
</data>
<data name="&gt;&gt;btnCodec.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
@@ -243,6 +264,9 @@
<data name="&gt;&gt;contextMenuStripUDC.Name" xml:space="preserve">
<value>contextMenuStripUDC</value>
</data>
<data name="txtPreGapLength.Mask" xml:space="preserve">
<value>00:00:00</value>
</data>
<data name="txtDataTrackLength.Location" type="System.Drawing.Point, System.Drawing">
<value>77, 138</value>
</data>
@@ -258,9 +282,6 @@
<data name="grpOutputPathGeneration.Size" type="System.Drawing.Size, System.Drawing">
<value>398, 115</value>
</data>
<data name="&gt;&gt;rbArVerify.Parent" xml:space="preserve">
<value>grpAccurateRip</value>
</data>
<data name="toolStripMenuItem3.Enabled" type="System.Boolean, mscorlib">
<value>False</value>
</data>
@@ -291,8 +312,8 @@
<data name="&gt;&gt;rbEmbedCUE.Name" xml:space="preserve">
<value>rbEmbedCUE</value>
</data>
<data name="grpOutputPathGeneration.ToolTip" xml:space="preserve">
<value />
<data name="btnCUECreator.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 23</value>
</data>
<data name="&gt;&gt;rbGapsLeftOut.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@@ -303,9 +324,6 @@
<data name="&gt;&gt;btnResume.Name" xml:space="preserve">
<value>btnResume</value>
</data>
<data name="grpOutputPathGeneration.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="rbAppendFilename.ToolTip" xml:space="preserve">
<value />
</data>
@@ -364,14 +382,17 @@
<value>Create a pair of files - .lossy.wav(flac,etc) and .lwcdf.wav(flac,etc). Lossy file contains (lossy) compressed music, but together with the lwcdf (correction) file the original audio can be reconstructed.</value>
</data>
<data name="&gt;&gt;rbArAndEncode.ZOrder" xml:space="preserve">
<value>1</value>
<value>3</value>
</data>
<data name="&gt;&gt;btnFilenameCorrector.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
<data name="&gt;&gt;btnConvert.Name" xml:space="preserve">
<value>btnConvert</value>
</data>
<data name="btnBrowseOutput.Location" type="System.Drawing.Point, System.Drawing">
<value>452, 49</value>
</data>
<data name="grpOutputPathGeneration.ToolTip" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;txtCreateSubdirectory.Type" xml:space="preserve">
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
@@ -426,6 +447,9 @@
<data name="&gt;&gt;rbSingleFile.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;label2.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="&gt;&gt;grpOutputPathGeneration.ZOrder" xml:space="preserve">
<value>12</value>
</data>
@@ -465,8 +489,11 @@
<data name="&gt;&gt;groupBox1.Name" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="&gt;&gt;txtPreGapLength.Parent" xml:space="preserve">
<value>grpAccurateRip</value>
</data>
<data name="&gt;&gt;txtDataTrackLength.ZOrder" xml:space="preserve">
<value>3</value>
<value>5</value>
</data>
<data name="statusStrip1.Size" type="System.Drawing.Size, System.Drawing">
<value>552, 22</value>
@@ -474,8 +501,8 @@
<data name="rbEmbedCUE.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="rbArAndEncode.Text" xml:space="preserve">
<value>Encode and verify</value>
<data name="&gt;&gt;toolStripMenuItem2.Name" xml:space="preserve">
<value>toolStripMenuItem2</value>
</data>
<data name="&gt;&gt;rbGapsPrepended.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@@ -529,7 +556,7 @@
<value>Verify AR + CRCs</value>
</data>
<data name="&gt;&gt;rbArVerify.ZOrder" xml:space="preserve">
<value>5</value>
<value>7</value>
</data>
<data name="rbDontGenerate.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
@@ -549,8 +576,8 @@
<data name="&gt;&gt;rbTTA.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="rbArNone.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
<data name="&gt;&gt;rbWAV.Parent" xml:space="preserve">
<value>grpAudioOutput</value>
</data>
<data name="$this.ToolTip" xml:space="preserve">
<value />
@@ -591,8 +618,11 @@
<data name="btnBrowseOutput.Size" type="System.Drawing.Size, System.Drawing">
<value>71, 23</value>
</data>
<data name="rbArPlusCRC.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 88</value>
<data name="grpCUEPaths.Text" xml:space="preserve">
<value>CUE Paths</value>
</data>
<data name="label2.Size" type="System.Drawing.Size, System.Drawing">
<value>45, 13</value>
</data>
<data name="btnCodec.Location" type="System.Drawing.Point, System.Drawing">
<value>66, 117</value>
@@ -606,6 +636,9 @@
<data name="&gt;&gt;btnBatch.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label2.Location" type="System.Drawing.Point, System.Drawing">
<value>7, 120</value>
</data>
<data name="grpAudioOutput.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
@@ -708,6 +741,9 @@
<data name="rbWAV.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;txtPreGapLength.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="btnCUECreator.Text" xml:space="preserve">
<value>CUE Sheet Creator...</value>
</data>
@@ -738,8 +774,8 @@
<data name="rbAPE.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="rbDontGenerate.Text" xml:space="preserve">
<value>&amp;Manual</value>
<data name="rbGapsAppended.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="grpCUEPaths.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 4</value>
@@ -768,17 +804,17 @@
<data name="&gt;&gt;statusStrip1.Type" xml:space="preserve">
<value>System.Windows.Forms.StatusStrip, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="rbGapsAppended.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="$this.Font" type="System.Drawing.Font, System.Drawing">
<value>Tahoma, 8.25pt</value>
</data>
<data name="&gt;&gt;txtPreGapLength.Name" xml:space="preserve">
<value>txtPreGapLength</value>
</data>
<data name="lblOutput.Text" xml:space="preserve">
<value>&amp;Output:</value>
</data>
<data name="lblInput.ToolTip" xml:space="preserve">
<value />
<data name="lblOutput.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 52</value>
</data>
<data name="&gt;&gt;rbArNone.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@@ -798,9 +834,6 @@
<data name="&gt;&gt;rbAppendFilename.Parent" xml:space="preserve">
<value>grpOutputPathGeneration</value>
</data>
<data name="rbCustomFormat.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 66</value>
</data>
<data name="&gt;&gt;rbNoAudio.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
@@ -822,6 +855,9 @@
<data name="&gt;&gt;toolStripMenuItem2.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="rbArAndEncode.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 37</value>
</data>
<data name="&gt;&gt;btnCodec.Parent" xml:space="preserve">
<value>grpAudioOutput</value>
</data>
@@ -829,7 +865,7 @@
<value>True</value>
</data>
<data name="&gt;&gt;rbArNone.ZOrder" xml:space="preserve">
<value>6</value>
<value>8</value>
</data>
<data name="rbAPE.Text" xml:space="preserve">
<value>APE</value>
@@ -855,8 +891,8 @@
<data name="rbFLAC.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="&gt;&gt;btnConvert.Name" xml:space="preserve">
<value>btnConvert</value>
<data name="grpAccurateRip.Size" type="System.Drawing.Size, System.Drawing">
<value>162, 164</value>
</data>
<data name="rbArApplyOffset.ToolTip" xml:space="preserve">
<value>On the first pass, verify and try to find an offset correction which makes the rip accurate according to the AccurateRip database. On the second pass, convert, possibly applying offset correction.</value>
@@ -876,12 +912,12 @@
<data name="lblInput.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;label2.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="toolStripMenuItem3.Text" xml:space="preserve">
<value>Lossy:</value>
</data>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="&gt;&gt;txtAppendFilename.Parent" xml:space="preserve">
<value>grpOutputPathGeneration</value>
</data>
@@ -918,9 +954,6 @@
<data name="&gt;&gt;txtInputPath.Name" xml:space="preserve">
<value>txtInputPath</value>
</data>
<data name="grpAccurateRip.Size" type="System.Drawing.Size, System.Drawing">
<value>162, 164</value>
</data>
<data name="rbTTA.Size" type="System.Drawing.Size, System.Drawing">
<value>44, 17</value>
</data>
@@ -954,8 +987,8 @@
<data name="&gt;&gt;btnResume.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="&gt;&gt;btnCodec.Name" xml:space="preserve">
<value>btnCodec</value>
<data name="grpAccurateRip.Text" xml:space="preserve">
<value>AccurateRip</value>
</data>
<data name="btnSettings.Location" type="System.Drawing.Point, System.Drawing">
<value>412, 215</value>
@@ -966,6 +999,9 @@
<data name="&gt;&gt;btnCUECreator.Name" xml:space="preserve">
<value>btnCUECreator</value>
</data>
<data name="txtPreGapLength.ToolTip" xml:space="preserve">
<value>Pregap is a certain amount of silence or hidden audio before track one. Normally it is known from the CUE sheet, but if converting/verifying a set of separate tracks without a CUE sheet you might want to set this.</value>
</data>
<data name="&gt;&gt;rbArPlusCRC.Parent" xml:space="preserve">
<value>grpAccurateRip</value>
</data>
@@ -1050,9 +1086,6 @@
<data name="rbCreateSubdirectory.Size" type="System.Drawing.Size, System.Drawing">
<value>125, 17</value>
</data>
<data name="&gt;&gt;rbWAV.Parent" xml:space="preserve">
<value>grpAudioOutput</value>
</data>
<data name="&gt;&gt;txtCustomFormat.Name" xml:space="preserve">
<value>txtCustomFormat</value>
</data>
@@ -1080,8 +1113,8 @@
<data name="&gt;&gt;rbCreateSubdirectory.Parent" xml:space="preserve">
<value>grpOutputPathGeneration</value>
</data>
<data name="grpAccurateRip.Text" xml:space="preserve">
<value>AccurateRip</value>
<data name="statusStrip1.Text" xml:space="preserve">
<value>statusStrip1</value>
</data>
<data name="groupBox1.Location" type="System.Drawing.Point, System.Drawing">
<value>412, 92</value>
@@ -1107,8 +1140,8 @@
<data name="rbSingleFile.ToolTip" xml:space="preserve">
<value>Create single file + CUE sheet</value>
</data>
<data name="rbWavPack.ToolTip" xml:space="preserve">
<value />
<data name="txtAppendFilename.Text" xml:space="preserve">
<value>-New</value>
</data>
<data name="rbArApplyOffset.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 20</value>
@@ -1122,11 +1155,8 @@
<data name="rbSingleFile.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="btnCUECreator.Size" type="System.Drawing.Size, System.Drawing">
<value>131, 23</value>
</data>
<data name="grpOutputPathGeneration.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 92</value>
<data name="rbArApplyOffset.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="toolStripProgressBar2.ToolTipText" xml:space="preserve">
<value>Disk progress</value>
@@ -1143,6 +1173,9 @@
<data name="&gt;&gt;rbArAndEncode.Parent" xml:space="preserve">
<value>grpAccurateRip</value>
</data>
<data name="rbWavPack.ToolTip" xml:space="preserve">
<value />
</data>
<data name="rbFreedbAlways.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@@ -1249,6 +1282,12 @@
<data name="rbArAndEncode.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="rbFreedbNever.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 19</value>
</data>
<data name="lblInput.ToolTip" xml:space="preserve">
<value />
</data>
<data name="rbFreedbNever.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 17</value>
</data>
@@ -1258,9 +1297,6 @@
<data name="rbCreateSubdirectory.ToolTip" xml:space="preserve">
<value />
</data>
<data name="grpAccurateRip.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;grpAudioOutput.Parent" xml:space="preserve">
<value>$this</value>
</data>
@@ -1291,8 +1327,8 @@
<data name="btnPause.Location" type="System.Drawing.Point, System.Drawing">
<value>477, 339</value>
</data>
<data name="rbArVerify.ToolTip" xml:space="preserve">
<value>Contact the AccurateRip databse for validation and compare the image against database</value>
<data name="grpOutputPathGeneration.Location" type="System.Drawing.Point, System.Drawing">
<value>8, 92</value>
</data>
<data name="rbGapsLeftOut.Location" type="System.Drawing.Point, System.Drawing">
<value>11, 87</value>
@@ -1318,6 +1354,9 @@
<data name="rbFreedbAlways.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 53</value>
</data>
<data name="&gt;&gt;rbGapsAppended.Parent" xml:space="preserve">
<value>grpOutputStyle</value>
</data>
<data name="rbArNone.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
@@ -1330,8 +1369,8 @@
<data name="$this.AutoScaleDimensions" type="System.Drawing.SizeF, System.Drawing">
<value>6, 13</value>
</data>
<data name="rbArApplyOffset.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
<data name="&gt;&gt;rbArVerify.Parent" xml:space="preserve">
<value>grpAccurateRip</value>
</data>
<data name="rbTTA.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 68</value>
@@ -1354,8 +1393,8 @@
<data name="lblInput.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="txtAppendFilename.Text" xml:space="preserve">
<value>-New</value>
<data name="&gt;&gt;txtPreGapLength.Type" xml:space="preserve">
<value>System.Windows.Forms.MaskedTextBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="rbFreedbNever.ToolTip" xml:space="preserve">
<value />
@@ -1420,6 +1459,9 @@
<data name="btnBrowseInput.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="txtDataTrackLength.PromptChar" type="System.Char, mscorlib" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;grpOutputStyle.ZOrder" xml:space="preserve">
<value>14</value>
</data>
@@ -1444,9 +1486,6 @@
<data name="grpAudioOutput.Text" xml:space="preserve">
<value>Audio Output</value>
</data>
<data name="&gt;&gt;rbFreedbNever.Name" xml:space="preserve">
<value>rbFreedbNever</value>
</data>
<data name="grpOutputStyle.Size" type="System.Drawing.Size, System.Drawing">
<value>128, 164</value>
</data>
@@ -1489,6 +1528,12 @@
<data name="rbUDC1.Size" type="System.Drawing.Size, System.Drawing">
<value>47, 17</value>
</data>
<data name="&gt;&gt;btnFilenameCorrector.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label2.ToolTip" xml:space="preserve">
<value />
</data>
<data name="grpAccurateRip.ToolTip" xml:space="preserve">
<value />
</data>
@@ -1510,8 +1555,11 @@
<data name="txtCustomFormat.Location" type="System.Drawing.Point, System.Drawing">
<value>166, 60</value>
</data>
<data name="&gt;&gt;rbGapsAppended.Parent" xml:space="preserve">
<value>grpOutputStyle</value>
<data name="&gt;&gt;btnCodec.Name" xml:space="preserve">
<value>btnCodec</value>
</data>
<data name="rbArAndEncode.Text" xml:space="preserve">
<value>Encode and verify</value>
</data>
<data name="grpOutputStyle.Text" xml:space="preserve">
<value>CUE Style</value>
@@ -1543,11 +1591,11 @@
<data name="rbGapsAppended.Size" type="System.Drawing.Size, System.Drawing">
<value>101, 17</value>
</data>
<data name="rbArAndEncode.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 37</value>
<data name="rbArPlusCRC.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 88</value>
</data>
<data name="&gt;&gt;rbArPlusCRC.ZOrder" xml:space="preserve">
<value>0</value>
<value>2</value>
</data>
<data name="&gt;&gt;chkLossyWAV.ZOrder" xml:space="preserve">
<value>3</value>
@@ -1573,6 +1621,9 @@
<data name="&gt;&gt;grpCUEPaths.Name" xml:space="preserve">
<value>grpCUEPaths</value>
</data>
<data name="txtPreGapLength.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 21</value>
</data>
<data name="grpOutputStyle.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
@@ -1588,6 +1639,9 @@
<data name="&gt;&gt;btnResume.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="rbArVerify.ToolTip" xml:space="preserve">
<value>Contact the AccurateRip databse for validation and compare the image against database</value>
</data>
<data name="&gt;&gt;btnFilenameCorrector.Parent" xml:space="preserve">
<value>$this</value>
</data>
@@ -1603,8 +1657,8 @@
<data name="btnConvert.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="grpCUEPaths.Text" xml:space="preserve">
<value>CUE Paths</value>
<data name="label1.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="txtInputPath.Size" type="System.Drawing.Size, System.Drawing">
<value>385, 21</value>
@@ -1612,9 +1666,6 @@
<data name="&gt;&gt;chkLossyWAV.Type" xml:space="preserve">
<value>System.Windows.Forms.CheckBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="statusStrip1.Text" xml:space="preserve">
<value>statusStrip1</value>
</data>
<data name="rbEmbedCUE.Text" xml:space="preserve">
<value>&amp;Embedded</value>
</data>
@@ -1627,6 +1678,9 @@
<data name="rbFLAC.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 17</value>
</data>
<data name="txtPreGapLength.PromptChar" type="System.Char, mscorlib" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;rbCreateSubdirectory.ZOrder" xml:space="preserve">
<value>4</value>
</data>
@@ -1663,8 +1717,8 @@
<data name="rbEmbedCUE.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 17</value>
</data>
<data name="txtDataTrackLength.PromptChar" type="System.Char, mscorlib" xml:space="preserve">
<value>0</value>
<data name="rbCustomFormat.Location" type="System.Drawing.Point, System.Drawing">
<value>10, 66</value>
</data>
<data name="&gt;&gt;rbNoAudio.ZOrder" xml:space="preserve">
<value>5</value>
@@ -1693,11 +1747,14 @@
<data name="rbGapsPrepended.Text" xml:space="preserve">
<value>Gaps Prepended</value>
</data>
<data name="txtPreGapLength.TabIndex" type="System.Int32, mscorlib">
<value>16</value>
</data>
<data name="lblInput.Text" xml:space="preserve">
<value>&amp;Input:</value>
</data>
<data name="&gt;&gt;label1.ZOrder" xml:space="preserve">
<value>2</value>
<value>4</value>
</data>
<data name="&gt;&gt;toolStripStatusLabel1.Name" xml:space="preserve">
<value>toolStripStatusLabel1</value>
@@ -1711,6 +1768,9 @@
<data name="&gt;&gt;grpOutputStyle.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="label2.Text" xml:space="preserve">
<value>Pregap:</value>
</data>
<data name="&gt;&gt;grpAudioOutput.ZOrder" xml:space="preserve">
<value>11</value>
</data>
@@ -1753,9 +1813,6 @@
<data name="rbCustomFormat.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="&gt;&gt;toolStripMenuItem2.Name" xml:space="preserve">
<value>toolStripMenuItem2</value>
</data>
<data name="rbGapsAppended.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@@ -1786,11 +1843,14 @@
<data name="&gt;&gt;rbFreedbIf.Parent" xml:space="preserve">
<value>groupBox1</value>
</data>
<data name="txtDataTrackLength.Size" type="System.Drawing.Size, System.Drawing">
<value>54, 21</value>
</data>
<data name="&gt;&gt;groupBox1.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="rbFreedbNever.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 19</value>
<data name="&gt;&gt;rbFreedbNever.Name" xml:space="preserve">
<value>rbFreedbNever</value>
</data>
<data name="&gt;&gt;grpCUEPaths.Type" xml:space="preserve">
<value>System.Windows.Forms.GroupBox, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@@ -1798,8 +1858,8 @@
<data name="groupBox1.ToolTip" xml:space="preserve">
<value />
</data>
<data name="&gt;&gt;btnAbout.ZOrder" xml:space="preserve">
<value>13</value>
<data name="grpOutputPathGeneration.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="btnStop.TabIndex" type="System.Int32, mscorlib">
<value>12</value>
@@ -1823,7 +1883,7 @@
<value>108, 211</value>
</data>
<data name="&gt;&gt;rbArApplyOffset.ZOrder" xml:space="preserve">
<value>4</value>
<value>6</value>
</data>
<data name="&gt;&gt;rbArVerify.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
@@ -1831,9 +1891,6 @@
<data name="&gt;&gt;rbArAndEncode.Type" xml:space="preserve">
<value>System.Windows.Forms.RadioButton, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="rbDontGenerate.Size" type="System.Drawing.Size, System.Drawing">
<value>59, 17</value>
</data>
<data name="&gt;&gt;txtDataTrackLength.Name" xml:space="preserve">
<value>txtDataTrackLength</value>
</data>
@@ -1855,6 +1912,9 @@
<data name="&gt;&gt;btnConvert.Type" xml:space="preserve">
<value>System.Windows.Forms.Button, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="txtPreGapLength.Location" type="System.Drawing.Point, System.Drawing">
<value>77, 117</value>
</data>
<metadata name="$this.Localizable" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>

View File

@@ -40,6 +40,7 @@ namespace JDP
this.TrackNo = new System.Windows.Forms.ColumnHeader();
this.Length = new System.Windows.Forms.ColumnHeader();
this.btnEdit = new System.Windows.Forms.Button();
this.Start = new System.Windows.Forms.ColumnHeader();
this.SuspendLayout();
//
// button1
@@ -91,6 +92,7 @@ namespace JDP
this.listTracks.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.Title,
this.TrackNo,
this.Start,
this.Length});
this.listTracks.FullRowSelect = true;
this.listTracks.GridLines = true;
@@ -123,6 +125,10 @@ namespace JDP
this.btnEdit.UseVisualStyleBackColor = true;
this.btnEdit.Click += new System.EventHandler(this.btnEdit_Click);
//
// Start
//
resources.ApplyResources(this.Start, "Start");
//
// frmChoice
//
this.AcceptButton = this.button1;
@@ -133,8 +139,10 @@ namespace JDP
this.Controls.Add(this.textBox1);
this.Controls.Add(this.listChoices);
this.Controls.Add(this.button1);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.MaximizeBox = false;
this.Name = "frmChoice";
this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Hide;
this.Load += new System.EventHandler(this.frmChoice_Load);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmChoice_FormClosing);
this.ResumeLayout(false);
@@ -154,5 +162,6 @@ namespace JDP
private System.Windows.Forms.ColumnHeader TrackNo;
private System.Windows.Forms.ColumnHeader Length;
private System.Windows.Forms.Button btnEdit;
private System.Windows.Forms.ColumnHeader Start;
}
}

View File

@@ -5,6 +5,7 @@ using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using CUETools.CDImage;
using CUETools.Processor;
using MusicBrainz;
using Freedb;
@@ -112,11 +113,23 @@ namespace JDP
CUE.FillFromFreedb((CDEntry)item);
}
private void AutoResizeTracks()
{
listTracks.Columns[1].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
listTracks.Columns[2].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
listTracks.Columns[3].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
int widthAvailable = listTracks.Width - listTracks.Columns[1].Width - listTracks.Columns[2].Width - listTracks.Columns[3].Width - listTracks.Padding.Horizontal - 24;
if (listTracks.Columns[0].Width < widthAvailable)
listTracks.Columns[0].Width = widthAvailable;
}
private void listChoices_SelectedIndexChanged(object sender, EventArgs e)
{
object item = ChosenObject;
if (item != null && item is CUEToolsSourceFile)
textBox1.Text = (item as CUEToolsSourceFile).contents;
{
textBox1.Text = (item as CUEToolsSourceFile).contents.Replace("\r\n", "\r").Replace("\r", "\r\n");
}
else if (item != null && item is MusicBrainz.Release)
{
MusicBrainz.Release release = item as MusicBrainz.Release;
@@ -126,22 +139,27 @@ namespace JDP
listTracks.Items.Add(new ListViewItem(new string[] {
track.GetTitle(),
(listTracks.Items.Count + 1).ToString(),
CUE == null ? "" : CUE.TOC[listTracks.Items.Count + 1].StartMSF,
CUE == null ? "" : CUE.TOC[listTracks.Items.Count + 1].LengthMSF
}));
}
AutoResizeTracks();
}
else if (item != null && item is CDEntry)
{
CDEntry cdEntry = item as CDEntry;
listTracks.Items.Clear();
foreach (Freedb.Track track in cdEntry.Tracks)
{
listTracks.Items.Add(new ListViewItem(new string[] {
track.Title,
(listTracks.Items.Count + 1).ToString(),
CDImageLayout.TimeToString((uint)track.FrameOffset - 150),
CUE == null ? "" : CUE.TOC[listTracks.Items.Count + 1].LengthMSF
}));
}
AutoResizeTracks();
}
else if (item != null && item is CUESheet)
{
@@ -152,9 +170,11 @@ namespace JDP
listTracks.Items.Add(new ListViewItem(new string[] {
track.Title,
(listTracks.Items.Count + 1).ToString(),
CUE == null ? "" : CUE.TOC[listTracks.Items.Count + 1].StartMSF,
CUE == null ? "" : CUE.TOC[listTracks.Items.Count + 1].LengthMSF
}));
}
AutoResizeTracks();
}
else
{

View File

@@ -259,6 +259,36 @@
<data name="listTracks.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
</data>
<data name="Title.DisplayIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="Title.Text" xml:space="preserve">
<value>Title</value>
</data>
<data name="Title.Width" type="System.Int32, mscorlib">
<value>360</value>
</data>
<data name="TrackNo.DisplayIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="TrackNo.Text" xml:space="preserve">
<value>#</value>
</data>
<data name="TrackNo.Width" type="System.Int32, mscorlib">
<value>30</value>
</data>
<data name="Start.Text" xml:space="preserve">
<value>Start</value>
</data>
<data name="Start.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
<value>Right</value>
</data>
<data name="Length.Text" xml:space="preserve">
<value>Length</value>
</data>
<data name="Length.TextAlign" type="System.Windows.Forms.HorizontalAlignment, System.Windows.Forms">
<value>Right</value>
</data>
<data name="listTracks.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 90</value>
</data>
@@ -283,30 +313,6 @@
<data name="&gt;&gt;listTracks.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="Title.DisplayIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="Title.Text" xml:space="preserve">
<value>Title</value>
</data>
<data name="Title.Width" type="System.Int32, mscorlib">
<value>455</value>
</data>
<data name="TrackNo.DisplayIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="TrackNo.Text" xml:space="preserve">
<value>#</value>
</data>
<data name="TrackNo.Width" type="System.Int32, mscorlib">
<value>30</value>
</data>
<data name="Length.Text" xml:space="preserve">
<value>Length</value>
</data>
<data name="Length.Width" type="System.Int32, mscorlib">
<value>62</value>
</data>
<data name="btnEdit.Location" type="System.Drawing.Point, System.Drawing">
<value>407, 293</value>
</data>
@@ -379,6 +385,12 @@
<data name="&gt;&gt;Length.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;Start.Name" xml:space="preserve">
<value>Start</value>
</data>
<data name="&gt;&gt;Start.Type" xml:space="preserve">
<value>System.Windows.Forms.ColumnHeader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>frmChoice</value>
</data>

View File

@@ -199,13 +199,41 @@ namespace Freedb
private bool Parse(StringCollection data)
{
int offsetNumber = -1;
foreach (string line in data)
{
// check for comment
if (line[0] == '#')
{
if (offsetNumber == -2)
continue;
if (offsetNumber == -1)
{
if (line.Substring(1).Trim() != "Track frame offsets:")
continue;
offsetNumber = 0;
continue;
}
if (line.Substring(1).Trim() == "" || line.Substring(1).Trim()[0] == 'D')
{
offsetNumber = -2;
continue;
}
int offset;
if (!int.TryParse(line.Substring(1).Trim(), out offset))
{
Debug.WriteLine("Failed to parse track FrameOffset: " + line);
continue;
}
//may need to concatenate track info
while (offsetNumber >= m_Tracks.Count)
this.m_Tracks.Add(new Track(""));
m_Tracks[offsetNumber].FrameOffset = offset;
offsetNumber++;
continue;
}
int index = line.IndexOf('=');
if (index == -1) // couldn't find equal sign have no clue what the data is

View File

@@ -28,6 +28,7 @@ namespace Freedb
private string m_Title;
private string m_ExtendedData;
private int m_FrameOffset;
#region Public Properties
/// <summary>
@@ -59,6 +60,21 @@ namespace Freedb
this.m_Title = value;
}
}
/// <summary>
/// Property FrameOffset (int)
/// </summary>
public int FrameOffset
{
get
{
return this.m_FrameOffset;
}
set
{
this.m_FrameOffset = value;
}
}
#endregion