Page 5 of 11

Re: Push developer kit: M4L devices for Push!

Posted: Thu Apr 11, 2013 8:25 am
by yop44
I think we are wasting time to find a tricky solution. Only ableton/cycling74's developpers can help us. :cry:

@greaterthanzero unfortunately it was no applicable for push_grid

Re: Push developer kit: M4L devices for Push!

Posted: Thu Apr 11, 2013 6:15 pm
by greaterthanzero
yop44 wrote:I think we are wasting time to find a tricky solution. Only ableton/cycling74's developpers can help us. :cry:

@greaterthanzero unfortunately it was no applicable for push_grid
For the moment, manually disconnecting before you delete a device is at least a usable workaround. And we can expand on that if a more automated approach is required. (Want a device which, when the track gets focus, grabs and immediately releases every aspect of the Push?) Meanwhile, I think what I said earlier about using the middle outlet of [live.thisdevice] to disconnect when the device is disabled would help a lot, in that it's a more natural process to disable the device before you delete it than to select from a drop-down or reach for knob 8.

Anyway, the pitchbend thing needed an immediate fix because there was no such recourse.

Re: Push developer kit: M4L devices for Push!

Posted: Thu Apr 11, 2013 6:26 pm
by lo.key
ooh, yeah, that makes sense to release upon disable.

and an 'emergency release' patch would indeed be useful...

Re: Push developer kit: M4L devices for Push!

Posted: Thu Apr 11, 2013 11:46 pm
by greaterthanzero
Apologies; it looks like flocked already covered the "release on disable" scenario. That works fine as-is.

Building a quick "emergency release" kill-switch device now...

Re: Push developer kit: M4L devices for Push!

Posted: Fri Apr 12, 2013 2:55 am
by greaterthanzero
Your kill-switch. May it soon be unnecessary (once Ableton/Akai fixes the problem on their end)

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

It's an audio effect, so you can place it on any track. I'm not sure if it's set to automatically activate when you select the track, or the device. Either way, there's a great big button that'll make it happen.

You should be able to map this button to a MIDI note or your laptop keyboard, though this might not be advisable. (just be careful not to activate it if you're on a track that already has control of the Push, as this will wrest that away and you'll have to reactivate the other thing)

EDIT:
When I say "any track", I mean "any track that doesn't have another device making use of flocked's Push Development Kit." Let's be clear about that.

Re: Push developer kit: M4L devices for Push!

Posted: Fri Apr 12, 2013 5:33 am
by greaterthanzero
Hey, question...

Is it possible to use the colors defined in a user's skin? (without knowing what those are)

e.g., can we either send a message to activate something like "Instrument.NoteBase", or if we have to set explicit RGB values, could we maybe query against SkinDefault.py to find out what that value is?

For a lot of apps, maybe it's more important for the user to respect our vision than for us to respect the user's color scheme. But if we're building something inspired by the existing modes, being consistent with those colors will help teach the user our interface...

