Inline event ports for Pothos GUI Fri, Mar 11 2016 PM
Update
I completed some extra related connection work after making this blog entry. Here is a quick screencast:
Intro
Inline event ports! That sounds like some cool new framework thing... But actually this is about the GUI connection ports for signals and slots. And inline refers to the ports being aligned with the regular IO ports on the left and right faces, vs the top and bottom position of the blocks.
So whats with the change?
I looking forward to banging out some of the more pressing Pothos GUI developments such as:
- A better evaluator engine for managing the background topology.
- A new way to create connections thats more efficient/intuitive.
- Full-screen dialogs for spectrum monitoring and filter design.
- Widget state hooks for save/restore aside from block params.
But one of the things that had been peeving me since its inception was the position of the signals and slots ports. I thought that it would be neat if the regular data flow ports would be on the left and right of the block traditionally, but the new event ports that support the control-flow would have a vertical orientation to them. Sounds good, but I think in practice it causes topologies to become more spider-web like that I would prefer. And I found myself speeding too much time trying to find a good routing rotation and position for the blocks.
Previous orthogonal orientation
The previous orthogonal orientation (don't worry its still the default!) places the signal port emitter on the bottom of the block. If the block registers any signals, the port nubbin will appear. The signals port acceptor doesn't have any graphical representation; it uses the body of the block itself with the connection point on the top center.
Here is a screenshot of the vertical orientation in action:
New inline orientation
The new inline orientation places the signal port emitter as a final output port on right side of the block. And of course its hidden when the block has no registered signals. The slot acceptor also has not graphical representation, but when one or more slots are connected, a position is allocated as a final input port on the left side of the block.
Here is the same topology page with the new orientation:
Conclusions, thoughts...
I personally think that the inline orientation is better, but I would like to hear what users think of this change. In any case, the default is the original connection orientation, and there is a menu option to switch it over in the "View" menu. After switching, you will probably want to reorganize the topology.
As of writing this blog, this is a new development and its not yet packaged up. If you want to try it out, just install the latest master branch of pothos-gui. Thoughts? Feedback? Please leave a message on the forum or chat. I would be happy to hear it!