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

feat: Groups for applications to start/stop multiple at the same time #216

Open
relascope opened this issue Nov 22, 2023 · 3 comments
Open

Comments

@relascope
Copy link

As a User with many different Instruments (keys, voice, drums, guitar) where each may have multiple applications I would like to be able to create groups to handle some tasks faster like stopping all voice-related clients.

I think of the implementation like the grouping of Tracks in Ardour, which doesn't bloat the UI if not used but can be activated if needed.

Great Thanks for RaySession, I struggled for years with QJackCtl->PatchBay.
Not it is there as I want it in a few seconds.

@Houston4444
Copy link
Owner

Humm, why not, but it won't be soon.

That said, you could easily use custom shell scripts for the moment, for example if you have 2 clients for voice with ids CarlaVoice and mixerVoice:

ray_control client CarlaVoice start
ray_control client mixerVoice start

it is more complex than what you want of course, but it can help.

@relascope
Copy link
Author

That is perfectly almost perfectly usable. I would have preferred shell scripts anyway, I am faster with keyboard, than mouse.

To mention is that RaySession 0.13.0 client names a bit mixed up. E.g. the predifined like guitarix or carla clientnames stay all lowercase, eaven if renamed in the GUI (like the executable or append app_2, if there are more), other executables can be renamed, if they do not use the NSM protocol and they have their name mixed-case like in the GUI.

Anyway, I will find my way through.
I think I will use slots with clients the start/stop the groups, so I have the functionaliy in the GUI.

Thanks for the fast reply.

Btw. I am relatively unskilled in Python, since my main programming language has been C++, but I'd like to do some Python work, so what is the current Roadmap? Should I just begin to pick up Issues, which I am interested?

@Houston4444
Copy link
Owner

To mention is that RaySession 0.13.0 client names a bit mixed up. E.g. the predifined like guitarix or carla clientnames stay all lowercase, eaven if renamed in the GUI (like the executable or append app_2, if there are more), other executables can be renamed, if they do not use the NSM protocol and they have their name mixed-case like in the GUI.

Try the last version (github master branch or v0.14.2), you will see that you can rename clients (with right click on client -> rename) with full identifier renaming. Then names will be the same in session panel and in patchbay. You could also set identifier in Add Application dialog.

Btw. I am relatively unskilled in Python, since my main programming language has been C++, but I'd like to do some Python work, so what is the current Roadmap? Should I just begin to pick up Issues, which I am interested?

I am not sure to understand your sentence. If you want to make client slots commanding other clients, then I would make a nsm client, for this I would make a file importing this file : https://github.com/Houston4444/RaySession/blob/master/src/shared/nsm_client.py. In the main file you have to set NSM callbacks as here : https://github.com/Houston4444/RaySession/blob/master/src/shared/nsm_client.py (probably you don't need :dirty:, :switch: and :monitor: capabilities, replace simply this with '::' or '' (empty string).
In theses callbacks run ray_control commands, you will need subprocess for this (subprocess is in python default library).

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

No branches or pull requests

2 participants