A node graph-based virtual stream deck and livestream automation tool.
Find a file
Lera Elvoé 51652ef277 add port usage type to Port (#69)
first part of addressing #59

every `Port` now has a `usage_type` field that indicates whether it can be used for triggers (eg. sending and receiving events), value requests, or both. `Deck` has an additional method to validate if a potential connection is legal, which checks for the following in order:

1. the source and target nodes are not the same node;
2. the port usage is valid (trigger to trigger, value to value, both to any);
3. the port types are compatible
4. the connection doesn't already exist

all node ports by default use the "both" usage, since that will be the most common use case (especially in cases where an input port can accept either a trigger and a value request but the output can only send one type), but it can be specified as an optional argument in `add_[input|output]_port()`

usage types are represented in the renderer by different port icons:

![image](/attachments/28d3cfe9-c62c-4dd4-937d-64dbe87cb205)

there is a reference implementation in the Compare Values and Twitch Chat Received nodes, since those were used as examples in #59. other nodes will be added as a separate PR later if this is merged, since behavior will vary greatly per node.

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/69
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-02-21 04:08:36 +00:00
addons Added Extra Scopes to NoTwitch Twitch_Connection 2024-02-12 00:37:57 -07:00
classes add port usage type to Port (#69) 2024-02-21 04:08:36 +00:00
dist add build automation scripts 2024-01-17 04:31:41 +03:00
graph_node_renderer add port usage type to Port (#69) 2024-02-21 04:08:36 +00:00
img Add OBS and Twitch nodes. Improve UX significantly. Rework groups from the ground up with a new instancing feature. Open to the public. (#18) 2023-12-15 21:44:25 +00:00
script_templates Split node scripts into subfolders and use subfolder names as category names (#48) 2024-01-20 05:02:57 +00:00
.gitattributes initial commit 2023-06-10 06:15:08 +03:00
.gitignore Add OBS and Twitch nodes. Improve UX significantly. Rework groups from the ground up with a new instancing feature. Open to the public. (#18) 2023-12-15 21:44:25 +00:00
COPYING Add OBS and Twitch nodes. Improve UX significantly. Rework groups from the ground up with a new instancing feature. Open to the public. (#18) 2023-12-15 21:44:25 +00:00
export_presets.cfg fill extra fields for windows export preset 2024-01-17 04:14:56 +03:00
icon.svg initial commit 2023-06-10 06:15:08 +03:00
icon.svg.import initial commit 2023-06-10 06:15:08 +03:00
project.godot bump version to 0.0.4 2024-02-12 11:29:45 +03:00
README.md add discord link 2023-12-29 21:47:13 +03:00
THIRDPARTY.md Add OBS and Twitch nodes. Improve UX significantly. Rework groups from the ground up with a new instancing feature. Open to the public. (#18) 2023-12-15 21:44:25 +00:00

StreamGraph is a node graph-based virtual stream deck and livestream automation tool.

⚠️ StreamGraph is at an EARLY ALPHA stage! Some things will break! ⚠️

StreamGraph lets you automate your livestream with a powerful and easy to understand node graph workflow.

StreamGraph screenshot

It can connect to Twitch and OBS, allowing you to take stream interactivity to the next level.

StreamGraph screenshot

Current state and capabilities

StreamGraph is at a very early stage of development. We cannot guarantee stability at this point and things may change dramatically between releases. As development progresses, the API and nodes will stabilize. If you encounter any issues, please report them on the issue tracker with as much detail about how to reproduce them as possible.

The app can currently connect to Twitch and read and send chats in a single channel. It can also connect to a single OBS instance (utilizing OBS-WebSocket, which is bundled with modern versions of OBS).

For more information about nodes that currently exist, check out the wiki.

You can also join Eroax's discord, which has a dedicated Streamgraph channel if you just want to talk or ask questions: Discord