Cinema4Dでのレンダリング完了を任意のデバイス端末にPush通知したい。
- Cinema4Dではレンダリング設定の
Remote
にレンダリング完了をフックして起動する実行パスを設定できる。 - push機能はPushbulletのAPIを使ってpythonで実装。Pushbulletアカウントを作成し、端末にAppをインストールする。
レンダリング設定のRemote
パスにはスクリプトファイルを設定できなかった。(設定しても動作しない。)
.exe
は実行できるようなのでpythonスクリプトをexe化するpy2exe
でexe化を試す。
が、パッケージングの際に組み込むモジュールに、今回の動作に必要なモジュールが足りないらしく動かない。
このあたり解決策がありそうだがよく分からない。
ので、最終的にバッチファイル(.bat)
からスクリプトを実行すると動いた。
レンダリング完了 -> .batを実行 -> pythonを実行 -> Push!
レンダリング設定のRemoteにレンダリング完了をフックする起動アプリケーションを設定する。
- Render Setting -> Effect -> Remote -> External App [ Push.bat ]
-
前提
- Python2.7.xがインストールされていること
- PIPコマンドが使えること
-
使用するライブラリ
- pushbullet.py
-
コマンドラインでインストール
pip install pushbullet.py
config.json
を編集する。
{
"access_token" : "YOUR_ACCESS_TOKEN",
"device_name" : "YOUR_DEVICE_NAME",
"send_title" : "MESSAGE_TITLE",
"send_body" : "MESSAGE_BODY",
"send_file" : "FILE.png"
}
項目 | 設定 |
---|---|
access_token | pushbulletのアカウント設定ページからAccess Token をコピー |
device_name | 送信したいデバイス名 |
send_title | 送信するメッセージタイトル。画像が空の場合に使用される。 |
send_body | 送信するメッセージ内容。画像が空の場合に使用される。 |
send_file | プレビュー送信したい画像。空の場合はtitleとbodyのみ送信される。 |
Enjoy!