(I think I read somewhere that this is an option in User Mode, but we're going out of our way to avoid that)

Re: Push developer kit: M4L devices for Push!

Posted: Fri Apr 12, 2013 9:44 am
by Because789
With the release of Max 6.1.2 I stumbled across the release notes of 6.1.1:

http://cycling74.s3.amazonaws.com/suppo ... 6_1_1.html

"closebang: fix for use in MFL"

Something to be aware of regarding the release controls issue (can't check it out right now)...

Re: Push developer kit: M4L devices for Push!

Posted: Fri Apr 12, 2013 10:50 am
by flocked
6.1.1 didn't fix the closebang bug, we are talking about. - I'm even not sure if it is a bug or if a live.object just isn't accepting new messages after closing a m4l device.

Re: Push developer kit: M4L devices for Push!

Posted: Fri Apr 12, 2013 2:08 pm
by yop44
I made some further tests, and closebang is simply not called on deleted.
Hope this'll be fixed in next version...

Re: Push developer kit: M4L devices for Push!

Posted: Fri Apr 12, 2013 2:47 pm
by flocked
No, you're wrong. Closebang is getting called, but to late for a live.object.

Re: Push developer kit: M4L devices for Push!

Posted: Fri Apr 12, 2013 3:12 pm
by lo.key
i wonder if you could use a separate patch to listen for close.bangs on other patches, and update the grab and release on a global basis?

Re: Push developer kit: M4L devices for Push!

Posted: Fri Apr 12, 2013 3:42 pm
by yop44
flocked wrote:No, you're wrong. Closebang is getting called, but to late for a live.object.
Ok my mistake.
The M4LInterfaceComponent.py cant give some hints?

Re: Push developer kit: M4L devices for Push!

Posted: Fri Apr 12, 2013 3:48 pm
by flocked
lo.key wrote:i wonder if you could use a separate patch to listen for close.bangs on other patches, and update the grab and release on a global basis?
Yes, that was also my first idea and it is possible, but it would be unintuitive. The user would always need to include a "m4l push device close" patch/device in his set. I don't like the idea.

Re: Push developer kit: M4L devices for Push!

Posted: Fri Apr 12, 2013 3:55 pm
by lo.key
true enough. It would be much better if they could be self contained. I like the idea of using this.device to detect whether the device is disabled and release control that way. To be honest i dont see much problem with having to remember to release before deletion.

Re: Push developer kit: M4L devices for Push!

Posted: Fri Apr 12, 2013 4:12 pm
by Because789
I found some time to dig into your amazing work (thanks a lot for that!). Now, I soon ran into troubles. First I loaded "This device_track selected.amxd" and nothing happened on Push. I started to investigate and realized, that the "Device/Track selected" object wasn't working at all. I connected a print object to the right outled and nothing was printed, no matter what I did in Live or on Push. Since I had a hard time understanding the original code, I decided to start from scratch with this object and here is the result:

Code: Select all

----------begin_max5_patcher----------
1575.3oc0Z10iiZCEF95Yk1+CVbcZj+fOGo8hc6pJUoptUcZUuXznHmDmD1R
LTfjY1tp+2qwFBjYHDO6F.mKlgDCAd8Cu9bNXyWe6atwZd7SrLKvsf6A2byW
EsbirshVtopgar1ReZQDMSdfVaYYYz0LqIk6Lm8TtbGnCMEtT1P77O+CdGZL
dWdDKO+KIL00yxB7P09361FxE6UdEvUstJlmmE9uxiGAmBa1NmtU1t06SCoQ
fODGszpwYScwjmNTUyIz7EaB4qmkxVjqz.wWbVEmaRwFBdpi3KtSgfGj+j+6
suoXqXyj9hN9lMdbgEHAGDz+7A1JebMa9fcJ.yHxGailO1D6AiOsO9Ba19m.
uQ1+.Ma+iG9RyGN6QQG+k3IUHIF.BP.bafxsq.0SZ72Ifl8kEZ1ZXpbji8bQ
xLb98BzVSyYsRKSOqOYpmvJQ7ca3qFXDY1Y1b77u3HJOd85nZXjjxxX7bZdX
L+H4zjR0CFSnohdVNKcFiSmGI6iv1NWM5EHGY7Cj8T+hNSfyTb0lZD+B7Gxy
O0c.z2PLr.YMl1JobrDt3tsbv71LaNcX1lS4qOa2s+MbXRfjLXjrVbLoGCa8
t20Jj5HnUGVB7HvnixG1OLpnG2Fj7McHQDXoXvdY9udER63IzE+cqbJnaNMQ
uvLWFbg6BWHkmB4KqZv1sGG2cZb4BuRvEBEn.T+SqSEKGZ7wx8ficrbRfoGl
5.iFuX4DiOgmOwd5nGJm3bkDaxGiFpXScPK6qDZ4fcFrDeQg6YSEZXSqDCpw
TKLL7hzUgBPhhWNRWlykXdEN4jUUvJP9lvrYKY6CWv.Kn7Xd3BZzLwyAxZOd
F1vmL8J.pVsAjmLnVOMcVc53PP6qBKmOTN85ihiqct4XzNrJdoLX9AW.+0h3
saaNb6.utiEIttrkfOpFf9yerUhUWG1pz0ykyYScOuO8UvtB86BaFJSMeoem
FqyCp+HUjx7Tbx2D4DRU2UElviUFRj6UQ3JmxR5Gt3UETaVFKGrOj8HHqzoM
KW5zNtsNhpY1A0NPUUTMrZIg5qUI6rXsUBhLZBVUvQ4FW+wptiqipNp3zEbT
rjJhzC6NHGJmGWuzGV2sglv.wqDUfv.+xO8Iviz8rUwoamBd+dZXTwBd.9qx
1x.hRfuEbWHmMAbG8QvelLoXyGiejOQjlIjxWGUrq+Ym3.m.9cJeY71IfODx
ooeA7qwgY0N+8zzCX6fLuG8vqZYZvtctLMnyrLMDb8JUJxxfPNXDp3NPAzOq
kYUTL80tfMDMV+TnL4WPoYnoTxD2HVNilmmFNeWNq9SYklfJWPAdi1whWU09
gczDTU8opPBGsyrMwo0F6eaW1FvOJr5owQVsc309pYG9QRyUqGs3V81RZVVF
WU0JEfUUvRyV9zpU0f9nyTTLecqprgU5nevVZRRA2C4KYxwNdkGT43q5ObQq
FSJsEJoMA73FF+1WkS2F1UgZmxeCkyvfpXJHT8zeMMTmOTWPeTeGIvYZ8Lfn
lHRkv9lAeBkyN3Ls1HmpmaKFm1dbuWG6QVmAzX0hUq5HpGFxlbdPOONcIKsi
vEcCwx5hsewUsextV7PpmtZN6ysTuSFg4gqqvs1p5QT4.7BNY1VkREHf+hWX
U4YsXGOioYw6RWT04qdcKAMrCKYY4hjhUlt6qe0LZdTaBWtjwOxGrLLqH4lD
6vSeaVeg4pkv7FdgYapDCapDCdcKLWSUX3gWXWHcsMbYRrHZaV0a0nLqKQVY
oCr9aMtTW3dhqVA9dd3wA.wZJL2wQXnyJLaSUX3wQX3yJL3vKLOCM9hqqoJL
nNdLGOSUXCe3hh22KMD1yF6NDBSq.rxakCrv7ztNoAVXZMpzY3yU5nUcRjge
TosVDajzEx.iupGvv9FpvJVwHyTXHSUXvQ.YZY9G9xwJd2L074PG1.+DsxHQ
BFdg4nysRxvmpjnkGyYD7XZIrm6DGBgoWArCuvvZUmHY3uUh06gjF9bkHspt
fL7yPvySOehTRC+CI87zysKrQ.XP8HFbLjldQx99JunbsUnII6YoYkmZknr1
R+brbswbmn9dHOtwZkYkx1GV8STqfsEMcwlvb1h7copEH5IWaKwdjWPw+9ef
ldJCO
-----------end_max5_patcher-----------
Now it behaves like I would expect it to behave: a 1 is sent out, when the device or the track (depending on the mode) is selected and a 0 is sent when another device or track gets selected. I tried to connect this to the push_grid patcher, but there was still nothing happening. Therefor I will dig now into that object.