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

Shuffle improvements #5590

Merged
merged 7 commits into from
Dec 18, 2023
Merged

Shuffle improvements #5590

merged 7 commits into from
Dec 18, 2023

Commits on Dec 15, 2023

  1. ShufflePlugValueWidget : Use widget metadata for source and `destin…

    …ation`
    
    And align all widgets to the top, so that everything still lines up if the custom widgets use additional vertical space.
    johnhaddon committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    318ae7f View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. ShufflesPlug : Improve shuffling API

    - Add `ignoreMissingSource` argument to `shuffle()`, defaulting to `true`
      (the original behaviour).
    - Add `shuffleWithDefaultSource()` method, specifying a fallback source value
      to be used when a source is missing.
    
    These both forward to the same internal function, whose signature I didn't
    consider suitable for the public API, because of the four permutations of
    `ignoreMissingSource` and `defaultSource`-null-ness only three make sense.
    johnhaddon committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    bdd69cb View commit details
    Browse the repository at this point in the history
  2. Shuffle : Reimplement using ShufflesPlug

    This brings it into line with ShuffleAttributes and ShufflePrimitiveVariables,
    adding a fair bit of functionality over what we had before.
    johnhaddon committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    9b1f7da View commit details
    Browse the repository at this point in the history
  3. Avoid legacy Shuffle API

    This stuff all worked thanks to `startup/GafferImage/shuffleCompatibility.py`,
    but we don't want to be relying on that forever.
    
    Also add a test that we can load a Shuffle node and its settings from a file
    saved from Gaffer 1.3.9.0.
    johnhaddon committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    c554fa1 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    77a2b46 View commit details
    Browse the repository at this point in the history
  5. ChannelPlugValueWidget : Add context menu and "Custom" option

    This makes the Widget more useful in technical workflows where you might
    want string substitutions, expressions or wildcards.
    johnhaddon committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    4977f34 View commit details
    Browse the repository at this point in the history
  6. [Un]Premultiply, ImageScatter : Use ChannelPlugValueWidget

    I can't see a reason not to use it, now it's a bit more versatile.
    johnhaddon committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    7a8b5d5 View commit details
    Browse the repository at this point in the history