Can't assign operation in new CustomRegion feature

To reproduce this, simply connect the output to any BCP — Cache, for example.

To make it work, select the region with the link (press the space bar to select everything).

Consider this a bug, but it might not be.

Assigning process nodes was never possible. Only operations and links can be assigned. In that sense I’d say it works correctly - selecting one of those links inside the region shows the correct moments (Then, Else). But yes, it’s not optimal working inside of multi-moment regions. For sure there’s room for improvement.

@Elias, thanks for the answer! This is indeed an issue in the multi-moment region.

I hope the problem is clear from the screenshots. There are two ‘aspect processes’ within the region, and when I try to reassign a link that comes from any BCP, I get a different set to choose from than if I were to connect a link that connects directly to the node output. Furthermore, other than selecting with the spacebar button, there’s no way to assign the desired process at all. Whatever you press the right button on, it’s impossible.

Yes, it’s inconvenient, but also confusing. It took me a while to realise that it’s not actually a bug; it’s just the way the regions behave. However, as custom regions are consistently developed and improved, this issue will arise again.

We spent a bit of time on this topic, and you’ll see various improvements in the latest preview:

  • A process definition can now define more operations than just Update to be assigned by default. This can be changed in the process definition panel. For example we added the Reset and GetValues operations of the LFO to the default assignment. That means when placing the LFO, those operations will also run on Update now.
  • It’s now allowed to assign process nodes. This is basically what you asked for above. A process assignment will mean that all its “default” operations will get assigned to the operation you chose.
  • The assignment algorithm has been modified a bit to incorporate those features. It operates in three passes. The first assigns patch elements based on patch pins and user annotations on links and operation nodes. The second pass will take process assignment into account. The third pass will take care of any remaining bits to put them on the default operation of the patch.

The implications are quite drastic if working in patches with multiple operations / many colors.
Before:


These outputs always returned zero - one had to build this:

Now:


Outputs return what you’d expect.

Also, the Assign menu will show the colors of the operations involved: