how to use "send" in more advanced ways
I’m looking to create multiple instances of a send and receive object to acquire their name/target based on the parent device id.
so that multiple instances of an m4l device in an ableton rack could send messages to each other, without interferring with m4l instances in another device.
I’ve seen some advanced usage of the send object before, but its not in the manual. I’d love to learn everything I can about that amazing nebulous thing.
Something like this ?
<code>-- Pasted Max Patch, click to expand. --Copy all of the following text. Then, in Max, select New From Clipboard.----------begin_max5_patcher---------- 496.3oc0VF0aaCBDG+Y6OEV7r2DXG65125miooJR7kTprAK.mlsp9celCbq6 ZSZhTiy1Knvwki+2OtC7SwQjkpcfgjbSxORhhdJNJBM4LDElGQZ46V0vMnaj 0MJYeKI0uzvOExFvhqwBFE0nmpkO7MV1nmqURqj2B3R2pE7lIwP0aGCRVvp2 j8WcfWctMlaIoIjkb4FRxOC90wsqtWH2bmFVY8txpx9NMM4Zbrf5FyFFe4u3 jhQ7aLvLmSiQROnOKnuCj7kM3xT2ROGG6FROODhdAHTN6ZjJKV7+.hpt.DJa QwEkPsfwv2.i4mE1gBiX.YcxVUSeK7g3aL06zvfqVtUnjSO3ywLoDO9oggWx oILu7TYNaeL+vEhYEu1pdEpJV0An7WMI6DCR5ffbBSJlGlDJ87Lor3bvDI73 PB8NjnOTkE88.IelJRB2VQYXu3UeZu3WIQ1eExG.jrYsBI.jE4yHPVqzOx00 G8qamJPneZVyx7WIyNkrF8gzHj+8G6f6iy9aQgQ0qWMdVL9gLIutU0fwJj3s qSc5M9buntFjSSpZgw8lP89eT3XkS9wnF5rImiANUylZJ9m5np7LpFeYMuqa KnMgPhBYnW9Ak1MsLEmJj9oXOJQCaEi9WfV35g1M6PuVu12itqpjD61mmi+C mIrzs. -----------end_max5_patcher-----------
@110 modular im not sure what you mean there, but i do recall # being very useful with these objects. its not in the documentation.
its not clear though how i could dynamicly rename a send and recieve object based on the current instance on an m4l device by using something like an id
#1 is still locked to the name of the parent patcher which is typed manually by me when its created.
You can use a device id for naming and renaming send/receive objects dynamically.
<code>-- Pasted Max Patch, click to expand. --Copy all of the following text. Then, in Max, select New From Clipboard.----------begin_max5_patcher---------- 613.3oc0W1rbaBCDG+L9oPCmcyf9.DzasuFcxzAajSTGPxCH23zL4cunUPKt Mjn.IXmKxvJzp+6Ou6J3gUAgazGEMgnOi9FJH3gUAAfIqgft6CBqxOtsLuAd rvJQSS9Mhv0t4LhiFvtr.QS5stSqLp7JALyWpk4knupKK5mdesnQnL4FoV88 ZwViS.jH7UQqQwD6XT2.55tEoNTIUkBCHCRumxMauUptYfWvzD6RYfunT6HN YferZqQ9KPaX6t3LKK.wp27iOg+Sbztm5Cl9ME2Y0Yxb+dgaGCCQWam4wUqr Cq8jjJwcs61+AxV3rWnJPMBim37DxfeNxjZoAIC9IgCnI80gl3yIZL5l6q1n KmYZFCRPHb5Kmm4AMiyfj13oPS7hPymqjkOOVRi.9Qnz4UylAUqDb1zKZomc VN21eLtikrY1+ykWRhlNKYefpx8udEJ64Subk+goZ06bkT1LOqL9x3nRUw6S 1BFCIJ7jIjtrLMj1Upa8+3Q+qMv4XWbCICwtt6QiE2jmr6A4oCbxXAdaHj29 tNnvM4patLnPWSTJmMYLjt7TXjxj1vRH+o3smNTHWgk4Kc1pK00NWDcENIhm xrmwwYXLOYMXiwiZuBOvWCPJ4b1rYmt9t75h2RJ55p3xthwShhCXGIigICuZ DJNxKcFM.UvxBKkp+8aCgvvZ+T90nOTusm5cGUh96lWHZLRE79NCdF5IOysx hBALcebVIK1qkJSmDF4+ReUD0CEgWTEY+LyWTR7EURDOTT5xBoXOjDYYkD1m To3kUSLezzBmeSu7zT7EWIGl7N2Xp8lGW8a.OsujQB -----------end_max5_patcher-----------
You also want to check out the forward object as well as try giving receive no arguments. Both of these will allow you to change targets dynamically.
Caveat: send and receive are not super reliable in terms of timing in M4L. (I think this is still the case)
Ill definitely check it out. sorry if this is a double post, browser went weird.
thats really helpful@ I’m wondering though, if i have 256 instances of some bpatcher, how can i set them all to a unique recieve easily without having to connect up 256 patch chords to a "set" message on each of them? is there a method to do this procedurally possibly?
the other situation that arises from this approach that I need to append an id based on the current m4l instance. i believe there was some ability to use #0 or @1 or something like that but searching for these strings tends to break search engines.
i got something going. its quite large though.
basically all the instances send their ids out to be received. then the hub gets that list of ids and can send messages out to those ids. it means that the bpatchers dont have to have wires connected and you can just copy past to make as many instances as you want. it would be good if they could be aware of their position in the path to determine some kind of execution order. its random at the moment.
Forums > MaxMSP