Push developer kit: M4L devices for Push!

Come here to discuss Push with other users.
For tech support, please head to http://www.ableton.com/help
coleb
Posts: 40
Joined: Tue Apr 02, 2013 3:16 am

Re: Push developer kit: M4L devices for Push!

Post by coleb » Tue Apr 09, 2013 5:53 pm

flocked wrote:
coleb: Are you sure that you get a lag? Is it only if you have the max editor open (which makes all push objects much slower) or general?
yes the lag seems to happen even when the max editor is closed. i can easily see the lag by playing a drum rack using the push_grid object and then playing the same drum rack with the native push functionality. it might have something to do with how i'm using max to convert output from the push_grid object into midi notes. i'm using a bunch of 'if' objects to output midi notes if the input from the pads is a certain value. could this be causing any lag?

thanks for the help.

greaterthanzero
Posts: 103
Joined: Tue Apr 09, 2013 5:48 pm

Re: Push developer kit: M4L devices for Push!

Post by greaterthanzero » Tue Apr 09, 2013 6:14 pm

I'm having a problem with the touchstrip grabbing control without permission and not returning it properly. Or something like that.


Simple example...

Put an instrument on a track. Confirm that pitch bend works.

Go to the next MIDI track and add any device that includes [p push_touchstrip]. It doesn't have to be connected to anything, nor does it matter if that control is active. It just has to be present in a device on a MIDI track somewhere. In fact, the MIDI device can be de-activated and this will still occur:

Go back to your instrument. Try to use pitch bend. You can't.

Nothing that I do can change this, except to delete the offending device. Suddenly, I have pitch bend again.

Am I an isolated incident, or is this happening for other people?

coleb
Posts: 40
Joined: Tue Apr 02, 2013 3:16 am

Re: Push developer kit: M4L devices for Push!

Post by coleb » Tue Apr 09, 2013 6:28 pm

greaterthanzero - i can confirm this problem. it seems that after grabbing control of the touchstrip and then releasing control of the touchstrip, it no longer puts out pitch bend information until the M4L device is deleted.

greaterthanzero
Posts: 103
Joined: Tue Apr 09, 2013 5:48 pm

Re: Push developer kit: M4L devices for Push!

Post by greaterthanzero » Tue Apr 09, 2013 7:26 pm

More than that, though..

Paste [p push_touchstrip] into a new device without any other objects. The mere existence of this device on a track will kill your pitch bend.

I'm poking around in there, and can confirm that grab_control is not called arbitrarily on launch. If no signal passes into the right outlet, there should be nothing to release. I can't see where control was grabbed in the first place. And yet, it's clearly happened somehow...

lo.key
Posts: 360
Joined: Tue Dec 22, 2009 7:05 pm

Re: Push developer kit: M4L devices for Push!

Post by lo.key » Tue Apr 09, 2013 7:42 pm

now that is entirely odd ;p

greaterthanzero
Posts: 103
Joined: Tue Apr 09, 2013 5:48 pm

Re: Push developer kit: M4L devices for Push!

Post by greaterthanzero » Tue Apr 09, 2013 8:07 pm

Okay... triggering [live.observer] in the far-left column causes Push to relinquish control of the touch strip.

This is obviously an issue with the python rather than flocked's code, but maybe we can work around it...

I can rig it up to not trigger until we've activated [p push_touchstrip], but I have no idea how to clear the observer when we deactivate. Any Live.API gurus want to take a stab at it?

greaterthanzero
Posts: 103
Joined: Tue Apr 09, 2013 5:48 pm

Re: Push developer kit: M4L devices for Push!

Post by greaterthanzero » Tue Apr 09, 2013 9:09 pm

Hacky, but solved:

