Boxes, arrows, and signal flow — the node-graph UI that powers OpenJVID (and hopefully more).
Overview
JNodeGraph is a node-based graphing system which allows for simple flow-chart-like systems. Developed for systems which require signal flows, such as audio or video, it supports three types of nodes: Transmitters, Transceivers, and Receivers.
Repo: github.com/danschirripa/JNodeGraph
Operational Logic
A JNodeGraph system must start with a Transmitter. When a Transmitter presents information to the graph, that data is processed procedurally through the flow, eventually terminating at the Receiver.
Generally:
- A Transmitter ingests data
- A Transceiver modifies that data
- A Receiver handles the egress of that data
When links are made between JNodeComponents (UI nodes), a linkage event is fired, which can be used to perform a variety of tasks. The JNodeFlowPane is a Swing object which manages all JNodeComponents and performs linkages as well as basic component selection highlighting.
OpenJVID’s front-end UI is built on jNodeGraph.