abstractions within M4L devices : few questions

Learn about building and using Max for Live devices.
Post Reply
chapelier fou
Posts: 6356
Joined: Mon May 15, 2006 12:15 pm

abstractions within M4L devices : few questions

Post by chapelier fou » Tue Oct 29, 2013 4:50 pm

1. When you're patching a M4L and you realize : "well, i should make an abstraction with this part of the patch because i'll need a few of them with arguments", the only way is to copy, paste in a maxMSP patcher, save it in your max folders. RIGHT ?
2. When your M4L device contains abstractions, is FREEZE what you need to be sure that your device would be able to be shared, and safe for future computers ?

Thanks for your lights !
MacBook Pro 13" Retina i7 2.8 GHz OS 10.13, L10.0.1, M4L.
MacStudio M1Max 32Go OS 12.3.1

newtfish
Posts: 44
Joined: Mon May 09, 2011 6:17 pm

Re: abstractions within M4L devices : few questions

Post by newtfish » Tue Oct 29, 2013 4:56 pm

Is there any need to use abstractions? Why not just use "p WhateverYourPatcherName" and keep it all part of the same patch?

You can use arguments with these as well (I think but havent tried) http://cycling74.com/forums/topic/patcher-arguments/

chapelier fou
Posts: 6356
Joined: Mon May 15, 2006 12:15 pm

Re: abstractions within M4L devices : few questions

Post by chapelier fou » Tue Oct 29, 2013 5:19 pm

Are you kidding ?
I always thought that arguments were working for abstractions only...not for subpatches ! Checking this out !
MacBook Pro 13" Retina i7 2.8 GHz OS 10.13, L10.0.1, M4L.
MacStudio M1Max 32Go OS 12.3.1

chapelier fou
Posts: 6356
Joined: Mon May 15, 2006 12:15 pm

Re: abstractions within M4L devices : few questions

Post by chapelier fou » Tue Oct 29, 2013 5:26 pm

patcherargs object !
Never knew this one ! cool ! Thanks for the discovery.

But anyway i'd like to know how you guys work and why.
MacBook Pro 13" Retina i7 2.8 GHz OS 10.13, L10.0.1, M4L.
MacStudio M1Max 32Go OS 12.3.1

stringtapper
Posts: 6321
Joined: Sat Aug 28, 2004 6:21 pm

Re: abstractions within M4L devices : few questions

Post by stringtapper » Tue Oct 29, 2013 6:40 pm

Abstractions are useful if you have pieces of code that you use frequently for different tasks and don't want to have to reinvent the wheel every time you patch.

Subpatchers are useful for organizing your code so it's not messy.

I also recommend using clippings. They can essentially be used like abstractions except they are not encapsulated objects but rather paste their contents directly into the main patch. Very powerful and easily accessible with a right-click.

And yes, freezing is generally advised when making any M4L for distribution.
Unsound Designer

regretfullySaid
Posts: 8913
Joined: Thu Apr 22, 2010 5:50 pm

Re: abstractions within M4L devices : few questions

Post by regretfullySaid » Tue Oct 29, 2013 7:24 pm

I've been saving encapsulations as prototypes, because it's the most straightforward way. Then you can just make a new object, right click it and the Prototypes dropdown is right there. Unfortunately it doesn't support added folders for organization.

When I looked up abstractions vs prototypes, the most info iirc was that prototypes were supposed to be more about colors/height/width, yet you can save them as patches...

And someone made a tut on YT on how to save your own objects, which works fine, just save whatever patch as a max-oatch in a native directory (which does support folders) and you can type in your patch in an object (which will autocomplete) I don't remember if he referred to them as clippings or abstractions, I think he just called them "custom objects"

So, abstractions, clippings, prototypes...it'd be nice if they were more clear and specific between them, because it's nice that I can save my patches and type them up in an object but saving as a prototype and recalling it is quicker.
ImageImage

chapelier fou
Posts: 6356
Joined: Mon May 15, 2006 12:15 pm

Re: abstractions within M4L devices : few questions

Post by chapelier fou » Tue Oct 29, 2013 8:06 pm

Thanks for your answers.
Well, i often have parts of a patch that i want to duplicate a few times, just changing a live path, for instance live_set tracks N, N+1, etc.
So clippings wouldn't help me saving space.
Abstractions could be a bit messy and would need freezing the patch and a bit pointless since it would be for one device only.
So subpatchers with patcherargs inside would be the best choice... does it make sense to you ?
MacBook Pro 13" Retina i7 2.8 GHz OS 10.13, L10.0.1, M4L.
MacStudio M1Max 32Go OS 12.3.1

stringtapper
Posts: 6321
Joined: Sat Aug 28, 2004 6:21 pm

Re: abstractions within M4L devices : few questions

Post by stringtapper » Tue Oct 29, 2013 8:39 pm

shadx312 wrote:I've been saving encapsulations as prototypes, because it's the most straightforward way. Then you can just make a new object, right click it and the Prototypes dropdown is right there. Unfortunately it doesn't support added folders for organization.

When I looked up abstractions vs prototypes, the most info iirc was that prototypes were supposed to be more about colors/height/width, yet you can save them as patches...

And someone made a tut on YT on how to save your own objects, which works fine, just save whatever patch as a max-oatch in a native directory (which does support folders) and you can type in your patch in an object (which will autocomplete) I don't remember if he referred to them as clippings or abstractions, I think he just called them "custom objects"

So, abstractions, clippings, prototypes...it'd be nice if they were more clear and specific between them, because it's nice that I can save my patches and type them up in an object but saving as a prototype and recalling it is quicker.
I didn't know about the prototype method but after trying I don't find it faster than using abstractions at all. You have to create a patcher, close the subpatch window that open automatically, then right-click to bring up the protoype. Unless I'm missing something simply typing in the name of an abstraction is faster.

EDIT: ok I see it's with the [newobj] and you can right click on a blank object. Seems six or one half dozen to me.

And just to clarify the differences:

Subpatchers are encapsulated code that is saved with the parent patcher.

Abstractions are Max patches saved on the hard drive that can be instantiated like any other Max object or external and function similarly to subpatchers.

Clippings are Max patches saved on the hard drive whose contents are pasted into an unlocked patch.

Prototypes are essentially scripts that instantiate a Max object or external with modifications to elements found in the object Inspector menu, or, in the case of the [newobj] object with specific content.
Unsound Designer

regretfullySaid
Posts: 8913
Joined: Thu Apr 22, 2010 5:50 pm

Re: abstractions within M4L devices : few questions

Post by regretfullySaid » Thu Oct 31, 2013 7:29 pm

Seems six or one half dozen to me.
Same here.

Thanks for clarifying.
ImageImage

Post Reply