Integrating live.path and pattr namespace: aliasing controls

Learn about building and using Max for Live devices.
Post Reply
skwosh
Posts: 21
Joined: Fri Mar 13, 2009 4:29 am

Integrating live.path and pattr namespace: aliasing controls

Post by skwosh » Tue Mar 16, 2010 3:48 am

I guess this is a feature request for M4L.

It would be amazing to be able to bind like [pattr @bindto parent::Sampler::Reverse].

That is, have device and track names as patcher Scripting Names (i.e. @varname).

That is all.


Edit 24/11/10:

For those unfamiliar with pattr, it would mean that device parameters could be accessed with a human readable path, and that the resulting object acts as an alias for that parameter.

So you could wire a slider in a feedback cycle to the pattr object to get something like Live's macro functionality.

See this thread for why using names instead of positions is a good thing.
Last edited by skwosh on Wed Nov 24, 2010 12:32 am, edited 3 times in total.

pid
Posts: 354
Joined: Thu Nov 05, 2009 9:51 am

Re: Integrating live.path and pattr namespaces.

Post by pid » Fri Nov 19, 2010 7:11 am

i don't usually go in for "+1" type posts, but... +1. this would be SO powerful. maybe m4l 2.0 ?!
3dot... wrote: in short.. we live in disappointing times..

skwosh
Posts: 21
Joined: Fri Mar 13, 2009 4:29 am

Re: Integrating live.path and pattr namespaces.

Post by skwosh » Wed Nov 24, 2010 12:24 am

ShelLuser wrote:... I don't quite see an advantage; if you want such information to be available in your patch its not that hard to write a listener yourself which can keep (for example) a 'value' object up to date.
The advantage is that it would be trivial to maintain and update a binding to a parameter with a human readable path. For example, the control could be aliased with a slider in your patch simply by connecting it in a feedback cycle with the pattr object.
ShelLuser wrote:But most of all I'm not too sure that I'd like the idea of Max constantly polling Live for track additions, deletions and changes (renaming) whereas an addition would also cause a name check. On bigger livesets this could give you unwanted impact on the API.
I'm not sure why you think polling is necessary. Presumably the implementation would be a bit more efficient than that, for example using something like the Observer pattern.

Post Reply