【LOM】オブジェクトにアクセスする方法いくつか
オブジェクトのidを直接指定する
パスをたどってオブジェクトを指定する
真ん中の[live.path]がミソです。これで「左から3番目のトラックの上から5番目のClipSlotをfireする」となります。パスの番号は0始まりなので2の場合は端から0,1,2で3番目です。
↑は実行後のableton liveの画面。「左から3番目のトラックの上から5番目のClipSlot」がfireされてますね。OK。
パスの指定方法はこちらの冒頭の図をご覧ください。
Tracks以下のClipSlots配列を取得してオブジェクトにアクセスする
応用編です。Tracks以下にいくつClipSlotsがあるかわからないので全部取ってきていい感じに利用したい場合のやりかたです。
右のコンソールにidが順番に出力されています。[zl.filter]と[iter]を使ってidだけ順番に出力させます。
ちなみにClipSlotsはScenes経由ではなくTracks経由で取得したほうがいいようです。どちらでも取れるんですけど、Tracks経由が正規のパスで、Scenesのほうがリンクみたいになってるぽい。かつてScenes経由で取ってそのあとの処理で面倒なことになったりしたので、特に理由なければTracks経由でいきましょう。
live.objectからパスを取得する
逆に、上記方法で指定したオブジェクトからパスを取ってくることもできます。 getpathメッセージを使います。