<pre><code>
----------begin_max5_patcher----------
3817.3oc6cs0iiZjE94t+UTxJJ6CoGGpq.q1nU6EocmG1MqztJujDYgsocSF
ZvBvSO8Dk+6acArALPUX61cwjdlQcO.FbUemq0oNmC+5s2LaY5mBymA9ifeD
byM+5s2bi7ThSbS4w2L6wfOsJNHW9wlkD9T5xeY1cpKUD9oB4o2B1tK+gEEo
6V8PdQVz1pOQxtGiRhCKj2Mp7j2mlTjG84Pw4fNycJOc5tB9mr34sgpQzrnD
9S+mO7jTe.4iBVd1sAEqdHJYyhrvUEpaif4OQ9y0W7KeO4A7et+AEsVNj4Si
2gnypMjRBdT9MO6ujEEDC9qowqmU+qILqDXJQF9cEEG9wvr7nzjZCpalErca
sSeSsaQ.m+Rp7Awta+ohRTmBt+TYgeLp59c1e1fL9jsfOS2koFoexiMScwe6
1pu7CHgKTN4YBHF35iD+h4POfEbp8l3zUeHbc8umYoaCShR1lElGlTDTzZXL
ac38A6hKVzfLhl240uOXUXu2bS.eV0GYSVz5zDwfnwcJNc0W2OBfT4bqwjQ9
IRB11wMmymG6xWFjIf0kwg0XG4rwoowMuzdJIWZHHI5wfhvhH0fE4r+gF831
LIOZsunvj.9y3g7UYowwMdTpq7wNtxZNwdU3SQqKdP9rpCk7Odz1JRvr8Xz5
nMg4EMOWQvl7lmog3cctv5h4MN+Ph6ME4+VNM2q9U5RT+Xw8C7IZE46WruOQ
eO3b5c.jGcN0E4RI2AvtB1DjSM1jV5.fnYsFqsXKqt3uc6sU+m6t7v4VPQ5l
Mwge+x7vLtxiKNxdFvpOSBqXzbeWBywWncEqCWQLM3Z6uyCpWaBg8plsOUss
t8tT41iZ29U8pS8aCUvsTCijppXR6QLhTYLwqEx0slXCzFahFYsZkMTy7.Zm
MSCsFszZ0TqQasVM18o0dXM2Cq8dXM3CpEuOM4cqMuaM5sY1aqJ5nq2Rkzpz
GejyWU+KogdofrkQEYAYQwOCx4JT3ZF.u+uyUVABRdtPnn.jVvkcAEODjv+Q
H3+v8DDjEFGFjGlC1FwEsAKCSVOG.d+e3Qvtbw83L+mR9oj2W.VmFlm7GJ.7
wPD+ldF.3jtB9y6oGBJ.eLHdG+g7TH+4r5CfcaA2mk9nX.vYsVFtJXWdn7Kc
CmdCdJJNFrTHFwOWZd371yp3njvUo6TDeuVWrgVVXqKNfj0wpSae06y1r7X1
hdT1hP34Ht5VHwatOjPoPg+qRsFPHokvTactvYcLt6wdVCaZMsqctLUOFlmG
rIrWlpn0.mYCA+nwA+CaraXCd8QGf9NycaQG3V.oMWMQmTAjcPENxailDg7v
X.TCc.elzgkAIalc2geqitf0SWnJQAGkcTVWtgbjKd3IiXw6fTqWv.SjTfZx
EkzDMxEP+IgbQAXo3uytflGzJWH+8ES1faAg5QIDeiEPbmDTlOGCxi49YAfm
tLB1.YDCTTgzSLbUPuxMXULXPvgoCrIh86sYbW2yJdV4elsqvpTpnl9JOWSz
WglHFxii9X37ziiavHIFNWOIC0JC87liIPWe26.tHiHHPhdBR831dXQkAeLb
8B9yfOFVvWeQVzxcEpERcSuDgalsXqHzB4EgIp0KCab8FT6WJZuj3MHQUKUq
cL0NGoHU3KTQz.Q0PtNxsqpEaJWV6z.7tDNLwniF5Hu1PmZJNJmfFdQv8agz
mMBfgdp.SyfPIhDfl3nHGvhO2vnVd5trUUbKUFwAGOIVGlWDkrO9c+3g4SGe
3GhVu93XioBWTtHPTpvDdR7Am57RvSZ77R3qOe0kSh4EdLyK7zgdIbewbFQH
YBMyF8DahvJBGiLVOJZrwIlTcvWhTLwJmMeh0Ciq0NwfiQa+DYdgGw7ZJQuF
kUL2Wn4E3musqcC0j0e8qu.6UoY6K5Ir4b8NvzLfFZfrINcYPb4Vgu+YzydB
d6wDfW17Sn.DAh5MoDfmQ5dbm1r9.Mb5IvT43ku6bGLgw7p1mlAy5ClUj0Gh
sszlxzixDng5O22A5Q4+eUv9GDJcrBnLC7t28tzju+96+u0R.wAWw+0BUwdR
PD6KSZFOsHJyyJPzOGOOKbykm87tgASMR6TjBLgz8YiTYjUF.Qov2Pz90ehn
yY7+fXBXEOFX0NxctbCE8MzJUuwwpS1QpixVi6bFge.25iGSKtgud3V6Xf1u
1vKbxXVJnBc41kYNNT+9hwWCjod78ZDau+QVvxusLshtVlT3S1vV4HQu4Gw.
alRORrZjZwFAu0yJSZm6hRC3UiaOpMO45ftkaakXIAiWinyKlwZFksWanHWr
XXjGDwAWesfqqIf6oupn92MpK5h.NdyeOPyVEDGC1vkDWrhO8xRiAQqAeEzl
neUxEd96SBbHTseurAncdWYACsnbopN6EnYjZBJ0QajuVz12dTCsKYavpO.1
vWeq+38bv.87lsFW7HzJQH6AalmNsRLGaiydSXwdt5+mnhwVHcaaweSct52X
iD1EYoVID4aErz2uxxNC4N.AAYOL+aEDi2u96uWjz1Wdt+y.e4qRtBeYr8r6
tZMByvizH7W10dB0Q4DNCWu5Snj2p9j2p9DKn5SLHUbaF14WtTwsGyzmVh3h
IXYwCfbflml5jIS5Qe8nHmexFVQJfDUbC6bqAZSJrjBFvRxeMWUf.QiHMs98
P5qI1lDQkZQwPyQF3qMxXRxDW7PTtxnxoKn67Jo5sjaUsvnt8W7nkiZbZE+5
SehtG7UQPv28c.nnvGS3GgdYy46yWARkfBwCOmTlB99FkB9d9VDkQWUQ3X6z
gRQCHjsmLTVQiLMjgIj.x2bNUGjAzgKS1zCcPJaGxBRxvBK0yYJpmxA70esP
KE3OAXSFUVUzm5prDUPjA5rdSk0EjNr26cOTM4DcpqXSHRPqHuYmFvQLoz.l
uFf8VNncEk+ASNHKWkUPQZzoWM7P8Th3n7hKI0f6C0dcSNNFUnuCWfo+PX15
fjf2nEFSK7gJyDNjwRJboSDRwmimyWi51frW3B88xTaoUDDr+dBhpyKokdvl
DgeSkSJRbaBToukTCrqzKWpQqFm4NgrduoD0rbC3UzAmCdyphIsV62noi86t
SnHqldPb1SOLT3.+6tJf2DpNGhe3EMTkclvdmX.JwJhOhUi3CMh3SlPZFEjD
PYZdrHeWlXWeyalBSWCQynMIobrONZ0GzGzeSVPJ1UQ8vGBhVOY7zQ5RwW.x
2UqL1GSEaJBL0npmrGiVuMMJonbrC4drKVkO0QkAq0O73gvqVM14MFLY5Tbt
hvkX7zZ5Tk3dioVpwmICrquLvTXUTpvp3r27HjzgKLsr8NhX1EusyUDspjuU
abpqLrpMNnZy5KgtlGY2.o6Xjl7OSfzQ0iJIpk3VgqxCmpPh2kESPLO6DSni
.S5A.GOlfYUMOy8GZQXBaLMSAW5kASv9v5Xh7PaBSFUGAAOxFmQaLgn.ATY+
Ft9gSULAhNS9j8ffec9D4gSVLw4hhIHL0NwjwzSLXtWH8ITuF5SndVElPGCe
hG4x3VbYxXW6HKBQHingv3ed5WwLlRPAox5CXYjfZdHtbutwntNjPUISboHn
7PKCMQiwUuyAN41kpie3NOrB+HJrWdnkAXuXcet1.V4ZlpPHRM1QKBRFiZaO
1kARJaRmMNzxfD3XfjKfVpJHo9gVDjLll.Hk7kYi7hclFn2qAfpdo44ST5GZ
cHwswxAHtVEi.DM1kHcIbyC1X4.xCsILAN1vKbFJLp7+uJ7BT6L7BvwDhSH7
73SpvDbYWzo9gmLl7V606K21q2xSo85oo.r6qR5Fa+06PsX66N22yE6P6Km0
6c+peqayzI15JaeTXBeow9dPB0jFMCi9EQilQG0pURcb45HGmYmWh46MGV06
GDuaLK6tUcmDGMHbLKpWbXPBZXw8ei5z.5gdVGD5os+a3ZOZkryFBHxS59OQ
khf5aCfjqW2rSaykoXWVxhzjEQIqC+D.OX2aC8ZzJPUuNnTckCr1t2CjZEcX
Qg6IwW7t+amuU.OIVUrmW+E2eybvxN.TY4wgpUFuJrvdXTqzA.oyYTOjCVjo
EZ0D.gv2ZFvF0sp498UYyReCA185ApG+9.9.p9uSK.Okl8A9DZN3el9DXUPB
34zcfUOv4dUuHd4qhEDG7317ucaZdjXYe+YUS9JWPHBiCEO84aeFvUPGsJf6
E5chWcvE.QOG.v+m3gjEs4gBvigEOjtd7tib1s40Nee81Esjn51WpLWBiUGf
G3chtmEYoLOLY8BQ+NJD3z4ew8bdazfZYYTi05BN1JzO8M.5EGDOut0qnPac
TobKrTeudqoL6o8OWxMK5ifseoT9x2Dnq.OFr58uptF.sU.bks9x7vhAjogm
wZPNu3NU4Bh50EoquNPEYQJWWvA0EOltNzxZZqUbpXm8h49LcsqUz0tEhdF8
r7y2kWL0ctSY+lTeCKG1W+J+ewI9WSucMVA3qfOunx7Sl66Ko78JBDA0FVA6
vVskF43RGePvCXp9HGi8+huEk2WXMqNWN2WQlM4Aa4hHju01qT6.05GKwwdD
Nr0.0WgrtvChH5A1qc6Y9nVUX+32nbJU8tbBi3y0xcVRu0LDlzm8rePZT4Mg
39dGOSj6FJGsGgPLB8lTrVo3JnslyC5khQvScq11+DOt3ZOf3ckBJ0v8iq1m
1ISReYcxQYyX2YbR2YLxfLIicHKdIjY1XVlpLP6XPaJPyrHf9nrupuwL0dvY
SGyTW6YLSLEmcsGdCho7yH6YLiMcLSldiYhyzaLK8xvVFzHCGzTKRHzocMsz
2X1eBNl8rmwro7y1C6bGT7dfYj0XGjZpicT6wuNpw90YQ7FF6iDxtFyFyaXI
iYpoiY1DbLismwroltYT6YLC+BdLaOtOSL0UTr83gDAYn5Yru0XFriUezCqg
8XRwzUvZOi3IHyLxT61xZfyNXl6ZYo8vZXQgEUMVLQuAhYOPsoHs8XEzTsy1
CmAz30uZYiYno5MrjwLc5oeVV1AiX2TrjQsod7K21XaYPCmd9OCMU+Lzd7RZ
LnLbRMh6RX8zFyk0qeUs5qKapJG7CVe9FTa95pK+dqI+tpG+NqE+ApC+9R3B
M0ee6ZuWAhxeVtk7seaaK.qVucsa8V0932l188Vzl+87a29+AW2t1e.
-----------end_max5_patcher-----------
</code></pre>

