Automatic Configuration Load at Start Up

Hi hivemind,

I use 3 different instances of OSC and have all 3 instances of the application automatically launch at start up.
I was curious if there was a way that anyone can think of for when each instance of the application launches at start up to already have the correct configuration loaded so that all I have to do is press the "start" button?

I do notice that when the application starts up it has the last configuration already preloaded, but it has that loaded in all 3 instances. So that only works for one of the instances, not the other two.

If I need to clarify anything let me know.

Thanks in advance!

You can launch the server with command line arguments and bypass the launcher entirely, I don't know how it's supposed to be done on windows but in the end it should be something like running this in a terminal:

path\to\open-stage-control.exe -- --load path\to\session.json --port 9090

Alternatively if you want to keep the launcher around you can specify a different config file:

path\to\open-stage-control.exe -- --config-file path\to\config.json

or a different cache directory (where to look for config.json and store browser-related cache)

path\to\open-stage-control.exe -- --cache-dir path\to\cache\

(Server configuration - Open Stage Control)

1 Like

What's the exact syntax for client size and position? (running Linux/Ubuntu)

I tried in vain:

--client-size 1200,800
--client-size "1200,800"
--client-size (1200,800)
--client-size [1200,800]
etc.

I'd like to open two clients each on a separate monitor screen (attached on a single computer).

The first two are correct, but the option is not parsed correctly, I'll fix that in 1.24.1. The option doesn't support specifying different values for multiple client windows though.

Ah, ok. Thanks.

This bash script successfully opens two client sessions, one fullscreen and one default:

path\to\open-stage-control.exe --load path\to\session_1.json --port 9000 --fullscreen &
path\to\open-stage-control.exe --load path\to\session_2.json --port 9001

Wouldn't it work (after the fix) if changed to something like this? :

path\to\open-stage-control.exe --load path\to\session_1.json --port 9000 --client-position 0,0 --client-size 1200,800 &
path\to\open-stage-control.exe --load path\to\session_2.json --port 9001 --client-position 1200,0 --client-size 2560,1920

Yes with multiple server instances that won't be a problem.

I've found a workaround by using a utility called 'xdotool'. I can use it in the meantime until the fix.

path\to\open-stage-control.exe --load path\to\session_1.json --port 9000 --fullscreen &
sleep 8
xdotool key super+shift+Right
path\to\open-stage-control.exe --load path\to\session_2.json --port 9001 --fullscreen &
sleep 8
xdotool key super+shift+Left

'sleep 8' to give the session enough time to load
'xdotool key super+shift+Right/Left' to move the active window to the other monitor/screen

Thanks for the quick fix!
It works like a charm now.

Apologies for my absence on this. Thank you for your response!!
I'm most of the way there with this but one issue I've encountered is after putting this commands in the command prompt (I'm on windows), the GUI window for the session pops up but errors out giving me a "this.parent.isVisible is not a function".

I've haven't seen this before so it leads me to believe it is something to do with it launching from the command prompt...maybe?
Any suggestions?

Here's what I'm putting in the command prompt:

"path\to\open-stage-control.exe" -l "\path\to\config.config" -p 7500
"path\to\open-stage-control.exe" -l "\path\to\config.config" -p 7500

This doesn't look right:

  • the -l option expect an osc session file (.json), not a config file, did you mean to write
    --config-file instead ?
  • you need a double dash before the options on windows (see my first reply)
1 Like

This worked. Thank you!

So I've also got a mac and I'm trying to implement the same solution over there. I've tried setting this up as:

path/to/open-stage-control.app --config-file /path/to/config.config
or
open path/to/open-stage-control.app --config-file /path/to/config.config
or
"path/to/open-stage-control.app" --config-file "/path/to/config.config"
or
open /path/to/config.config -a /path/to/open-stage-control.app
any variation of those and unfortunately I can't get it to work. And instead of 'open' I've tried 'load' but that wasn't recognized. What might I be missing for the mac version?

THANKS!

Can you try

open open-stage-control.app --args --config-file /path/to/config.config

Thanks for the response. I just tried it. It opens up the app but unfortunately, still doesn't seem to load the config file.

Sorry my knowledge of mac usages is limited, what about the following:

cd /Applications/open-stage-control.app/Contents/MacOS
./open-stage-control --config-file /path/to/config.config
1 Like

Just to say the latest command works

stagiaire@macMini2022 ~ % /Applications/open-stage-control.app/Contents/MacOS/open-stage-control --config-file Documents/test.config &

EDIT : to add a widget on Sonoma

EDIT Important : this is not true... nothing is load

by the way @jean-emmanuel it would be useful to have the name of the config file loaded displayed in the window title no ?

I did try something like this before. Unfortunately, it still only opens the application. For whatever reason, it doesn't load the configuration file.

Strange that you got it working and I don't. I did a chmod command to be sure it wasn't a permissions/ownership issue but when it launches it just launches the application without loading the file and gives no errors or other feedback...

maybe check again the relative path of your config file ? don't know :thinking:

Yeah, it is correct. Would the version of OS matter. I'm on ventura?