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

Handling gui states #168

Open
grammoboy2 opened this issue Apr 10, 2023 · 2 comments
Open

Handling gui states #168

grammoboy2 opened this issue Apr 10, 2023 · 2 comments

Comments

@grammoboy2
Copy link

Hi, I was wondering how RaySession handles gui states, as it stores gui state in it's session file.

I saw the setting in RaySession 'remember optional gui states'. When I set it on, I saw Patroneo launching with gui shown, while Patroneo hides it's gui, when this setting is off. Reading your manual, this is expected I think.
But when launching drumkv1 or seq192 for the first time, with this setting on, they both seems to launch with gui hidden. This is unexpected as I understand it.

In general I was interested if Raysession would 'overrule' the gui states restored by the responsible clients (as the nsm api states) and if that can be done reliable. So it seems it doesn't really overrule here, but just sends a 'show gui' message after first launch. Then I was wondering: is there no timing conflict between the server (sends show to client) and the client (sends hide to server)?

"This option only concerns NSM clients capable of showing/hiding their graphical interface. Without this option, some of them will always start hidden, others will remember if they were visible when they were last saved.
With this option enabled, the graphical interfaces will be displayed when the session is ready if they were visible during the last save or if the client has never been launched."

@grammoboy2
Copy link
Author

Did some tests with a custom setup and it's possible to control the clients GUI states, when a session opens and when a new client is added to a session. For some time I was afraid that the architecturally preference to store all state in the client's own project format of the original developer, would hit us here, but this also works without storing the clients gui state in the sessionfile. So far it seems to be reliable, only Guitarix won't comply, but that's clearly a Guitarix issue (reported). So I think it's also a RaySession issue (if I didn't misunderstood the feature) that some clients hide and some do show with 'remember optional gui states' is enabled.

@grammoboy2
Copy link
Author

grammoboy2 commented Apr 22, 2023

Ah shoot, Tembro doesn't work. It sends it's gui hidden message really late after replying to open and after it got the message to show gui from the server. Would be really bad news if this isn't reliable.

"If the client has specified the optional-gui capability, then it MUST send this message whenever the state of visibility of the optional GUI has changed. It also MUST send this message after it's announce message to indicate the initial visibility state of the optional GUI. "

edit: might be good news that Tembro is failing here actually, cause it seems to proof that overruling clients initial gui visibility state is not 100% reliable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant