WIP: How to build M4L devices with N4M
メモ:
Max version: 8.0.4
直接amxdファイルを編集する方法では可能な方法が見つかっていない為、 partchers/main.maxpat をエントリーポイントとしてmaxでパッチを作り、m4l向けにエクスポートする
以下、MaxパッチをM4Lにエクスポートして作ったプラグインをAbleton Live上でデバイスとして立ち上げた時の状態を"ランタイム"と呼ぶ。 現時点で遭遇したトラブルの多くはランタイム特有で、Max上で開いた場合(エクスポート前、後問わず)には、再現しない。
Keep Project Folder Organized をオフにする為、code フォルダにjsコードを入れると、ランタイム時にパスを解決できない。
dictの名前に---接頭辞をつけると(e.g.: ---store)、ランタイム時にnode.scriptで見つけることができない。
→これはmaxから---をつけた名前をmessageでnode.scriptにインプットしてnode.script上の変数に代入することにより解決。
サブパッチャーにnode.scriptを入れると、ランタイム時に起動することができないので、メインファイルにnode.scriptを入れる
CashファイルのPath
/Users/satoshi/Documents/Max 8/Max for Live Devices
/Users/satoshi/Library/Application Support/Cycling '74/Max 8/Settings/temp64-live/mxt/spectral_extractor.amxd_coll_u805000155
ゴミ箱も空にしてからビルドしたほうが良い
cmd + shift + mでMax consoleを開いた状態で進めたほうが良い
In case you find the jweb object not working, debug.log is useful. The file is exported to /Users/UserName/Library/Application Support/Cycling '74/Max 8/Settings/CEF 67/debug.log
ビルド手順:
0. マニュアルでnpm installを済ませておく
1. Max Projectを作る
Max8.0.4を開き、File -> New Projectを選択
ここでは仮に、デスクトップにstarling-maxという名前で作る。
2. Project Settingsを設定する
ギアのアイコンから Project Inspectorをクリック
Keep Project Folder Organizedのチェックを外す
Max for Live Device Type を Instrument にする
以下の画像のようになればOK
https://gyazo.com/d959a82ad7899e1efd7ca0191bfb5a73
3. Search Pathsを設定する
注意: MaxのグローバルのFile Preferencesと混同しないように。
ギアのアイコンから、 Search Pathsをクリック
(m4l-starlingまでのパス)/node_contentをSearch Pathに追加し、 Embeddedオプションを有効にする
以下の画像のようになればOK
https://gyazo.com/5090e327a817041199144342f7825ab3
4. エントリーポイントのファイルを追加する
左下の+アイコンから、Add Exsisting Fileをクリックする
(m4l-starlingまでのパス)/patchers/main.maxpatを追加する
以下の画像のようになればOK
https://gyazo.com/f3bb83cb0e057c50840cfaf990f09a04
5. エクスポート
真ん中のアイコン(Manage Project)から Export Max for Live Deviceをクリック。
任意の場所に、任意の名前で保存する。
References:
https://cycling74.com/forums/include-installed-npm-packages-into-your-m4l-device-when-distributing-possible
https://cycling74.com/forums/node-for-max-bundling-in-collectives-standalones-and-max-for-live-devices