yop44
Posts: 182
Joined: Wed Nov 11, 2009 3:02 pm

Re: Push developer kit: M4L devices for Push!

Post by yop44 » Wed Apr 10, 2013 6:58 am

Can this be solved for push_grid ?
My music : Soundcloud

flocked
Posts: 45
Joined: Wed Aug 18, 2010 2:42 pm

Re: Push developer kit: M4L devices for Push!

Post by flocked » Wed Apr 10, 2013 9:09 am

I read the first posts and fixed it, until I saw, that greaterthanzero already fixed it. Thanks :) I will include it in the next pdk (push development kit) update.

@yop44: Whats wrong with push_grid?

jaune
Posts: 7
Joined: Mon Sep 06, 2010 11:44 pm
Location: Paris
Contact:

Re: Push developer kit: M4L devices for Push!

Post by jaune » Wed Apr 10, 2013 1:54 pm

Thanks a lot for this!
Do you have a max device to control properly the monosequencer with Push, using the pads ?

monohusche
Posts: 190
Joined: Thu Jan 22, 2009 4:28 pm
Location: Hongkong

Re: Push developer kit: M4L devices for Push!

Post by monohusche » Wed Apr 10, 2013 2:58 pm

jaune wrote:Thanks a lot for this!
Do you have a max device to control properly the monosequencer with Push, using the pads ?
+1 :-)

