Commit graph

149 commits

Author SHA1 Message Date
Eroax
d2d55297a9 Added RPC Node Scope (#107)
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/107
Co-authored-by: Eroax <eroaxebusiness@duck.com>
Co-committed-by: Eroax <eroaxebusiness@duck.com>
2024-03-16 03:54:11 +00:00
Lera Elvoé
3f5a441972 add a map of operation types to event names to RPCScope (#108)
closes #104

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/108
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-03-15 07:47:45 +00:00
Lera Elvoé
8bdd6709b4 deck and deck holder RPC scopes (#106)
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/106
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-03-15 06:02:04 +00:00
Lera Elvoé
f43c5ecafd add utility method to connect to a signal safely (#103)
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/103
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-03-14 06:42:02 +00:00
Lera Elvoé
18b83f5b26 fix value callback usage on output ports (#102)
fixes #100

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/102
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-03-14 06:27:49 +00:00
Lera Elvoé
a1b74410f6 rework RPC Signal Layer class (#101)
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/101
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-03-14 05:54:25 +00:00
Lera Elvoé
3886414374 fix up the spinbox descriptor and switch delay node to use SceneTreeTimer (#99)
closes #76

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/99
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-03-11 06:22:55 +00:00
Lera Elvoé
677e7b36c5 add an API for buttons on ports (#96)
closes #91

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/96
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-03-06 07:50:23 +00:00
Lera Elvoé
715086f204 initial RPC renderer (#92)
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/92
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-03-05 07:09:36 +00:00
Lera Elvoé
6d3cc87fad make NodeDB static (#90)
closes #88

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/90
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-02-29 19:04:21 +00:00
Lera Elvoé
d98d6f52bd add a new main scene (#89)
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/89
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-02-29 18:41:53 +00:00
Lera Elvoé
7eaac0dee5
bump version to 0.0.5 2024-02-29 11:52:29 +03:00
Eroax
ba1ed2f02d Added License Link 2024-02-29 07:19:00 +00:00
Eroax
7ec5f62995 Added License to Readme 2024-02-29 07:17:58 +00:00
Lera Elvoé
ee567f106a make the obs disconnect button work (#86)
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/86
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-02-29 07:09:33 +00:00
Lera Elvoé
e2822536b1
fix alias generation in NodeDB 2024-02-26 14:38:34 +03:00
Lera Elvoé
49b8a23281 add more OBS nodes, allow specifying event subscription types in OBS connection dialog (#81)
adds:
- OBS Event Received
- OBS Set Source Visible
- OBS Is Source Visible?
- OBS Set Input Settings

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/81
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-02-26 11:37:57 +00:00
Eroax
2d5fcd25f6 Reworks Twitch Nodes to work with the new Triggers Workflow. (#82)
Closes #59 by reworking Twitch Nodes to use the new Trigger workflow that allows inputs that trigger through Ports with Port.UsageType.BOTH as well the functionality for Port.UsageType.VALUE_REQUEST and Port.UsageType.TRIGGER.

Co-authored-by: Eroax <eroaxebusiness@duck>
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/82
2024-02-26 11:36:19 +00:00
Lera Elvoé
c07d810bcf be more lenient with using triggers and value requests on the same node on general and obs nodes (#78)
addresses part of #59

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/78
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-02-26 05:34:00 +00:00
Lera Elvoé
215af7232a
patch print node 2024-02-22 10:24:54 +03:00
Lera Elvoé
f57374f3e2 add send id system (#75)
addresses https://codeberg.org/StreamGraph/StreamGraph/issues/59#issuecomment-1572604

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/75
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-02-22 07:23:25 +00:00
Lera Elvoé
c7e003ffe6 make descriptor renderers into scenes (#74)
closes #60

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/74
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-02-22 06:59:23 +00:00
Lera Elvoé
df3b3c4990 silence a lot of warnings (#73)
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/73
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-02-21 06:34:17 +00:00
Lera Elvoé
c3a91d0848 replace C-style boolean operators with their keyword counterparts (#72)
closes #71

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/72
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-02-21 06:11:29 +00:00
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
Lera Elvoé
759f6eff73 attempt to fix scene preload hell (#70)
every now and then, opening the project in Godot would throw an error saying that `res://graph_node_renderer/graph_node_renderer.tscn` scene was corrupted and could not be opened. the scene would refuse to open in the editor, throwing the same error. however, the app ran, instantiating the scene like nothing was wrong. the error would sometimes go away after a few restarts.

after many hours of searching up about it, i think i identified the problem. that specific scene file has nothing actually corrupted about it, and deleting and re-adding it solved the problem until some other random next time it popped up. see the relevant issues on godot's github:

https://github.com/godotengine/godot/issues/85907
https://github.com/godotengine/godot/issues/79545
https://github.com/godotengine/godot/issues/70985

for the time being, i've replaced most relevant scene preloads with exports. hopefully it doesn't happen now.

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/70
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-02-21 01:11:26 +00:00
Lera Elvoé
34220c4ad1
add colors to ports depending on data type 2024-02-13 14:17:05 +03:00
Lera Elvoé
f4910617d1
bump version to 0.0.4 2024-02-12 11:29:45 +03:00
Lera Elvoé
3378f41b75
add temporary null handling to variable viewer 2024-02-12 11:08:38 +03:00
Lera Elvoé
ca18e36fdc
fix deselect error when selecting the header in variable viewer 2024-02-12 10:47:26 +03:00
Eroax
02001535d9 Added Extra Scopes to NoTwitch Twitch_Connection
Just temporarily adds a TON of scopes so that the Twitch connection can access stuff while we figure out dynamic scopes.
2024-02-12 00:37:57 -07:00
Eroax
6540e30552 Patched Twitch EventSub Event Data Caching
Wasn't caching the Event Data early enough to be accessed.  So now it does.
2024-02-12 00:37:18 -07:00
Lera Elvoé
d469680850
improve twitch node descriptions 2024-02-11 22:09:58 +03:00
Lera Elvoé
34966d4bcf
patch NoTwitch to add back an erroneously removed method 2024-02-11 22:07:58 +03:00
Lera Elvoé
7b0b687ddd
Merge branch '0.0.3/irc-nodes' into main 2024-02-09 15:21:36 +03:00
Eroax
1ffec81afb
General NoTwitch EventSub Update 2024-02-09 15:12:04 +03:00
Eroax
f98364f40e Add in General EventSub Nodes (#65)
Adds in these nodes:
- Twitch Add EventSub Subscription
- Twitch EventSub Event

Co-authored-by: Eroax <eroaxe.business@gmail.com>
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/65
Co-authored-by: Eroax <eroax@noreply.codeberg.org>
Co-committed-by: Eroax <eroax@noreply.codeberg.org>
2024-02-09 11:43:17 +00:00
Lera Elvoé
51046034e4 fix crashes in add node menu with empty search results (#58)
fixes #54

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/58
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-01-25 07:36:21 +00:00
Lera Elvoé
fbcb04651c change all value requests and value resolutions in all nodes to be async (#57)
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/57
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-01-25 07:20:41 +00:00
Lera Elvoé
d0313b9697 Twitch updates pt. 1 (#56)
- Add credential saving for Twitch
- Sync NoTwitch with upstream to allow for API and EventSub access
- Add Twitch Connected Account Info and Twitch Request User Info nodes

Co-authored-by: Eroax <eroaxe.business@gmail.com>
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/56
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-01-25 06:36:05 +00:00
Lera Elvoé
cb4a83a2f8 fix nodes resizing on port update (#55)
Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/55
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-01-22 08:06:23 +00:00
Lera Elvoé
bb7b7d0adb capitalize categories properly in add node menu (#49)
closes #34

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/49
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-01-20 05:11:38 +00:00
Lera Elvoé
7ef913c13b Split node scripts into subfolders and use subfolder names as category names (#48)
fixes #41

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/48
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-01-20 05:02:57 +00:00
Lera Elvoé
43cd05c79d Variable Viewer improvements (#47)
- Mark the active deck dirty on variable change
- disable editing array/dictionary columns' value displays in the variable viewer
- make selecting nothing in the variable tree more resilient

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/47
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-01-20 04:40:33 +00:00
Lera Elvoé
a3ceb54c48 fix closing tabs not showing the right content (#46)
fixes #43

Reviewed-on: https://codeberg.org/StreamGraph/StreamGraph/pulls/46
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-01-20 04:01:26 +00:00
Lera Elvoé
b143c63dcc add a bottom dock (#44)
- moves the console to the new bottom dock
- adds a deck variables inspector to the bottom dock that allows adding, removing and editing variables of the currently open deck
- bottom dock can be opened with <kbd>N</kbd>

closes #33

Reviewed-on: https://codeberg.org/Eroax/StreamGraph/pulls/44
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-01-19 09:52:51 +00:00
Lera Elvoé
0ebe17399d fix connections being copied incorrectly (#42)
when copying nodes, incoming and outgoing connections could be copied in such a way that they had (empty) entries in the outgoing/incoming connections dictionaries despite not being connected to anything

Reviewed-on: https://codeberg.org/Eroax/StreamGraph/pulls/42
Co-authored-by: Lera Elvoé <yagich@poto.cafe>
Co-committed-by: Lera Elvoé <yagich@poto.cafe>
2024-01-17 08:15:02 +00:00
Lera Elvoé
5a214c16f8
add build automation scripts 2024-01-17 04:31:41 +03:00
Lera Elvoé
f89c5b933e
fill extra fields for windows export preset 2024-01-17 04:14:56 +03:00
Lera Elvoé
af56b60b29
rename export presets for automation 2024-01-17 01:50:25 +03:00