🍌

TouchEngineは適切なLicense Keyをインストールしないと動かないという話

2021/06/07に公開

TouchDesignerのtoxをモジュール的に動かして、TouchDesigner外から扱えるようにするTouchEngineとそのサンプルコードが公開されています。
https://github.com/TouchDesigner/TouchEngine-Windows

Mac版は近日リリースとのこと(2021.6.7時点)
https://github.com/TouchDesigner/TouchEngine-Windows/issues/1

Non-Commercial Licenseしかインストールされていないマシンで実行したところ、灰色のウィンドウが出るだけで動作しなかったのでその知見を残しておきます。

動作にはTouchDesignerのインストールと適切なライセンスが必要です。

README.mdより
TouchEngine requires an installed version of TouchDesigner to load and work with components, along with any paid license (TouchPlayer/TouchDesigner Pro/Commercial/Educational).

適切なLicense Keyがインストールされていない状態でLoadした場合のエラーは、サンプルコードだとこのコールバックresult という変数で検出できます。(TEResultNoKey(12)

DocumentWindow.cpp
void
DocumentWindow::eventCallback(TEInstance * instance,
									TEEvent event,
									TEResult result,
									int64_t start_time_value,
									int32_t start_time_scale,
									int64_t end_time_value,
									int32_t end_time_scale,
									void * info)
{
	DocumentWindow *window = static_cast<DocumentWindow *>(info);

	switch (event)
	{
	case TEEventInstanceDidLoad:
		window->didLoad();
		break;
	case TEEventFrameDidFinish:
		window->endFrame(start_time_value, start_time_scale, result);
		break;
	case TEEventGeneral:
		// TODO: check result here
		break;
	default:
		break;
	}
}

Discussion