kiyasuの日記

ハッピーうれピーよろしく哀愁

【LOM】オブジェクトにアクセスする方法いくつか

オブジェクトのidを直接指定する

f:id:mojo_nobu:20210101101547p:plain

パスをたどってオブジェクトを指定する

f:id:mojo_nobu:20210101103600p:plain

真ん中の[live.path]がミソです。これで「左から3番目のトラックの上から5番目のClipSlotをfireする」となります。パスの番号は0始まりなので2の場合は端から0,1,2で3番目です。

f:id:mojo_nobu:20210101103859p:plain

↑は実行後のableton liveの画面。「左から3番目のトラックの上から5番目のClipSlot」がfireされてますね。OK。

パスの指定方法はこちらの冒頭の図をご覧ください。

docs.cycling74.com

Tracks以下のClipSlots配列を取得してオブジェクトにアクセスする

応用編です。Tracks以下にいくつClipSlotsがあるかわからないので全部取ってきていい感じに利用したい場合のやりかたです。

f:id:mojo_nobu:20210101115942p:plain

右のコンソールにidが順番に出力されています。[zl.filter]と[iter]を使ってidだけ順番に出力させます。

ちなみにClipSlotsはScenes経由ではなくTracks経由で取得したほうがいいようです。どちらでも取れるんですけど、Tracks経由が正規のパスで、Scenesのほうがリンクみたいになってるぽい。かつてScenes経由で取ってそのあとの処理で面倒なことになったりしたので、特に理由なければTracks経由でいきましょう。

live.objectからパスを取得する

逆に、上記方法で指定したオブジェクトからパスを取ってくることもできます。 f:id:mojo_nobu:20210101164525p:plain getpathメッセージを使います。