This commit is contained in:
Frank Skare
2019-06-19 18:22:40 +02:00
parent 064ae44ecf
commit c0a8e895f7

View File

@@ -574,20 +574,24 @@ namespace mpvnet
else
mp.commandv("loadfile", files[i], "append");
Task.Run(() => LoadFolder()); // user reported race condition
}
static void LoadFolder()
{
Thread.Sleep(50); // user reported race condition
string path = files[0];
if (files.Length != 1 || !File.Exists(path)) return;
List<string> filesInFolder = Directory.GetFiles(Path.GetDirectoryName(path)).ToList();
filesInFolder = filesInFolder.Where((file) =>
string path = mp.get_property_string("path");
if (!File.Exists(path) || get_property_int("playlist-count") != 1) return;
List<string> files = Directory.GetFiles(Path.GetDirectoryName(path)).ToList();
files = files.Where((file) =>
App.VideoTypes.Contains(Path.GetExtension(file).TrimStart('.').ToLower()) ||
App.AudioTypes.Contains(Path.GetExtension(file).TrimStart('.').ToLower())).ToList();
filesInFolder.Sort(new StringLogicalComparer());
int index = filesInFolder.IndexOf(path);
filesInFolder.Remove(path);
foreach (string i in filesInFolder)
files.Sort(new StringLogicalComparer());
int index = files.IndexOf(path);
files.Remove(path);
foreach (string i in files)
commandv("loadfile", i, "append");
if (index > 0)
commandv("playlist-move", "0", (index + 1).ToString());
if (index > 0) commandv("playlist-move", "0", (index + 1).ToString());
}
static IntPtr AllocateUtf8IntPtrArrayWithSentinel(string[] arr, out IntPtr[] byteArrayPointers)