Skip to content

Commit 470390b

Browse files
add IsLinkedToPreviousTrack to import
1 parent d616e25 commit 470390b

5 files changed

Lines changed: 15 additions & 10 deletions

File tree

AudioCuesheetEditor.Tests/Services/IO/ImportManagerTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,8 @@ public async Task ImportFilesAsync_TextFile_ImportsCorrectly()
207207
Assert.AreEqual(ImportFileType.Textfile, sessionStateContainer.Importfile.FileType);
208208
}
209209

210+
//TODO: Add test for checking if tracks are linked default
211+
210212
private static IBrowserFile CreateBrowserFileMock(string name, string content = "TestContent")
211213
{
212214
var fileMock = new Mock<IBrowserFile>();

AudioCuesheetEditor/Model/AudioCuesheet/ITrack.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,6 @@ public interface ITrack
2626
IEnumerable<Flag> Flags { get; set; }
2727
TimeSpan? PreGap { get; set; }
2828
TimeSpan? PostGap { get; set; }
29+
bool IsLinkedToPreviousTrack { get; set; }
2930
}
3031
}

AudioCuesheetEditor/Model/AudioCuesheet/Import/ImportTrack.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,5 +28,6 @@ public class ImportTrack : ITrack
2828
public TimeSpan? PreGap { get; set; }
2929
public TimeSpan? PostGap { get; set; }
3030
public DateTime? StartDateTime { get; set; }
31+
public bool IsLinkedToPreviousTrack { get; set; }
3132
}
3233
}

AudioCuesheetEditor/Model/AudioCuesheet/Track.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -349,15 +349,15 @@ public void CopyValues(ITrack track, Boolean setCuesheet = true, Boolean setIsLi
349349
PostGap = track.PostGap;
350350
}
351351
}
352-
if (setIsLinkedToPreviousTrack && (track is Track cuesheetTrack2))
352+
if (setIsLinkedToPreviousTrack)
353353
{
354-
if ((useInternalSetters != null) && (useInternalSetters.Contains(nameof(IsLinkedToPreviousTrack))))
354+
if (useInternalSetters?.Contains(nameof(IsLinkedToPreviousTrack)) == true)
355355
{
356-
isLinkedToPreviousTrack = cuesheetTrack2.IsLinkedToPreviousTrack;
356+
isLinkedToPreviousTrack = track.IsLinkedToPreviousTrack;
357357
}
358358
else
359359
{
360-
IsLinkedToPreviousTrack = cuesheetTrack2.IsLinkedToPreviousTrack;
360+
IsLinkedToPreviousTrack = track.IsLinkedToPreviousTrack;
361361
}
362362
}
363363
}

AudioCuesheetEditor/Services/IO/TextImportService.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,11 @@ public async Task<IImportfile> AnalyseAsync(string fileContent)
4242
};
4343
try
4444
{
45-
var options = await _localStorageOptionsProvider.GetOptionsAsync<ImportOptions>();
46-
var importProfile = options.SelectedImportProfile ?? throw new InvalidOperationException("Selected import profiles is not set!");
45+
var importOptions = await _localStorageOptionsProvider.GetOptionsAsync<ImportOptions>();
46+
var applicationOptions = await _localStorageOptionsProvider.GetOptionsAsync<ApplicationOptions>();
47+
var importProfile = importOptions.SelectedImportProfile ?? throw new InvalidOperationException("Selected import profiles is not set!");
4748
SearchForCuesheetData(ref importFile, fileContent, importProfile);
48-
SearchForTrackData(ref importFile, fileContent, importProfile);
49+
SearchForTrackData(ref importFile, fileContent, importProfile, applicationOptions.DefaultIsLinkedToPreviousTrack);
4950
}
5051
catch (Exception ex)
5152
{
@@ -135,7 +136,7 @@ private static void SearchForCuesheetData(ref Importfile importFile, string file
135136
}
136137
}
137138

138-
private static void SearchForTrackData(ref Importfile importFile, string fileContent, Importprofile importProfile)
139+
private static void SearchForTrackData(ref Importfile importFile, string fileContent, Importprofile importProfile, bool defaultIsLinkedToPreviousTrack)
139140
{
140141
if (string.IsNullOrWhiteSpace(importProfile.SchemeTracks) == false)
141142
{
@@ -155,7 +156,7 @@ private static void SearchForTrackData(ref Importfile importFile, string fileCon
155156
importFile.FileContentRecognized = regex.Replace(importFile.FileContentRecognized,
156157
match =>
157158
{
158-
var track = new ImportTrack();
159+
var track = new ImportTrack() { IsLinkedToPreviousTrack = defaultIsLinkedToPreviousTrack };
159160
string marked = ApplyRegexAndMarkGroups(track, regex, match.Value, importProfile.TimeSpanFormat);
160161
cuesheet!.Tracks.Add(track);
161162
return marked;
@@ -173,7 +174,7 @@ private static void SearchForTrackData(ref Importfile importFile, string fileCon
173174
// Check if this line is already analyzed
174175
if (line.Contains(CuesheetConstants.MarkHTMLStart) == false)
175176
{
176-
var track = new ImportTrack();
177+
var track = new ImportTrack() { IsLinkedToPreviousTrack = defaultIsLinkedToPreviousTrack };
177178
var markedLine = ApplyRegexAndMarkGroups(track, regex, line, importProfile.TimeSpanFormat);
178179
if (!string.Equals(markedLine, line))
179180
{

0 commit comments

Comments
 (0)