Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cnmat.o.gui >> o.gui.attach #88

Open
ramagottfried opened this issue Oct 20, 2017 · 11 comments
Open

cnmat.o.gui >> o.gui.attach #88

ramagottfried opened this issue Oct 20, 2017 · 11 comments

Comments

@ramagottfried
Copy link
Member

ramagottfried commented Oct 20, 2017

@equilet @dappertutto @kulpajj

I just whipped up a new object that I think will greatly improve the experience of using a o. wrapper for the max gui. I'll upload a build for you to test in a minute.

the new object replaces cnmat.o.gui, and will allow us to take out pattr and pattrstorage from all the patches which I think will make it much easier to understand, without having to think about why pattr is there.

the way it works is that it looks for object varnames in the patch, we can set these with a message varname /address. The object automatically attaches objects with OSC style varnames starting with /.

I'm thinking that it might be best to make it so it only attaches to objects in the patcher level that it's in, which will also hopefully simplify dealing with subpatchers -- in the case of subpatchers you'd want to o.union/collect/accum the bundles together -- and then if you wanted to set the values from a bundle, you would then route that patches addresses to
o.gui.attach.

what do you guys think of the name? should it just be:
o.gui?

I thought that maybe it makes more sense to add the attach since it's not automatic, you need to give the GUI object an OSC varname.

or maybe just
o.attach which looks a little sexier to me : )

originally it was
o.notify which I'm also okay with going back to.

o.max.attach
o.maxgui.attach

o.maxgui.stream

?

help! : )

@ramagottfried
Copy link
Member Author

(maybe not maxgui in case we make a pd version someday)

@ramagottfried
Copy link
Member Author

ok I uploaded the o.gui.attach.mxo in the M&C (C&C) repository, I'm still tweaking the loadbang situation.

(p.s. @equilet I'm also seeing some interesting options for making a custom loadbang object that might solve the issues with patcherargs... haven't tested too deeply yet, but there are a number of different notifications that could trigger output at different loading stages).

@ramagottfried
Copy link
Member Author

p.p.s. there's a help patch in the patchers/dev folder, but to test just pull the repo, make a new patch add a o.gui.attach and then alt-click and it should open --

I know there are some error messages, which I'm pretty sure is due to the loadbang/bundle coming out before the patcherargs have output.

you can wait to test it too if you want : ) but I just wanted to send it out there

logging off,
rama

@ramagottfried
Copy link
Member Author

ok just added a new version, I fixed the loadbang coordination problem by not automatically outputting the gui bundle on load, which I think is more natural anyway. Now, it waits to output until you to make a change to an attached gui object, or send you own loadbang, or send a bundle in to set the attached objects.

@ramagottfried
Copy link
Member Author

@kulpajj @dappertutto @equilet
hi guys -- I'd like to update the lesson patches to use o.gui.attach instead of the pattrstorage based system. Do I have your approval to go ahead with this?

thanks,
Rama

@equilet
Copy link
Member

equilet commented Nov 6, 2017

You have mine

@dappertutto
Copy link
Collaborator

dappertutto commented Nov 6, 2017 via email

@wagne342
Copy link
Collaborator

wagne342 commented Nov 6, 2017 via email

@dappertutto
Copy link
Collaborator

dappertutto commented Nov 7, 2017 via email

@ramagottfried
Copy link
Member Author

great -- thanks guys!

@dappertutto

its still pattr under the hood in some sense because it utilizes the naming option in the inspector.
(BTW, how does message, without being banged, name the object to which its connected? Voodoo shit).

kind of, it's not pattr, but does something simliar. in the Max SDK you can "attach" to another object and get notified when anything changes, and you can identify the object by the varname, so, in that way it's pattr-y, but there's technically no pattr specific code in there, just a little bit of the voodoo part : )

re: naming option in the inspector -- I'd recommend not using the inspector to change the varname but use the message approach like what's in the help file, that way you can always see what the name is (that'd be pretty annoying if students did that and then you had to open the inspector for each object so see what it was!). Also this reduces the amount of voodoo.

A little preview of how i see M&C developing pedagogically is that top down needs to be banged into their heads for sure, Jeremy. At least a couple of weeks without anything but o.compose before any GUI’s and especially before o.gui.attach. But this needs to be taught because its just too goddamn useful for creative exploratory spaces.

yeah it's a tricky balance, you want them to feel expressive right away, but maybe it's better to have them develop more deferred satisfaction.

As I said to Jeff earlier, I just don’t have the bandwidth this month to engage as much as i’d like. Its a shame cuz Rama, you’re wrapping up this month or next? So much to talk about, and really, really excited about this big giant leap forward with the materials.

yay! great --I'm hopefully going to be starting a postdoc in January, so I'm trying to get things into a more polished more releasable state. That said, I plan to be available to help where needed to keep this thing rolling!

Are you heading to the east coast for Thanksgiving, by any chance?
sound fun but we're staying local this year -- that'd be great to skype sometime soon and catch up!

@equilet
Copy link
Member

equilet commented Apr 20, 2018

Are there any actionable items remaining in this issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants