選択しているパラメータを取得できる selected_parameter

Live Object Model内の、 live_set view selected_parameterlive.observer で監視していると、Liveで選択したオブジェクトを取得することができる。

selected_parameter
Type
DeviceParameter
Access
get, observe
Description
The selected parameter, or “id 0”

実際に idpath を取得してMaxウィンドウに表示するパッチは以下。

----------begin_max5_patcher----------
649.3ocyW9sbhCBEF+53SASt1sSHQq59Xza2YGGL4TKchPFBIUmN8cegCIsc
U1QTSb1aHlC+4ieeANfuOIJdibOTGS9I4Wjnn2mDEggrAh5dOJdGaedIqFaV
r.dSt403otpzvdMFtRwEZRES+ReU7BrBSi+AcdePQyNtnDz3XQ+JnrQ2GMoK
Zs9PIfCQemMid9Kbw10JHW6lyYIIOjLkPoKsOVPskolRxusc4iISrESGBzL3
3ArzwCrGsrjgkyWMFbU.OCpR4a93hdAbQuDtnqPVnoKOFrt93FX8gJv0g336
DyKGYjO8S4cgXMYKns6KIk99PO6BnN8JndQFVtH.pmNvjWxagGLUXmRdHOyK
4oC2R7DZvn+YU0rVnXsaRulo0J9lFsKAczmzGEutBT07ZMHxwwfhwQaanLOI
qXCSr0mykLV6TRwsHAmY.meCaldnBDEjJkzXv5Cdg+w9nOKEZAamipm345Cj
mfsMkL035OzjtGKt6oRpgRyjwrBshoLjqAk+rJIoCpIkdEKhb2KXV148nSgZ
rREUCpVP4wvVs3J8qzgxunYyC1v5rm+6RYYMY2IclestFzjVN36n9UYC5xyr
K2tcWFfNaUft8IKHw1aPVb7s2QIsw+aCrV1nx6Gx9kbjujs.p0bASykhu0nk
t138aTvBYLaB8LBgYLtYoVF.R1a77sFIUElcj8qGGWkS8qbxMo7Q77OjNa.b
WTIZHJQuUkxBgI5PvDMDklODJYu3vYkpeW4MJUZ.eoPonChTm0.6Y+F0JDC7
zU5tTkrppV6IPtVihXNU4UItEbwT7Utv8JlPOVAs791OCivTlr4ZSp7FkKO+
9Gc++o3cRylYQCuKShQ4Ol7G8Fg.cB
-----------end_max5_patcher-----------

idpath を取得してMaxウィンドウに表示するパッチ

idpath を表示した例

実際に表示してみると

  • パラメータ以外を選択すると id 0 が出力される
  • Max for Liveデバイスのパラメータを選択する際、何故かほぼ同時に異なる id が出力されることがある

ということがわかった。これらを解決する。 が、そのうちに Cycling’ 74 が修正してくれることを願う。

id 0 を除外し、正しい id のみ出力するようにする

まずは完成形。

----------begin_max5_patcher----------
836.3ocyX1sjZBCEG+Z7oHCWa2gDPA5iwdamNNHbVM6fAlPzU6N66dCIPc+H
SMnI0dwJKgX9memuxQdcVP35liPWH56nefBBdcVPfZn9ABFtOHbWwwx5hN0z
BYvKMqeNbt9QB3nPMbKmxDnZZmX7QzJ0CjS9ajzwAY62QY0fPsV3yC1rWLNZ
zvnchS0fZIF+xsEhxsT1lUbnTn2ywQjGhlivwpKo39OIxOQ+r+q71rY8eL+1
P6W0O.kz5ND1DZXinQLhFYRnkE2Syh7OS1vWQuthSsfd9x0R9mKAWrkCcaQQ
FvFmNArwWgGkPNC+Ev1kH2xgVfUgjnZ.5kSHLFeE95L680tD5xsErMfQ+LIZ
BHGOEjIjDUlKdg0NZY7srHy3EWZA3RwLa.v49J+dv.jo71KhuC42ZpMGpm4Y
rWDOE2tiyw6OpRt01ZB7E95npjk4d+nJMZl8nDucFrt30.Xu2k5Nvpfm.dcy
Kl.C6qpxCdrrk2kih9KHm4KhGRNuSG9JPa.QedIp1jeNYBTStB+brJkLM8NT
Rpld.dP9f9sjAxi8UyVCjOziYpU96w0u3.TsRumWUHDb5Z4oIcCrO.eP3pVf
2I+UA.qTsFX03JqlqrcMEUqkMvXxvE4sF1T0DxsMMQs+7Qeps7FoAVbxH7+o
c0mZXBVwNMUORKEmPOBa1WWv8q8AGk9tK+SqjzA0xMiLBssfKIW.byEUhHN0
HQltQR2.HNwhN.+JT9pRTGvO.bCFr7zqzdQbk8BObIw9Vl+uqjUuQVePm7+V
0ABzAJX5j97XmFdFOcycrNENw1N0+R.oZ9RjYe98Lojre7OZ.6Z1yKGWxwPN
zYYqfNAkUHnMr2MoL8bL5irVHowFgufPpJF2rTYVfD1EL0+9otLSKcgRQ1vT
pCTp+2jeQlF2N2lRV4mxcgR1DjS93jZ3UxZziUn7rzXyRGcaRuzF6ax8SZhW
L3I1HcrKhpRrI6enr2soTrMLgcASXaTZgKTJxlXjbmTRScpB1FovNQpKZ.iV
5Drrw.90HccOCEssG5aESOakHx1qdtQkBlNWcKkouU0YSHGNPGmehZjBtrsF
grml8bcCOGWpeOBg6ZjIyr8zg7YoxuM62TCbtjJ
-----------end_max5_patcher-----------

修正を加えてとても見づらくなったパッチ

id 0 を除外する

  1. route idの左アウトを使って id xxx というメッセージのみを通過させつつ、 id の接頭辞を除外
  2. route 0の右アウトを使って 0 以外の id を通過させる

ここまでの処理によって id の数値のみが出てくる。 処理がしやすくなったところでchangeオブジェクトを使い、同じ id が出力されないようにする。

正しい id のみを出力する

ほぼ同時に2つの id が出力されていたので、まずthresh 0で出力を1つのリストにできるか試したところ、 リストになったのでリストを処理して正しい id のみを通過させる。

観察してみると2つ目に出てくる id が正しいと判明。というか、後々に出てくる id がおそらく正しい値になっているのだろう。 なのでリスト最後の id だけ出力させる。リスト最後から1つ目だけを切り出すためにzl.ecils 1を用いている。 ecilsslice の逆読み。

右アウトから出力される 正しい id に、接頭辞 idprepend idで付け足して完成。