summaryrefslogtreecommitdiff
path: root/mkvtool-gui/sdk.cs
diff options
context:
space:
mode:
Diffstat (limited to 'mkvtool-gui/sdk.cs')
-rw-r--r--mkvtool-gui/sdk.cs48
1 files changed, 27 insertions, 21 deletions
diff --git a/mkvtool-gui/sdk.cs b/mkvtool-gui/sdk.cs
index d174357..87ce7f7 100644
--- a/mkvtool-gui/sdk.cs
+++ b/mkvtool-gui/sdk.cs
@@ -85,7 +85,7 @@ public static class mkvlib
return css(_Version());
}
- public static bool InitInstance(Action<string> lcb)
+ public static bool InitInstance(Action<LogLevel, string> lcb)
{
return InitInstance(_lcb(lcb));
}
@@ -95,19 +95,15 @@ public static class mkvlib
return css(GetMKVInfo(cs(file)));
}
- public static bool DumpMKV(string file, string output, bool subset, Action<string> lcb)
+ public static bool DumpMKV(string file, string output, bool subset, Action<LogLevel, string> lcb)
{
return DumpMKV(cs(file), cs(output), subset, _lcb(lcb));
}
- public static bool[] CheckSubset(string file, Action<string> lcb)
+ public static bool[] CheckSubset(string file, Action<LogLevel, string> lcb)
{
string json = css(CheckSubset(cs(file), _lcb(lcb)));
- JsonDocument doc = JsonDocument.Parse(json);
- bool[] result = new bool[2];
- result[0] = doc.RootElement.GetProperty("subsetted").GetBoolean();
- result[1] = doc.RootElement.GetProperty("error").GetBoolean();
- return result;
+ return JsonSerializer.Deserialize<bool[]>(json);
}
public static bool CreateMKV(string file, string[] tracks, string[] attachments, string output, string slang, string stitle, bool clean)
@@ -117,29 +113,29 @@ public static class mkvlib
return CreateMKV(cs(file), cs(_tracks), cs(_attachments), cs(output), cs(slang), cs(stitle), clean);
}
- public static bool ASSFontSubset(string[] files, string fonts, string output, bool dirSafe, Action<string> lcb)
+ public static bool ASSFontSubset(string[] files, string fonts, string output, bool dirSafe, Action<LogLevel, string> lcb)
{
string _files = JsonSerializer.Serialize(files);
return ASSFontSubset(cs(_files), cs(fonts), cs(output), dirSafe, _lcb(lcb));
}
- public static string[] QueryFolder(string dir, Action<string> lcb)
+ public static string[] QueryFolder(string dir, Action<LogLevel, string> lcb)
{
string result = css(QueryFolder(cs(dir), _lcb(lcb)));
return JsonSerializer.Deserialize<string[]>(result);
}
- public static bool DumpMKVs(string dir, string output, bool subset, Action<string> lcb)
+ public static bool DumpMKVs(string dir, string output, bool subset, Action<LogLevel, string> lcb)
{
return DumpMKVs(cs(dir), cs(output), subset, _lcb(lcb));
}
- public static bool CreateMKVs(string vDir, string sDir, string fDir, string tDir, string oDir, string slang, string stitle, bool clean, Action<string> lcb)
+ public static bool CreateMKVs(string vDir, string sDir, string fDir, string tDir, string oDir, string slang, string stitle, bool clean, Action<LogLevel, string> lcb)
{
return CreateMKVs(cs(vDir), cs(sDir), cs(fDir), cs(tDir), cs(oDir), cs(slang), cs(stitle), clean, _lcb(lcb));
}
- public static bool MakeMKVs(string dir, string data, string output, string slang, string stitle, Action<string> lcb)
+ public static bool MakeMKVs(string dir, string data, string output, string slang, string stitle, Action<LogLevel, string> lcb)
{
return MakeMKVs(cs(dir), cs(data), cs(output), cs(slang), cs(stitle), _lcb(lcb));
}
@@ -149,7 +145,7 @@ public static class mkvlib
return CreateBlankOrBurnVideo(t, cs(s), cs(enc), cs(ass), cs(fontdir), cs(output));
}
- public static bool CreateTestVideo(string[] asses, string s, string fontdir, string enc, bool burn, Action<string> lcb)
+ public static bool CreateTestVideo(string[] asses, string s, string fontdir, string enc, bool burn, Action<LogLevel, string> lcb)
{
string _asses = JsonSerializer.Serialize(asses);
return CreateTestVideo(cs(_asses), cs(s), cs(fontdir), cs(enc), burn, _lcb(lcb));
@@ -160,7 +156,7 @@ public static class mkvlib
A2P(a2p, apc, cs(pr), cs(pf));
}
- public static string[][] GetFontsList(string[] files, string fonts, Action<string> lcb)
+ public static string[][] GetFontsList(string[] files, string fonts, Action<LogLevel, string> lcb)
{
string _files = JsonSerializer.Serialize(files);
string result = css(GetFontsList(cs(_files), cs(fonts), _lcb(lcb)));
@@ -198,25 +194,35 @@ public static class mkvlib
return css(GetFontInfo(cs(p)));
}
- public static string[] CreateFontsCache(string dir, string output, Action<string> lcb)
+ public static string[] CreateFontsCache(string dir, string output, Action<LogLevel, string> lcb)
{
string result = css(CreateFontsCache(cs(dir), cs(output), _lcb(lcb)));
return JsonSerializer.Deserialize<string[]>(result);
}
- public static bool CopyFontsFromCache(string[] asses, string dist, Action<string> lcb)
+ public static bool CopyFontsFromCache(string[] asses, string dist, Action<LogLevel, string> lcb)
{
string _files = JsonSerializer.Serialize(asses);
return CopyFontsFromCache(cs(_files), cs(dist), _lcb(lcb));
}
- delegate void logCallback(IntPtr ptr);
- static logCallback _lcb(Action<string> lcb)
+ delegate void logCallback(byte l, IntPtr ptr);
+
+ public enum LogLevel
+ {
+ Info,
+ Warning,
+ SWarning,
+ Error,
+ Progress
+ }
+
+ static logCallback _lcb(Action<LogLevel, string> lcb)
{
- return (ptr) =>
+ return (l, ptr) =>
{
if (lcb != null)
- lcb(css(ptr));
+ lcb((LogLevel)l, css(ptr));
};
}