So I'm working on a patch that displays the currently playing track name in a jitter window. At the moment I have hit a bit of a wall in design. I want to move this patch closer to the realm of an abstraction, specifically I want to be able to drop a device on to a track and for the device to know what track it is on. I am unsure as to how to poll this from the live api.
In case I was not being clear enough, I want to know how I would go about polling the live api to find out what track a device is currently on, so that I can use that data.
This is my current code fwiw
<pre><code>
----------begin_max5_patcher----------
2294.3oc6bs0iaaiE94Y9UPXjGyZvq5xtsEsEA6hBDrKP6isEAx1b7vDYIuR
xISZQ2e6KIOxdrmwWHko43TzGlQlxxVG9wy46bgG4e+1aFMo9AY6HzeG8yna
t42u8larmxbha5GeynEEOLsrn0dYipjepdx6G8Z3s5jOzYOs5NzqTDzW+0HL
p6dYEpdEAMonZNRV1J0i5n1gq+f2UW00p9Mo4CSviw8mtZ0B8kVJ6r2LZ+Yg
S084kRPRGM505+P+5VeWUEKru4nuqQUTh995xYquUKK5ldupZ96ZjS6fufjT
8cDI31CTr49iHYiwa9J0xgpZsXP5OoZl8Nnm9+sD9Hy49iau07uW6H1sP11V
LW5EFPNHFbFyeNlXlxbQhEGf4exgl+z8L+YeQO+Yzjyb9SFx7+.1NKK9.pX4
RY0Lj8bWApGLK7jkaNjkdbyi8.Oh7.COlAWIfCixAvQXNjj6M3vnCAblrpqq
tZjeySKi6FAaOSFRZug.EXBW+emIB4CyPX0hIxlv3KPU0YbGr6T0+kUh8NiD
zzsnD7wk.IjTBSqWU0IazNSYdgR7SfRq+yL7b.KbOJY4IRYGGrD6gfHfXUYc
wrCFZA0WpgSoGcDTQj.dUgnKR72XhvCLsoAFPY38hLjwhbAIKMbLmGEZrjlB
R9ijlGFZ1CoIIMv7LGc5etjMaVLZTsSKJsuCdb9wvmLqpSN+Q1GuTcxBI6y6
UcimWN1LlBwjf91hR07JDwKirAG+9Q0jnPr6fiWNweqrAQ9LsdwBYU2yvp+s
VvmgdirsSUUzodzEs6Za3gfCI3Lf0EHew49iCIAVk4SppY0eBzWDHNAkvw53
jvAz9C342V4YZcYcSuWICDfGmkiI4IlWg6eEYKTwOPlH.X0dfH3dCxrAAxKK
pjajqFcr.yjy1VSY+5OSluEXfGKx3LB2fCooTs8h4UILBKksKhbDkq79CVcL
F0m4cVHMxdipcYYwmQEsn6zt60lZyQf115KsTUIsAMscTPWXSPJT+.dOgzZm
9tG6LOjXz+bUYI5ml1HkUnd7JRTQ79jfnVCv9.o8KKhAQI2UOedozyTh1Ix2
8snBI..wzNfDhHYAnxHaVT2ns+JxKePb8PSNDCG26DeIgrp.sxRc1QC.UXmx
2xy8w3W.J4.e.vMj3sBDkDREn+wuznuNT680eRyZrZRQydYLou7YH.kYBpGQ
e3LLhGZW77K.tcuZl75F2RgXSfpQQfDx8B2nrfRXo8B0BNgtFnrXYPgbHaqb
4UkLIWMdlV6lEiGnqIAMjwaztrXpDskgwENJCArFJrAYj3eZeLbX89nELcHw
WzbaFRTXoYO58wqJrHBYwm9fb.AedphW97CmERwcxCMdOHUPKfvOXJz6x5xh
NIpqF0tntt6dzR0CxxcpmvN9cXwwliw1JCmjM3k6LNIWMrmLx4EWuHMjtIU1
E8qCWjjshpWL.OjYuXU3fmmgY15Zr9UPFnGu3FTXC7X1qUjCeDy4bOGOLKjL
.+mkxp+0aQ+nTCBMxX4Os2cJDRg+oovBYAm6PSPxlhV4EvcJ78NvLdsJG43G
MM7CiBZAd9othltdsD0A1tqKPwcfHsrS9bp+PPH2ou+6BYWSsV.BHq4Yreef
1gv5QIg4c.Wrzqmhds0h7.7MxxC+lO0X0yObOe7Ew9GzWQTF9QZD+pKJ9Ey2
ZpHIKg850fRBwL9j9VIfJDLsA5B6Vz49LlFqNC.G5NC3zMMQ+1GAYnI7tCSD
AsRMKapWJa59LxrSAFIssrt6cJsxxCu7MYEwhQL.wHbt2MnGOIvgmTFltUxk
j7OI3j.VYo48aKmvSEIdZHMxTeTNVKk26E.wNZqAbt.TukF3TFpXje.TP2DG
C3fLvz6ZkcntlhoenEguBLx5gIFTWQB0aqLQHqoVeKj+MaZgb8nWdPJ2xSyf
t4JO0eUIVns0pmzJa9XnZexy0VqGeX1CoT+6F1PhO5fc5jH6D3ktOkX8MCHr
8LoL+2GP7kiC5ipV0jR46VyEglVpVZC.nE8JhcTX5lxgBdP+kR.6Mpv+8ZlE
E2+zKg6+ipTA4P.6UJ342u1DLj5Ty0ZRdaqEbUE.RXLnF09S.QiWvPzKQvPN
ntvotrmP6iCJK7NuduQ7tFzXRg1zNw6B2PyCYY89Jz2uRUNC845UMnhUyT0H
4c2Y1cw6kMR265fC44GO7mRNPugkH1p7E49D6SHwoe7Dw6bWy7IqKdAyTxBl
s2G46VyByW2N043vWpWvH5G5JJUSOJZBs3MAZXW+ijjFzsc7segCmh9mbogC
mI+k14yzNYrACm7+R67YZm8QkLD3Ln8pyajeTMUhzIM1olpmDkpEJ+dTJGzd
GA8dU51sf0oAg6UylIqN.rDTOuem0YaWM5s5HSNvlL7khBGCp7NGZXir9Bv6
gBWZ3Q16ZpW7mArcswLTfr7Duw1PVK5kkqlqmb+uvT8mV07JiI7lWcFUBR.O
7Z8djEL+yDKvvjp55Ek5czN.TZm9tv9orIG7jeDOr2Yy42E5Z0IYLc8zp+Gx
B88eyMe1VOGaacQL8E8nD9HC8ZbbgZ1xZUUWuPf908tP5kLgOkLQhpLQHtHS
73hSLGjIQ9NKvWbYxEbxz1rQTlL8KxoW6XWgxDIpxDK2k0tznpi+ja2Ajo3Z
2IbRGOItxT10mLQxu9jIJwA+cTV7koSgS773pOQcPlnd5ClmlY6UAJD6SJzB
L6LB9gnIASLWnv9DGedyCWhk3IS1KN1JbQl3Weq2hgtdCIFjH1zp0ONBxVfk
kauRynycl3hGimPWdwYBcgclDWKblKVFbb7kIRfkojTP0B1yT7lAmorl4BqM
I0uH3DoVgUP52MS1lQmqFH+BHsmqkpS4uDYMPWjIdbiOfm5fUAKt4uvSbI1t
3hSBWxohGWletKL+7z3qOcRYJx4J3RX4QUC2E583F2H0k7onQluzEQJtlbTW
TuowMXKpKz.wElbQhnoQWjHtrv4AK.Kq+mDC3Y9F5S0mLB5ZLNIwDskcz4xv
5hYQbcNRbwpfHhqUgSNriag94tv6GWXxkxEPhKJIxu9zlXzKsLoG7G29+AbN
rauA
-----------end_max5_patcher-----------
</code></pre>
Live API Question (Self aware device)
Re: Live API Question (Self aware device)
Try the this_device path:
<pre><code>
----------begin_max5_patcher----------
416.3ocwTFsaBBCEF9Z3onoWyVnHZvc21qwhwTgNraPqgVctY7cesmBaxTmH
wvtoPOmS64ue7S246gWH2xTXzCnmQdd6787fP1.d0y8vkzsoETETFVvdWt3U
bfKklsUCgKjzrETQdSB4ZcASq+XEys4XHIZVc5WjBsh+IjjDdeXcXw5RtvrN
nUjCpUPKgZwOVwoEnmjEYMcZEUmtjKxmWwR0tlQRL6HZpcX7X6nMv281zDm5
Z0EdFr+ly1cSw1P688sCAcjKkLkhlyNBLF4sDUv2vlqXZjthl9lBEhxXa3oL
yamEXWGrh5Mrh.XQfMFQlD4dbM7JoO75L9HMJmocL67jI3ZoS+sRS.r3FGmb
AuTzwrI9FxFqK5dSBq39ucMNhjjzItbBOC4VyEvynWxUyc+Z82tmAzA4tLZT
LvnvKgpQGipnCQErLyIV76asgNai2leJ45pzlit6xs.zOMOiozbAUykhCpIp
UMK4YYLHcCYJ4YqjbgtVBnYm7aYWUDoCJJwTCYvTTTqtcZEEOnLJtCLhL3Jh
zAE02uZlI68+Bb.UBvJ
-----------end_max5_patcher-----------
</code></pre>
<pre><code>
----------begin_max5_patcher----------
416.3ocwTFsaBBCEF9Z3onoWyVnHZvc21qwhwTgNraPqgVctY7cesmBaxTmH
wvtoPOmS64ue7S246gWH2xTXzCnmQdd6787fP1.d0y8vkzsoETETFVvdWt3U
bfKklsUCgKjzrETQdSB4ZcASq+XEys4XHIZVc5WjBsh+IjjDdeXcXw5RtvrN
nUjCpUPKgZwOVwoEnmjEYMcZEUmtjKxmWwR0tlQRL6HZpcX7X6nMv281zDm5
Z0EdFr+ly1cSw1P688sCAcjKkLkhlyNBLF4sDUv2vlqXZjthl9lBEhxXa3oL
yamEXWGrh5Mrh.XQfMFQlD4dbM7JoO75L9HMJmocL67jI3ZoS+sRS.r3FGmb
AuTzwrI9FxFqK5dSBq39ucMNhjjzItbBOC4VyEvynWxUyc+Z82tmAzA4tLZT
LvnvKgpQGipnCQErLyIV76asgNai2leJ45pzlit6xs.zOMOiozbAUykhCpIp
UMK4YYLHcCYJ4YqjbgtVBnYm7aYWUDoCJJwTCYvTTTqtcZEEOnLJtCLhL3Jh
zAE02uZlI68+Bb.UBvJ
-----------end_max5_patcher-----------
</code></pre>
-
TheAlphaNerd
- Posts: 7
- Joined: Mon May 25, 2009 3:58 am
Re: Live API Question (Self aware device)
So that code definitely works to figure out the track number... but the problem I'm thinking about now would be what if the track is changed. Currently the device is only activated by a loadbang, so if the track orders are changed the device will no longer output the correct audio. I've been trying to find a way to get this information from a live.observer function, but still can't find the right way to do it (or if there is even a way). Should I keep trying to figure this out, or am I better off using a qmetro and some sort of comparison equation to keep track of the current track? My only worry is that I would be putting uneeded strain on the cpu with this metro... especially if there are going to be multiple copies of this patch running... I also worry about potential syncronicity problems of using the metro... perhaps I should sync it to the metro I'm rendering at... hmmm....
Re: Live API Question (Self aware device)
Just try it. The middle outlet of live.path follows and reports ID changes. So if you move a track, the ID changes and triggers the calling of the path in the live.object.TheAlphaNerd wrote:So that code definitely works to figure out the track number... but the problem I'm thinking about now would be what if the track is changed. Currently the device is only activated by a loadbang, so if the track orders are changed the device will no longer output the correct audio. I've been trying to find a way to get this information from a live.observer function, but still can't find the right way to do it (or if there is even a way). Should I keep trying to figure this out, or am I better off using a qmetro and some sort of comparison equation to keep track of the current track? My only worry is that I would be putting uneeded strain on the cpu with this metro... especially if there are going to be multiple copies of this patch running... I also worry about potential syncronicity problems of using the metro... perhaps I should sync it to the metro I'm rendering at... hmmm....
-
TheAlphaNerd
- Posts: 7
- Joined: Mon May 25, 2009 3:58 am
Re: Live API Question (Self aware device)
hoffman2k wrote: Just try it. The middle outlet of live.path follows and reports ID changes. So if you move a track, the ID changes and triggers the calling of the path in the live.object.
I did, and it just did not seem to work for me... the live.path object was not following the movement... I'm going to read up more on the live.path object, but in the mean time I made it work... but I really don't like the overhead required to do this simple function
<pre><code>
----------begin_max5_patcher----------
2624.3oc6cs0iaiaE94I+JXMxioC3cI11snaPPKVffFfcepncw.YaNd3FYIW
I4jIcw1e6UhGZO1Y7ERIZMdK1.LiMk0Xe3GOW+3gN+7qtYxzxG00SP+Az+Dc
yM+7qt4F6k5tvMtw2LYY1iyxyps21jB8mKm9SSdC7RM5GarWdU1GQcCr+Zyq
deYQSs4+n6tCB9Vr6xEqWVttIW2XeGItqBWp4Kqzf3LYB5G248oHao8El7sU
lrbzaKymu4iYUVyrGLEKtqROqA9iYXQ6GGhKTcOHs+ljdKd6aYqLXJ1HBT2E
MyseBsyueOiNo6Z+xqdU2udyv.m7xr4SyJVbPbgFJtXemNA1bBXgiwVXII0B
K1AT7wfExygEQDQkNUlNT.khOHvPtUnDjzj3o0bJEFV25.RXUScJLGGYNfBC
IoWPy5kS0UgO8oGa5aJZs97WGooxTOKK29J3aUm.e3IfliEYDgq4jRhnpyOY
ZtcQ9scioyA+N+krbyhBDIHariBicXXe0jHbKDwjVmNbRvPEQDYUIbnSeO0h
NmWXhjYslX6nzbbuvGBI3wzeSkcZE.9f6e7GXlyYVGsLVvybVrczpaP3qf3x
JqaDJIArQBNtLgDYfoUHe.ka9j9tNH5SlZyzb8cMUYy9XMBilkaVcWcdYylA
u7XHM0BaTNGdPdZPL4.fXL0tpQU5h45pilfS7stRs9TUV+II7v8pPv8Y9Oqb
4R8SdP1B.eXkt3u8dz2aQg9DLG2mvLDqOUXxikAGigES6nFzTjtJqVGwDY.0
IzD38seghoVCkTH5SOvHdLUS9glrpFmVh4HlJwWMgC9JrUCongCAwLg++8Rc
SUYq.Dwz8GPwPf1gfBonDbB+rdkveS4hE4asS7bR1k2xV45PyD9SKxzvSMmo
hep4PLgiyFvvbJ7DZLqLurx4QrahiuMUgIJY2yvtmQ1AK5gFBgpdJbSP.KuW
wYVkUn2JUUkqaAx46Z+eXuBSWrCTfuMQHSkr2rATjjtw6CEGJnR5SpPDvcgs
.F+mwz+OozkTKRvI8sxEYLsoltd1GaSNk9hWaKfJLIumQT6WhWGAUL2idsgf
9ceS6CTTyC5htwwgisggOPFGDhHbVjhIsiU8My7KRYKtLQ.1QRnm1hBenr16
UJqSW2zTVLYHYUbHGkDfVGlpmwbI3XRsw5hUs0qhxZyCeFxDzZM+jtIb+rWB
H80YJCnBKIIXmoJ0XQFON1jw6oUA2pAIDgCM7nVG2BcCPHRbBFetPM9o3PUV
EGQZ3niLlJNlOous8E5jtWbuoNSJW9IoAyilJI1HiUuo4AS8cy0exLSGDFwN
qWngaiIAqKbOTiR6CXsTWWmsP+Lz5se3Cu8ePtB3QjA.Bi6bKKZGHCPGRRhI
+H+8VgeN5c55FSQVi4oX1WXFRjaTHfh8vpvikKib8ye1TLu7yv9ZIZKBAI4X
DuOaS50RkzRhifEfrZAObRJjuX0RKR4LBuCGRRnBtxVPMivRXmsf5MJWJ2CV
Tnaql8edmFSir2YpWkm8ETVM591DgZM0Vf.ssM2ZtoPOqEnZ1M4vKrIH0s4x
PXd9ldSveVGhJQs+0044neXVktsfRGdMVj05ZTEGALjdv3j35gTRZxSU50mJ
jhZP2sZ6ul7x2rINnAbJH4guInwrdnZcNBi5ApvNWrkmGiIHTR.DPBzLwCmr
IJIlJP+w+UU68gpen7ysdMVOMq5fdLou3JWhTvtSrS5LLR.ZWb0E.2dvLWec
iaIPKCl51RUVv3FkEUGVsQgpgfPWCtrXotXRV6vDYv9rDjqlHStvrp9xcmfF
yzMpWkMSi1wt3Bmjgv06MPiNFd2owvwM3Sqf0lQ7Eszl9jDFPSoHIXJ7EwjQ
tOp6Qtm7yr2XO+gAgTbuBPe.F8EhXZG8cEM5pUk4YMZTSIpdYYYyCnUlG046
QmvdgcXiiMGisSANxjM3k+dbjWMNOYjgkVuHIlQIM1E8qiHjjcRpWzi.jouX
DbvUoXlkViMOypndFtMnPamvfst.3nmzcs.1DrnlxzppxU5pluf5JYuSV65a
y6LsPxiWArsBwSbsTBz6lAw1JWF4N1KR6wiOga8raKTRG8Xh.InmeQ1Miqmc
vvgOPjCAI3MvfGUtT1ukocsJ8qIWKaJFmCk9B9iCxFSbA5Ok+72fvmt6TFUL
h.GFAgqGpCey34r3ump05pOEqF.an1Za.HHD94ZTkC0XnwDfZCo2lOqcF7he
vlvVrfCTJkvBmPN7nDAidIhfcJbAZ7VFg8TzqvNZbwz47hVWxAqtDcBtApaY
PCsHC2FhNdAzoWh.5m736.a9YJ0GBFNjYT5H1TKikFCCSfVmDJQVFLsKTULI
S3Ogd6ZS9bzWJWWgxVO2Thz2eeGUUOnqz9yfc7O6SR3raK36bFn5ZPc+ieGS
b56OSL66qVLcSUlrtBLY18Qmuewkcuc6UP5wu0ffQz20jkalcJzDLFEtN1M7
rgnQkCq2+qc3jPGHbJ+Msymqch6Mbx+Msymqc55Imd.mQciedmsMIQsE9zXl
0NIxMKMw57oeBT.1GuD7t0HeVP3Ay745hi0djwDU9Vav16qJWhdeatIGgW2e
koxwAlI.9sHgDsNlj9sJe8h1I2+MN0YWaVTzons8YCnlaoiDY2Q0M7uV.nQF
lLEWwnDtunzdaAu8uxlB6W88+j8St656Cc0soBOayzxczCZMf19gOemN28oa
Rp16ldxOxFbboY9pRSQiSHDP4yPGsCy28FvgyOjx1sx1Ane7fK89NK5NMxmc
VvBaRLPQhP7PjHcxDazjouZc7HxTmfS7WlbqhvWRJDniD9pQtcXL4.inXNP2
KFXbY35Bblu.uv+IIgaUoktFKGj88GQgN8j2V7qr8eBo6RCUOxmoCMcT0s4I
6ohbDyMVX5QtSimf3huJ5.bAv7+kWqWfGWuCXOPPBMPDjw6vLlq62TrsiFnz
l5gvRUgIrLNDP.bQvDVuH1QQPXOq8RxntZS8QlFWS3uBANwZ5HJS9XnRGYCU
eDoQWhHdHQjwMbv4.ItLLTBRqvEMfIiUv.tOlh7w08fvmrW4ibHdoOYTGXJ0
tkQg66jD51QCTXY9jiDejy+2GEMx35fU3igpXbUzDTejIRXxT22MtcseDznV
b2gFd+Q.oNceMeHbiF5LQ3yLgOtnqOk2KnWeq3z9th61PV2J9tifVtRhIPrj
gS5fO4FvG4Tn7J6fQ1SnOo0wjiqNX5UnLQt9jIuHVSRF0zMYbOzw4AVlfzEF
X2lWMBoax7w+KebKog4SV.rwMNEyKeDIWe3DgD3hGnakZo6Tg277AS1rWrMi
48hGe36VjtCz9lQCTbU9frJ0HyHmOlpp.SNdCnAGQOGdJGdtGJoG9.UIipeY
kOkLpFWaXkOTWpF2XppKgh1PkI0daD0w7eDnxuvxgOC9unDfPGlLBaIhOIkP
FYV4nWf8QcT1IrwMPepWApBzwES.DKA81NSQ1NZnojeAD1gpn4UVIhwMSI50
mL4WKALDhxaG7Ku5+ADdyZtK
-----------end_max5_patcher-----------
</code></pre>