false
diff --git a/InputPipePlugin/input.cpp b/InputPipePlugin/input.cpp
index bd7f18b..e2849e1 100644
--- a/InputPipePlugin/input.cpp
+++ b/InputPipePlugin/input.cpp
@@ -201,8 +201,12 @@ BOOL func_init( void )
m_config.bEnableIPC = false;
return TRUE;
}
+ return TRUE;
+
+ } else {
+ BOOL b = Plugin_func_init();
+ return b;
}
- return TRUE;
}
@@ -222,8 +226,12 @@ BOOL func_exit( void )
g_audioSharedMemory.CloseHandle();
DisconnectPipeAndStopProcess();
+
+ return TRUE;
+ } else {
+ BOOL b = Plugin_func_exit();
+ return b;
}
- return TRUE;
}
bool IsAlternativeFileName(const std::string& filePath)
diff --git a/Readme.md b/Readme.md
index c0fcd46..4341274 100644
--- a/Readme.md
+++ b/Readme.md
@@ -10,6 +10,7 @@ aviutlのメモリ使用量削減を目論む、aviutlの入力プラグイン
・拡張編集 0.92
※ 拡張編集 0.93rc1 はシーン周りに不具合があるので推奨しません
・L-SMASH Works r935 release2
+・L-SMASH-Works_rev1096_Mr-Ojii_Mr-Ojii_AviUtl
上記の環境で動作を確認しています
XPではたぶん動きません(コンパイラが対応していないため)
@@ -90,7 +91,7 @@ InputPipePluginConfig.ini を削除してください
https://ws.formzu.net/fgen/S37403840/
## ■著作権表示
-Copyright (C) 2019-2020 amate
+Copyright (C) 2019-2022 amate
私が書いた部分のソースコードは、MIT License とします。
@@ -123,7 +124,7 @@ AvidemuxのVideo OutputとAudio OutputをCopyに、Output FormatをMkv Muxerに
コンテナを変更するだけでなぜ直るのかは謎
## ■ビルドについて
-Visual Studio 2019 が必要です
+Visual Studio 2022 が必要です
ビルドには boost(1.70~)とWTL(10_9163) が必要なのでそれぞれ用意してください。
Boost::Logを使用しているので、事前にライブラリのビルドが必要になります
@@ -143,6 +144,12 @@ http://sourceforge.net/projects/wtl/
## ■更新履歴
+v1.9
+・[update] 開発環境を Visual Studio 2022 に更新
+・[fix] lwinput.auiに func_init、func_exitが実装されていれば、それぞれ呼ぶようにした (オリジナルはnullptrだったので呼んでいなかった)
+・[change] 内部データ交換方式は、"共有メモリ"をデフォルトにした
+・[fix] InputPipePlugin.aui から InputPipeMain.exe 実行時に、カレントディレクトリを設定するようにした (lsmash.iniを読み込めるようになったはず)
+
v1.8
・[add] 同一フレーム同一ファイル問題に対処、Altを押しながらのファイルドロップで、新規ファイルとして開く処理を追加
diff --git a/Share/Common.cpp b/Share/Common.cpp
index 4d97a44..843e8f3 100644
--- a/Share/Common.cpp
+++ b/Share/Common.cpp
@@ -90,7 +90,7 @@ bool Config::LoadConfig()
auto ptree = ptreeWrapper::LoadIniPtree(kConfigFileName);
bEnableHandleCache = ptree.get(L"Config.bEnableHandleCache", true);
bEnableIPC = ptree.get(L"Config.bEnableIPC", true);
- bUseSharedMemory = ptree.get(L"Config.bUseSharedMemory", false);
+ bUseSharedMemory = ptree.get(L"Config.bUseSharedMemory", true);
return true;
}
diff --git a/Share/Common.h b/Share/Common.h
index bab092f..72630cb 100644
--- a/Share/Common.h
+++ b/Share/Common.h
@@ -24,7 +24,7 @@ BOOL func_config(HWND hwnd, HINSTANCE dll_hinst);
////////////////////////////////////////////////////////////////
-#define PLUGIN_VERSION "1.8"
+#define PLUGIN_VERSION "1.9"
constexpr int kVideoBufferSurplusBytes = 0x3FF;
diff --git a/Share/IPC.cpp b/Share/IPC.cpp
index da31e30..9ab2063 100644
--- a/Share/IPC.cpp
+++ b/Share/IPC.cpp
@@ -32,7 +32,7 @@ bool BindProcess::StartProcess(const std::wstring& exePath, const std::wstring&
securityAttributes.bInheritHandle = TRUE;
std::wstring cmdLine = L" " + std::to_wstring((uint64_t)m_hEventKillSwitch) + L" " + commandLine;
BOOL bRet = ::CreateProcess(exePath.c_str(), (LPWSTR)cmdLine.data(),
- nullptr, nullptr, TRUE, 0, nullptr, nullptr, &startUpInfo, &processInfo);
+ nullptr, nullptr, TRUE, 0, nullptr, GetExeDirectory().c_str(), &startUpInfo, &processInfo);
ATLASSERT(bRet);
::CloseHandle(processInfo.hThread);
::CloseHandle(processInfo.hProcess);
diff --git a/Share/PluginWrapper.cpp b/Share/PluginWrapper.cpp
index 439e013..534a38c 100644
--- a/Share/PluginWrapper.cpp
+++ b/Share/PluginWrapper.cpp
@@ -9,6 +9,28 @@
extern INPUT_PLUGIN_TABLE* g_winputPluginTable;
+BOOL Plugin_func_init()
+{
+ if (g_winputPluginTable->func_init) {
+ BOOL b = g_winputPluginTable->func_init();
+ return b;
+
+ } else {
+ return TRUE;
+ }
+}
+
+BOOL Plugin_func_exit()
+{
+ if (g_winputPluginTable->func_exit) {
+ BOOL b = g_winputPluginTable->func_exit();
+ return b;
+
+ } else {
+ return TRUE;
+ }
+}
+
INPUT_HANDLE Plugin_func_open(LPSTR file)
{
diff --git a/Share/PluginWrapper.h b/Share/PluginWrapper.h
index 33700eb..119b9d7 100644
--- a/Share/PluginWrapper.h
+++ b/Share/PluginWrapper.h
@@ -6,6 +6,8 @@
#include "..\InputPipePlugin\input.h"
+BOOL Plugin_func_init();
+BOOL Plugin_func_exit();
INPUT_HANDLE Plugin_func_open(LPSTR file);
BOOL Plugin_func_close(INPUT_HANDLE ih);
BOOL Plugin_func_info_get(INPUT_HANDLE ih, INPUT_INFO* iip);