Node specific specialized ports

I’m wondering if there is a way to address (from a node other than Share Value) specialized ports on nodes such as the Feedback Blend Mode port on the Blend Image with Feedback node or the Smoothing port on the Filter and Smooth Controller Midi node? I would like to be able to control/map these variables with keyboard, midi, or otherwise.

For example, I would like to control the Feedback Blend Mode with a midi slider or perhaps even arrow buttons on the keyboard. Intuitively I thought I might be able to either pass the number of the item in the list of options or maybe even the actual name of the option but neither are accepted.

Also of note, when I connect a Share Value node to Feedback Blend Mode port it brings up all of the possible Blend Modes rather than the 6 Blend Modes that the Blend Image with Feedback node supports. This seems like a bug to me?

For the Smoothing port I would like to be able to create a Smoothing preset system so that depending upon what I port a MIDI controller to I can quickly/automatically trigger the smoothing preset rather than manually entering in values every time. For example below I’ve created a patch to switch controller mapping from Width to Rotation of an oval. Intuitively it seems like I should just be able to pass a list to the Smoothing port but again it won’t accept anything like that. I understand that the developers may have thought it may not make sense to be able to modulate Smoothing of a MIDI controller in real time, but in this case of creating presets I think it makes complete sense. In fact when I first used the Filter and Smooth Controller Midi node, since there is a naming box on the Smoothing port I thought it was set up like this so that you could create presets within the port itself. I’ve attached this vuo example below.

Unless I am missing something I, it seems very counterintuitive that some ports can’t be addressed while most others can. I would guess that there are many specialized data variables in countless other nodes such as these that are also un-addressable in this way. This creates a painful usability issue that severely limits a vuo app whether one is creating a stand-alone application to distribute and share or a realtime performance tool. Perhaps this should become a feature request?

TyParks.smoothingPresetAddressingExample.vuo (7.66 KB)

I’m wondering if there is a way to address (from a node other than Share Value) specialized ports on nodes such as the Feedback Blend Mode port on the Blend Image with Feedback node or the Smoothing port on the Filter and Smooth Controller Midi node?

Yes, you can use Get Item from List. If you connect a cable from its output port to the Feedback Blend Mode input port, the data type of the output port and the List input port items changes to blend mode. When you double-click on each List input port (1, 2, …), you’ll get a menu of blend modes to choose from.

In addition to Share Value and Get Item from List, many other nodes with generic ports, such as Hold Value, can be set to accept any data type.

Also of note, when I connect a Share Value node to Feedback Blend Mode port it brings up all of the possible Blend Modes rather than the 6 Blend Modes that the Blend Image with Feedback node supports. This seems like a bug to me?

Yeah, it’s not ideal. A few months ago we checked if this would be relatively easy to fix and realized it would not. It’s one of many things we’d like to fix eventually but not a high priority.

SelectBlendMode.vuo (2.66 KB)

Hi Jaymie!

Thanks for your reply.

I’m so happy this is just something I missed. Backwards functioning Get Item From List FTW! What a nice surprise! I think I really like how this solution works in that by design you can limit and order the data that you want to address/select.

Best,
-Tyson

1 Like