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

Allow ganging of child plugs on compound plugs (e.g. colours) #402

Closed
bentoogood opened this issue Jun 26, 2013 · 8 comments · Fixed by #405
Closed

Allow ganging of child plugs on compound plugs (e.g. colours) #402

bentoogood opened this issue Jun 26, 2013 · 8 comments · Fixed by #405
Assignees

Comments

@bentoogood
Copy link
Contributor

In graffer I find my self processing a lot of float patterns/images that are actually colours.

When using the processing nodes (grade, etc) I have to set the r,g, and b plugs of any control to the same value manually, otherwise the greyscale pattern gets 'tinted'.

The more I've been doing this kind of work, the more annoying that seems.
Another option is to place a shuffle node down and remap to r,r,r - but I'd rather avoid node bloat.

Thoughts?

@johnhaddon
Copy link
Member

Sounds very reasonable. The easiest approach is to stick in a right-click "Gang" menu option (or a little button) which just connects the r into the g and b plugs so they're still visible in the ui but they're non-editable and driven by the first one. Another approach would be to have a little button that just hides the g and b plugs and then have the field for r set all three values at once - that's a bit trickier, particularly as some other event (scripting or use of a non-ganged editor) could break the values apart behind the back of the ganged editor. So I would prefer the former one in that it's more explicit about what is happening and less prone to problems down the line...it's also very quick to implement if you wanted to add it to the milestone.

@bentoogood
Copy link
Contributor Author

First sounds fine (for now at least)
Was my first thought as a user, but I couldn't drag one child plug to another child plug to make a connection.
Is that expected?

@johnhaddon
Copy link
Member

I'll do the first one then - probably tomorrow as I'm fighting spline plugs at the mo'. It'd be doable to initiate a drag from a child plug (rather than just the label as you can now) if we can somehow resolve the conflicting requirements for all the drags that might start in one, which currently are :

  • Scrubbing fast
  • Scrubbing slow
  • Drag selecting text
  • Dragging the plug for a connection
  • Dragging the plug value

And of course do all that without resorting to middle mouse button which doesn't exist on the Mac.

@bentoogood
Copy link
Contributor Author

@andrewkaufman
Copy link
Contributor

Is "Gang" an official term that I'm not familiar with? If not, can we pick a term that sounds logical in all major flavors of English? Connect/Drive Siblings?

@bentoogood
Copy link
Contributor Author

I believe 'gang' comes from audio mixing panels.
Is used in a number of comp/imaging apps.....

@johnhaddon
Copy link
Member

I presume you means flavours of English? :) Gang was a term that made sense to me, and I prefer it to talk of siblings which I suspect isn't that intuitive without some knowledge of the plug hierarchy. I'm happy to go with the consensus though if there is one...

@andrewkaufman
Copy link
Contributor

Sounds like Ben had some real ganging experience, so we can stick with that. I did initially write flavours just for you, but I couldn't stand the squiggly red lines indicating my egregious mistake.

johnhaddon added a commit to johnhaddon/gaffer that referenced this issue Jul 3, 2013
This is provided at the API level by new methods on the CompoundNumericPlug. It is then made available to the user on the popup menu on plug fields, and via a Ctrl-G shortcut when the cursor is in
a plug field.

Fixes GafferHQ#402.
@ghost ghost assigned johnhaddon Jul 3, 2013
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

Successfully merging a pull request may close this issue.

3 participants