The session editor can be enabled from the sidepanel. Once enabled, clicking on a widget will make it the selected widget.
The root panel can be selected by clicking on the "Root" button in the sidepanel.
Right clicking / long touch on a widget or on a tab will also display a context menu providing useful utilities :
Edit parent: select widget's parent for edition
Copy: copy widget's data
Cut: copy widget's data and delete selected widget
Wrap in: wrap the widget in a new container
Paste: paste copied widget in selected container
Paste: paste the widget as is
ID + 1: increments the id of the copied widget (and all its children) before pasting
Clone: create a clone widget targetting the copied widget
Add widget: create a new widget in selected container
Add tab: create a new tab in selected container
Delete: delete selected tab or widget
When working on a sessions that has been loaded from the server's filesystem, it is possible to save it remotely. When doing so, all the other clients working on the same session will be reloaded automatically.
It is possible to limit this feature to specific client addresses by using the server's
--remote-saving option. For example:
open-stage-control --remote-saving 127.0.0.1|192.168.0.10
Will disable remote saving except for the clients with ip addresses
127.0.0.1 (the server's local address) and
Session can be exported as a
.json file on the client's filesystem.
Loading a session file doesn't affect other clients.
By default, widget resizing / dragging snaps to a 10 pixel wide grid. Its width can be customized in the editor (when it's enabled). Setting its width to 1 will disable it. Note that the grid doesn't affect manual setting of a widget's size / position.
Selected widget's properties are displayed and can be modified in the sidepanel. The widgets reference section lists the available properties for each widget type. Property fields are all multiline (press
shift + enter for new line).
Properties are written in JSON, with some flexibility brought by the JSON5 format. For example, doubles quotes around object keys are not mandatory. All input will be converted to standard JSON.
Widget resizing / dragging¶
Selected widget can be resized using its south, south-east and east handles. It can be dragged with its north-west handle. Using this feature will convert position and size values to plain number values, thus breaking previously set percent or inherited values.
The following shortcuts are always available:
||export session as...|
||open a session file|
The following shortcuts are available only when the editor is enabled:
||Multi-widget selection. Widgets can be toggled from selection by clicking on them individually.|
||Draw a selection rectangle and attempt to select widgets in it (starts by selecting the widget under the cursor). If
||Edit selected widget's label|
||Delete selected widgets|
||Copy selected widgets|
||Cut selected widgets|
||Paste clipboard in selected widget|
||Paste and increment id|
||Move selected widgets (1 grid unit, hold
||Resize selected widgets (1 grid unit, hold
||Select current widget's siblings and itself|
||Cancel current widget selection|
||Select current widget's parent|
||Select current widget's first child|
||Select current widget's next sibling|
||Select current widget's previous sibling|
ctrl except on MacOs (
* Multi-widgets editing
- selection can only contain sibling widgets (same direct parent)
- context-menu actions and properties changes apply to all selected widgets
- resizing / dragging will affect all selected widgets, relatively to the first selected widget