yield Footer()
yield obs.API(1, id="api")
logger.debug("Composing OBSCtlApp")
- with ScrollableContainer(id="content_container"):
- with Horizontal(id="blocks_h_container1", classes="blocks_h_containers"):
- yield RecordControls(id="record_controls")
- yield SettingsBlock(id="settings_container")
- yield StatsDisplay(id="stats_display")
+ with Horizontal(id="top_block", classes="block"):
+ yield RecordControls(id="record_controls", classes="section")
+ yield SettingsBlock(id="settings_container", classes="section")
+ yield StatsDisplay(id="stats_display", classes="section")
@on(obs.API.Report, "#api")
#top_block {
- min-height:10;
-}
+ RecordControls {
+ Grid {
+ grid-size:2;
+ grid-rows:5;
+ min-height:10;
+ }
+ .bool_control--light {
+ background:$panel;
+ text-align:center;
+ align:center bottom;
+ }
+ .bool_control--true_button {
+ width:1fr;
+ # height:1fr;
+ }
+ .bool_control--false_button {
+ width:1fr;
+ # height:1fr;
+ }
+ .record_controls--output_control {
+ background:$surface;
+ border:blank;
+ }
-BoolControl {
- background:$surface;
- border:blank;
+ .record_controls--obsws_control {
+ background:$background;
+ border:solid $primary;
+ }
+ }
+ SettingsBlock {
+ OBSSettings {
+ .obssettingspane--input {
+ width:1fr;
+ }
+ Grid {
+ grid-size:2 1;
+ grid-columns:21 1fr;
+ Label {
+ width:1fr;
+ text-align:right;
+ padding-right:1;
+ }
+ }
+ }
+ }
}
StatsDisplay {
- height:8;
-}
-
-TextReadout {
- border:solid $primary;
- .text_readout--label {
- height:1;
- align:center middle;
+ Grid {
+ grid-size:4;
+ grid-rows:4;
+ min-height:8;
}
- .text_readout--text {
- align:center middle;
+ TextReadout {
+ border:solid $primary;
+ width:1fr;
+ background:$surface;
+ .text_readout--label {
+ height:1;
+ align:center middle;
+ }
+ .text_readout--text {
+ align:center middle;
+ }
}
-}
\ No newline at end of file
+}
"""
DEFAULT_CSS = """
- .bool_control--light {
- background:$panel;
- text-align:center;
- align:center bottom;
- width:1fr;
- height:1;
- }
- .bool_control--true_button {
- width:1fr;
- height:1fr;
- }
- .bool_control--false_button {
- width:1fr;
- height:1fr;
- }
+ # .bool_control--light {
+ # background:$panel;
+ # text-align:center;
+ # align:center bottom;
+ # width:1fr;
+ # height:1;
+ # }
+ # .bool_control--true_button {
+ # width:1fr;
+ # height:1fr;
+ # }
+ # .bool_control--false_button {
+ # width:1fr;
+ # height:1fr;
+ # }
"""
COMPONENT_CLASSES = {
"bool_control--light",
text_readout--text
"""
DEFAULT_CSS = """
- TextReadout {
- width:1fr;
- background:$surface;
- }
+ # TextReadout {
+ # width:1fr;
+ # background:$surface;
+ # }
"""
COMPONENT_CLASSES = {
"text_readout--label",
|OBSWSDisconnected|Posted when obsws_disconnected is set False.|||
"""
DEFAULT_CSS = """
- Grid {
+ /*Grid {
grid-size:2;
grid-rows:5;
- }
+ }*/
"""
+ COMPONENT_CLASSES = {
+ "record_controls--control",
+ "record_controls--output_control",
+ "record_controls--obsws_control"
+ }
recording: reactive[bool] = reactive(False)
paused: reactive[bool] = reactive(False)
streaming: reactive[bool] = reactive(False)
true_label="Connect",
false_label="Disconnect",
id="obsws_control",
+ classes = "record_controls--control record_controls--obsws_control"
)
- yield BoolControl(False, label="Record", id="record_control")
- yield BoolControl(False, label="Stream", id="stream_control")
+ yield BoolControl(False, label="Record", id="record_control", classes="record_controls--control record_controls--output_control")
+ yield BoolControl(False, label="Stream", id="stream_control", classes="record_controls--control record_controls--output_control")
yield BoolControl(
False,
label="Pause",
true_label="Pause",
false_label="Unpause",
swap_red=True,
- id="pause_control"
+ id="pause_control",
+ classes="record_controls--control record_controls--output_control"
)
class OBSSettings(TabPane):
DEFAULT_CSS = """
- .obssettingspane--input {
- width:1fr;
- }
- Grid {
- grid-size:2 1;
- grid-columns:21 1fr;
- Label {
- width:1fr;
- text-align:right;
- padding-right:1;
- }
- }
+ # .obssettingspane--input {
+ # width:1fr;
+ # }
+ # Grid {
+ # grid-size:2 1;
+ # grid-columns:21 1fr;
+ # Label {
+ # width:1fr;
+ # text-align:right;
+ # padding-right:1;
+ # }
+ # }
"""
COMPONENT_CLASSES = {
"obssettingspane--input",
stats_display--dropped_enc
"""
DEFAULT_CSS = """
- Grid {
- grid-size:4;
- grid-rows:4;
- }
+ /* StatsDisplay {
+ Grid {
+ grid-size:4;
+ grid-rows:4;
+ min-height:8;
+ }
+ TextReadout {
+ border:solid $primary;
+ .text_readout--label {
+ height:1;
+ align:center middle;
+ }
+ .text_readout--text {
+ align:center middle;
+ }
+ }
+ }*/
"""
COMPONENT_CLASSES = {
"stats_display--cpu",