probably quite some work, given that this is a deep effect

greaterthanzero
Posts: 103
Joined: Tue Apr 09, 2013 5:48 pm

Re: Push developer kit: M4L devices for Push!

Post by greaterthanzero » Wed Apr 10, 2013 9:49 pm

Here's some progress on a more push-oriented version of polygome:
http://sadfactory.com/assets/downloads/ ... 4_push.zip

EDIT:
Here is a new version made compatible with the latest dev kit. Discard the previous one.

http://sadfactory.com/assets/downloads/ ... ush_v2.zip


It's built off of your work, with the following additions:

1) The base velocity of each note is established through aftertouch (but offset by whatever's coming out of the "velocity" page)

2) Note duration can optionally be controlled by the touchstrip.

The velocity hack makes me very happy (though I do wish we could have used poly aftertouch instead for even more expressive control). I'm not sold on the duration one, to be honest.

Still to do (by someone -- maybe not myself):
We should move the top-row controls to the Scene buttons, and make that row part of the primary grid again.

-----------------


You'll notice a new object in the code, between the "do I want to take over the touchstrip?" toggle and the code which does so. Something like this should probably be in the dev kit as well:

<pre><code>
----------begin_max5_patcher----------
841.3oc0X0rbZCCD9r8SgFcFXrLXCo25OW6SPlLLBaAnTaIOVxDZ6j28JKYa
jbLDmDlLzKB7tR69seZ0pe9quGbC+HQ.AeAbOvy6u9ddZQ0B7Z91CliOljgE
5tAYjm3adDNwnRRNJ0hK.B7VxOwrJb124LFIQ9CpHw7u1dypxorLhTaITivs
blTP+CQKKXVPiXdkT0S4uKHFzAgfGNYFiVG6TfkI6orcqKq8ndLSQgymMOZY
bb7Dv7XzrfUKWcGZB.EuR4H.R01YUZpNPTA2z4KBfVnigy0f.90RJNC7MdVJ
z1ojxF9pgvTihlQNPJETNyBhdPbQgkXOqgTyxOx0FJdRmHJyHB0Ipjbf1N9f
No3RUnKUwcUoAoGWECMJe1u04m3kZV1zDuP+yhUAmXBUFvtLdxuHo1NAxKHL
JqnjHHLIV1CCvTxVbUlbsyzY3rA0uEmPN6fcYaXaW1URS4rZP3LxZwst6d.J
ROsFYGL5dvvECLXgJNpDavk0b5lLsQBaUJ47LWUcSipUHXFMGKIRpArgAcFk
lWTRYRGGQXXkM1KRJ4YYNlxn4v.ZRUyzIjmnox8ZaYSkptSKZmBfcbTJcGQH
ckIw6DtRbVxamBZuz2Q9kJA3VFPB1.n1ZFZI+EV1O7R+MX1N3D.TSqO3ZcqJ
AgVZFnZPjNUGMuNoDnZibK.zuHvcQvdvcn5.s83Ye+1+L4cRq4Dg.uiLHuhN
KmF9N4zKQjnQQjwKp+o8iKPjK9jIxKjeJHYfqOW1le9ARNQAK0IjMYmy6u8z
KH0vaGRsDLc5zhJw9lM9IomkgC97yVaY1.ShZvqSsnOYpUSOihxt9qhM6+GF
01dVRI1FfI77bBqYmlqHSXP+n1+vMVCtbrtb9rkpbfvQGsKeKQ6oyZjQYmaq
UMpp0OLMH3UkIsypsDNvEfp88kTV2Qut+z9T853dZZp6QcLmNPTeVCyo5F0j
1aFyQiEyKtsvLZrXFcaf4EikmWd6vygikmuwv7+a4ynwh4vqDlAO3aeQSn.e
fjtV4BU420XorjtoRZJKZeG4O5EBe8Kb9Ftkzff3BN+bNUcw4M3rlWEnarCb
YL+SjntsYWj9uPPMY06kA58p.u7EAN2qAn7yy9+CbS9sWC
-----------end_max5_patcher-----------
</code></pre>


