Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
134 stars 2 forks source link

OSC Sender component breaks when being disabled and re-enabled #2769

Open JackTheFoxOtter opened 1 month ago

JackTheFoxOtter commented 1 month ago

Describe the bug?

A working OSC Sender component will stop sending OSC messages when the hierarchy it is part of is disabled and re-enabled. This seems not recoverable without duplicating the component / object.

To Reproduce

Spawn a OSC Sender, hook it up to an endpoint that allows you to see UDP messages, verify that it works, then disable and re-enable the hierarchy.

Expected behavior

The component should not break when the hierarchy is disabled, re-enabling it should allow it to resume sending messages.

Screenshots

https://github.com/user-attachments/assets/fb0b0341-ecae-42ed-90ad-16a14500a74f

Resonite Version Number

Beta 2024.8.5.1341

What Platforms does this occur on?

Windows

What headset if any do you use?

Valve Index

Log Files

J4-C - 2024.8.5.1341 - 2024-08-16 13_13_30.log

Additional Context

This might have the same underlying issue as https://github.com/Yellow-Dog-Man/Resonite-Issues/issues/2732, as the end result appears the same. The issue is that disabling the hierarchy is a MUCH more common mechanism, for example when culling zones are being used or it's part of a facet attached to the dashboard / a facet anchor.

Python script I used as enpoint to log UDP messages:

from datetime import datetime
import socket

ADDRESS = '127.0.0.1'
PORT = 12345

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # UDP Socket
sock.bind((ADDRESS, PORT))

print(f"Starting listening for UDP packets on {ADDRESS}:{PORT}...")
while True:
    data, addr = sock.recvfrom(1024)
    print(f"[{datetime.now()}] Received message from addres {addr}: {data}")

Reporters

No response

shiftyscales commented 1 month ago

2732 is a similar issue that has the component break in a similar way from a different cause.

shiftyscales commented 1 month ago

Without looking into it though, I couldn't be certain this is the same issue though- so I'll keep this open for now until both can be looked into.