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