Essentially, it makes sure that when the device is disconnected, anything we've taken over by hand is also released. It grabs them again, if appropriate, when focus is restored.

With that in place, you can take over pitch bend, switch to a different track, and still have pitch bend on that track.

Somewhere between that object and your "push control, when:" block, we should maybe add one more layer of safeguards: If the device we're in has been disabled, the middle outlet of [live.thisdevice] can be used to release control of the Push components.
Last edited by greaterthanzero on Sat May 11, 2013 6:28 pm, edited 2 times in total.

greaterthanzero
Posts: 103
Joined: Tue Apr 09, 2013 5:48 pm

Re: Push developer kit: M4L devices for Push!

Post by greaterthanzero » Wed Apr 10, 2013 9:53 pm

Also of note:

The touchstrip code in there* is all kinds of wacky. I jumped through a lot of hoops to provide an obvious feature that's been missing, and then didn't end up using it. Still, give that a look-see. We should talk about whether there's a more straightforward solution...

*("there" being this new version of the polygome port)

yop44
Posts: 182
Joined: Wed Nov 11, 2009 3:02 pm

Re: Push developer kit: M4L devices for Push!

Post by yop44 » Thu Apr 11, 2013 7:03 am

flocked wrote:I read the first posts and fixed it, until I saw, that greaterthanzero already fixed it. Thanks :) I will include it in the next pdk (push development kit) update.

@yop44: Whats wrong with push_grid?
Sorry, I thought greaterthanzero's post solved the grab/release control problem.
My music : Soundcloud

greaterthanzero
Posts: 103
Joined: Tue Apr 09, 2013 5:48 pm

Re: Push developer kit: M4L devices for Push!

Post by greaterthanzero » Thu Apr 11, 2013 8:11 am

yop44 wrote:
flocked wrote:I read the first posts and fixed it, until I saw, that greaterthanzero already fixed it. Thanks :) I will include it in the next pdk (push development kit) update.

@yop44: Whats wrong with push_grid?
Sorry, I thought greaterthanzero's post solved the grab/release control problem.
If we're thinking of the same post, it solved a different problem, which I thought was very specific to the touchstrip. It may or may not help to apply these changes to the other subpatches.

Post Reply