class Obsctl::TUI::IpcSessionClient

Overview

Normal TUI client that subscribes and sends commands over local IPC.

Defined in:

obsctl/tui/session_client.cr

Constructors

Instance Method Summary

Instance methods inherited from class Obsctl::TUI::SessionClient

close : Nil close, connect : Nil connect, dump_config : Nil dump_config, input_names : Array(String) input_names, mute(target : String, muted : Bool) : Nil mute, next_event : OBS::Protocol::Event | Nil next_event, next_log : String | Nil next_log, next_snapshot : OBS::State::ObsSnapshot | Nil next_snapshot, reconnect_obs : Nil reconnect_obs, reload_config : Nil reload_config, scene_names : Array(String) scene_names, set_scene(target : String) : Nil set_scene, set_volume(target : String, percent : Int32) : Nil set_volume, snapshot : OBS::State::ObsSnapshot snapshot, toggle_mute(target : String) : Nil toggle_mute, validate_config : Nil validate_config

Constructor Detail

def self.new(client : IPC::UnixClient = IPC::UnixClient.new) #

[View source]

Instance Method Detail

def close : Nil #

Closes the IPC session.


[View source]
def connect : Nil #

Connects to the local server, subscribes to state/events/logs, and starts a reader fiber for pushed messages and command responses.


[View source]
def dump_config : Nil #

Requests server-side dump-config execution.


[View source]
def input_names : Array(String) #

Returns input names from the latest server snapshot.


[View source]
def mute(target : String, muted : Bool) : Nil #

Sends a mute or unmute command to the local server.


[View source]
def next_event : OBS::Protocol::Event | Nil #

Returns the next queued OBS event from server fanout.


[View source]
def next_log : String | Nil #

Returns the next queued server log message.


[View source]
def next_snapshot : OBS::State::ObsSnapshot | Nil #

Returns the latest pushed server state snapshot.


[View source]
def reconnect_obs : Nil #

Requests explicit OBS reconnection from the server.


[View source]
def reload_config : Nil #

Requests server-side config reload.


[View source]
def scene_names : Array(String) #

Returns scene names from the latest server snapshot.


[View source]
def set_scene(target : String) : Nil #

Sends a scene-change command to the local server.


[View source]
def set_volume(target : String, percent : Int32) : Nil #

Sends a volume command to the local server.


[View source]
def snapshot : OBS::State::ObsSnapshot #

Returns the latest pushed snapshot, requesting one if none has arrived.


[View source]
def toggle_mute(target : String) : Nil #

Sends a toggle-mute command to the local server.


[View source]
def validate_config : Nil #

Requests server-side config validation.


[View source]