-
Notifications
You must be signed in to change notification settings - Fork 0
Command Line and D Bus
The rostrum command can drive the copy of Rostrum that is already running. Use it for Stream
Deck buttons, KDE Connect commands, or your own scripts. The same controls are on the session
D-Bus for programs that prefer it.
Nothing listens on the network. D-Bus is local to your desktop session, so only programs running as you, on this computer, can use these controls.
rostrum --toggle-mic # also --mute-mic and --unmute-mic
rostrum --scene "Just Chatting"
rostrum --action panic_mute # any id from --list-actions
rostrum --set-volume game=0.8 # or game=80%
rostrum --list-scenes # also --list-actions and --list-buses| Option | What it does |
|---|---|
--toggle-mic |
Mutes the mic if it is live, unmutes it if it is muted. |
--mute-mic, --unmute-mic
|
Mutes or unmutes the mic. Use only one of the three mic options at a time. |
--scene <name> |
Switches to the scene with that name. Upper and lower case do not matter. |
--action <id> |
Runs a hotkey action, as if you pressed its shortcut. Can be repeated. See Action ids. |
--set-volume <bus>=<level> |
Sets a fader. <bus> is a bus id or name, mic for mic gain, or stream or phones for the masters. <level> is 0 to 1 or a percentage; mic gain goes up to 1.5 (150 %). Can be repeated. |
--list-scenes |
Prints the scene names, one per line, in the Scenes page order. |
--list-actions |
Prints each action id and its name, separated by a tab. |
--list-buses |
Prints the id, level, muted or unmuted, and name of each fader, separated by tabs. |
Levels are fader positions, the same scale the faders use: 1 is the top (0 dB) and 0.5 is half
way up (about −18 dB). --list-buses prints levels the same way, for example:
game 0.50 unmuted Game
- The list options read your saved scenes and print them. They start nothing and change nothing.
- The other options start Rostrum, then apply the change once your scenes are loaded. For
example,
rostrum --mute-micstarts Rostrum with the mic muted.
| Status | Meaning |
|---|---|
| 0 | Done. |
| 1 | Refused: an unknown scene, bus or action, or a level that is not valid. The reason is printed, for example "There is no scene called …". |
| 2 | Rostrum could not be reached. |
The command line never opens a dialog, because there is nobody to answer it. A scene switch from the command line or D-Bus happens at once, even with Confirm before switching scenes on. With Save scene changes automatically off, fader moves you have not saved in the scene you leave are discarded, as the dialog's Switch button would do.
When Rostrum's window is not in front, mic, stream, panic and scene changes made this way show a short on-screen message, like hotkeys do. See Keyboard Shortcuts.
These are the ids for --action and for D-Bus. They are the same actions you can bind in
Settings → Hotkeys; see Keyboard Shortcuts.
| Id | Action |
|---|---|
mute_mic |
Mute mic (toggle) |
mute_stream |
Mute all playback to stream (toggles the Stream master) |
mute_headphones |
Mute headphones (toggles the Headphones master) |
previous_scene, next_scene
|
Previous scene, Next scene |
scene_1 … scene_8
|
Load scene 1 to 8, counted in the Scenes page order |
panic_mute |
Panic mute: mutes the mic and the Stream master; run it again to bring both back |
toggle_sidetone |
Sidetone on or off |
stream_volume_up, stream_volume_down
|
Stream master up or down by 5 % |
push_to_talk, push_to_mute
|
Holds. These need D-Bus PressAction and ReleaseAction; --action refuses them |
mute_bus_<bus id> |
Mute one playback bus, for example mute_bus_music
|
rostrum --list-actions prints the full list, including a mute_bus_… id for every playback bus
in your scenes. A bus action for a bus that is not in the live scene does nothing.
Any tool that can run a command can use these options. For example:
-
KDE Connect: add a command in the KDE Connect settings for your computer, such as
rostrum --toggle-micorrostrum --scene "Be Right Back", and run it from your phone. -
Stream Deck (with a Linux Stream Deck app that can run commands): give each button one
command, such as
rostrum --action panic_muteorrostrum --set-volume music=40%.
The running copy of Rostrum exports the interface dev.getrostrum.Rostrum1 at the object path
/dev/getrostrum/Rostrum/Control, on the service dev.getrostrum.Rostrum.
| Member | What it does |
|---|---|
TriggerAction(s id) |
Runs an action as a shortcut press. Refuses push_to_talk and push_to_mute. |
PressAction(s id), ReleaseAction(s id)
|
Start and end a hold for push to talk or push to mute. A hold also ends when the caller leaves the bus. Other actions run once on press. |
SwitchScene(s name) |
Switches to a scene at once. Case does not matter. |
SetBusVolume(s bus, d position) |
Fader position 0 to 1; mic gain 0 to 1.5. |
SetBusMuted(s bus, b muted), ToggleBusMuted(s bus)
|
Mute a bus, the mic (mic) or a master (stream, phones). |
SetMicMuted(b muted), ToggleMicMute()
|
The mic, like the header button. |
ListScenes() → as |
Scene names, in the Scenes page order. |
ListBuses() → a(ssdb) |
Id, name, position and muted, for each fader of the live scene. |
ListActions() → a(ss) |
Id and name of each action. |
Read-only properties, announced with PropertiesChanged: MicMuted, StreamMuted, Panic,
CurrentScene and Connected (Rostrum is connected to PipeWire).
Errors are dev.getrostrum.Rostrum1.Error.UnknownAction, NoSuchScene, NoSuchBus,
InvalidValue and HoldAction.
Examples:
qdbus6 dev.getrostrum.Rostrum /dev/getrostrum/Rostrum/Control
gdbus call --session --dest dev.getrostrum.Rostrum --object-path /dev/getrostrum/Rostrum/Control \
--method dev.getrostrum.Rostrum1.SwitchScene "Gaming"The interface description is
data/dev.getrostrum.Rostrum1.xml.
cmake --install also puts it in share/dbus-1/interfaces/.
Rostrum is licensed under Apache-2.0. This wiki describes Rostrum 0.1.0.
Repository · Report an issue · Security policy · getrostrum.dev · hello@getrostrum.dev
Start here
Using Rostrum
- Mixer and Buses
- Apps and Routing
- Scenes and Presets
- OBS Setup
- Keyboard Shortcuts
- Command Line and D-Bus
Help and reference
Project