namespace AmiReel.Services;
///
/// Locates sequential WinUAE-style recordings: output.avi, output_1.avi, output_2.avi, ...
/// Stopping at the first missing name.
///
public static class SourceRecordingFinder
{
public const string BaseFileName = "output";
public const string FileExtension = ".avi";
public const int MaximumFiles = 500;
///
/// Returns existing sequential recordings in , or an empty
/// list when the folder is missing or output.avi is not present.
///
public static IReadOnlyList FindSequentialOutputs(string? folder)
{
if (string.IsNullOrWhiteSpace(folder) || !Directory.Exists(folder))
return [];
string directory = Path.GetFullPath(folder);
List found = [];
string first = Path.Combine(directory, BaseFileName + FileExtension);
if (!File.Exists(first))
return found;
found.Add(first);
for (int index = 1; index < MaximumFiles; index++)
{
string next = Path.Combine(directory, $"{BaseFileName}_{index}{FileExtension}");
if (!File.Exists(next))
break;
found.Add(next);
}
return found;
}
}