Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Possibility of messages loss #3

Open
ReneSerra opened this issue Apr 11, 2024 · 4 comments
Open

Possibility of messages loss #3

ReneSerra opened this issue Apr 11, 2024 · 4 comments
Labels
documentation Improvements or additions to documentation wontfix This will not be worked on

Comments

@ReneSerra
Copy link

A dictionary is used to store incoming OSC messages, with the OSC's full address as the key. But dictionary is key-unique, so receiving messages with the same OSC address (with fluctuating arguments values, for example) only keeps the last one, purging all the others (tested).

This only happens when messages are processed slower than they arrive.

@afarra6
Copy link
Owner

afarra6 commented Apr 11, 2024

This is something I am aware of but I'm uncertain if it is an issue in a practical sense. Most Godot projects run at 60fps, which (in a music context) is very unlikely that you'd need to send values at any rate higher than that (and most often very rarely even getting close). If you have an example of a project that would require this extra temporal resolution I'd be happy to discuss possible modifications, but as it is currently stands I'm unsure a change is needed.

@ReneSerra
Copy link
Author

For me, that's a problem regarding OSC specifications and other implementations... but I agree with you that in practice, it's not usually likely to be a big problem. Anyway, if needed by a particular client, he always (and easily) can add a queuing mechanism, based on your work.

I mainly wanted to notified this malfunction possibility to document it for other peope, in case of special conditions (just something to know).

Otherwise, using godOSC is giving me general satisfaction.

@afarra6 afarra6 added wontfix This will not be worked on documentation Improvements or additions to documentation labels Apr 14, 2024
@carlitoselmago
Copy link

In my case this was problematic since the last recieved message gets parsed even if the sender is disconected.
It would be good if you could distinguish from an actual message being recieved from just the last recieved value.
In my code I was trying to identify when the sender was iddle till I realized it kept parsing the last message.

Maybe simply explaining this behaviour in the readme to make sure not more people think something is wrong in other parts of their code.

Anyway amazing software!

@afarra6
Copy link
Owner

afarra6 commented Oct 3, 2024

Thanks for the input! When I get some time I think I'll add a signal for last received message (or something akin to that), as I can see the utility in having a more asynchronous way to handle messages (which should address the issue you were experiencing).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

3 participants