summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorac79b0c6 <[email protected]>2022-05-20 18:16:59 +0800
committerac79b0c6 <[email protected]>2022-05-20 18:16:59 +0800
commit25a09d120098574711a3f007f35df44771da387c (patch)
tree791886854bc08bcd2e54ed2a74b5a490a3816955
parentc8c65c409de5995a2e774fc35ac82a5bfb21e137 (diff)
update mkvlib:add overwrite switch
-rw-r--r--mkvlib/c/README.md5
-rw-r--r--mkvlib/c/exports.go8
-rw-r--r--mkvlib/c/sdk.cs8
-rw-r--r--mkvlib/c/sdk.py5
-rw-r--r--mkvlib/mkv.go9
-rw-r--r--mkvlib/shared.go2
6 files changed, 34 insertions, 3 deletions
diff --git a/mkvlib/c/README.md b/mkvlib/c/README.md
index 7ac28dd..35b4ef0 100644
--- a/mkvlib/c/README.md
+++ b/mkvlib/c/README.md
@@ -205,4 +205,9 @@
void NRename(bool n);
//子集化时不重命名字体
//n: 是否不重命名
+ ```
+- ```c
+ void Overwrite(bool o);
+ //输出时是否覆盖已存在的文件
+ //o: 是否覆盖
``` \ No newline at end of file
diff --git a/mkvlib/c/exports.go b/mkvlib/c/exports.go
index f1537e3..86a0ceb 100644
--- a/mkvlib/c/exports.go
+++ b/mkvlib/c/exports.go
@@ -215,6 +215,14 @@ func GetFontInfo(p *C.char) *C.char {
return cs(string(data))
}
+//export Overwrite
+func Overwrite(o bool) {
+ if !checkInstance() {
+ return
+ }
+ getter.GetProcessorInstance().Overwrite(o)
+}
+
//export Version
func Version() *C.char {
return cs(mkvlib.Version())
diff --git a/mkvlib/c/sdk.cs b/mkvlib/c/sdk.cs
index 379396b..8ece63e 100644
--- a/mkvlib/c/sdk.cs
+++ b/mkvlib/c/sdk.cs
@@ -61,6 +61,9 @@ public static class mkvlib
[DllImport("mkvlib.so", EntryPoint = "NRename")]
static extern void _NRename(bool n);
+ [DllImport("mkvlib.so", EntryPoint = "Overwrite")]
+ static extern void _Overwrite(bool o);
+
[DllImport("mkvlib.so", EntryPoint = "Check")]
static extern void _Check(bool check, bool strict);
@@ -178,6 +181,11 @@ public static class mkvlib
_NRename(n);
}
+ public static void Overwrite(bool o)
+ {
+ _Overwrite(o);
+ }
+
public static void Check(bool check, bool strict)
{
_Check(check, strict);
diff --git a/mkvlib/c/sdk.py b/mkvlib/c/sdk.py
index 73de70d..60bb523 100644
--- a/mkvlib/c/sdk.py
+++ b/mkvlib/c/sdk.py
@@ -131,6 +131,11 @@ def nrename(n):
call(n)
+def overwrite(o):
+ call = lib.Overwrite
+ call(o)
+
+
def check(c, s):
call = lib.Check
call(c, s)
diff --git a/mkvlib/mkv.go b/mkvlib/mkv.go
index 46da74b..d85e8d9 100644
--- a/mkvlib/mkv.go
+++ b/mkvlib/mkv.go
@@ -48,6 +48,7 @@ type mkvProcessor struct {
nrename bool
check bool
strict bool
+ overwrite bool
}
func (self *mkvProcessor) GetMKVInfo(file string) *mkvInfo {
@@ -256,7 +257,7 @@ func (self *mkvProcessor) CreateMKVs(vDir, sDir, fDir, tDir, oDir, slang, stitle
} else {
fn += ".mkv"
}
- if _a, _ := isExists(fn); _a {
+ if _a, _ := isExists(fn); _a && !self.overwrite {
printLog(lcb, `@Warning@ Existing file: "%s",skip.`, fn)
_ok++
printLog(lcb, "Create (%d/%d) done.", _ok, l)
@@ -315,7 +316,7 @@ func (self *mkvProcessor) MakeMKVs(dir, data, output, slang, stitle string, lcb
} else {
fn += ".mkv"
}
- if _a, _ := isExists(fn); _a {
+ if _a, _ := isExists(fn); _a && !self.overwrite {
printLog(lcb, `@Warning@ Existing file: "%s",skip.`, fn)
_ok++
printLog(lcb, "Make (%d/%d) done.", _ok, l)
@@ -445,6 +446,10 @@ func (self *mkvProcessor) NRename(nrename bool) {
self.nrename = nrename
}
+func (self *mkvProcessor) Overwrite(o bool) {
+ self.overwrite = o
+}
+
func (self *mkvProcessor) CreateBlankOrBurnVideo(t int64, s, enc, ass, fontdir, output string) bool {
if !self.ffmpeg {
return false
diff --git a/mkvlib/shared.go b/mkvlib/shared.go
index 50a4566..372ae5f 100644
--- a/mkvlib/shared.go
+++ b/mkvlib/shared.go
@@ -11,7 +11,7 @@ import (
)
const libName = "mkvlib"
-const libVer = "v2.1.1"
+const libVer = "v2.1.2"
const LibFName = libName + " " + libVer