概要

外観

いずれかのクリップスロットを選択、Launch/Record するためのデバイス。 MIDIコントローラのボタンやノブ、フェーダをアサインして利用することを想定したもの。

全体像

ダウンロードはこちらから Clip Selector version 1.0 by leico on maxforlive.com

構造

Ableton Live のクリップスロットはトラック数 x シーン数 のマトリクス(行列)で構成されている。

トラック数 x シーン数

クリップスロットはトラック側からか、シーン側からアクセスすることになり、 それぞれlive_set scenes N clip_slots Mlive_set tracks N clip_slots Mという path を利用することになる (N、Mの値は0 - トラック数orシーン数)。

トラック数、及びシーン数は Live 実行中に変動するため、最大トラック数、シーン数を監視しておく必要がある。

監視する部分のパッチ

live.observertracks / scenes を監視、 全てのトラック or シーンに対応する id がリストで出力されるので、 その総数をカウントし、live.numberの最大値に指定する。

id のリストは

id 1 id 2 id 32 id 43 id 55 ...

となっている。今回はzl.filter id でリスト内からシンボルid を除外し、 id が取り除かれたリスト要素の総数をzl.lenで出力し、トラック数/シーン数を求めている。

他に、live.observerの出力をzl.lenに入力、出力される総数を/ 2する方法も可能。 id Nが総数分出力されるため、リスト長は必ず最大数の2倍になるため。

16トラックの場合、0-15の値を指定することができる。そのままでは1つ多いので最後に- 1を行っている。

live.numberに入力された数値を path へ変換し、live.pathへ入力、 割り当てられた id を取得する。

指定されたクリップを選択状態にし、再生/録音/停止が送信できるよう準備する。