]> skyeroc.xyz Git - obs-ctl/commitdiff
Slightly change import structure
authorsbkelley <sb24kelley@gmail.com>
Sat, 6 Dec 2025 00:38:45 +0000 (19:38 -0500)
committersbkelley <sb24kelley@gmail.com>
Sat, 6 Dec 2025 00:38:45 +0000 (19:38 -0500)
src/obs_ctl/app.py
src/obs_ctl/interface/__init__.py
src/obs_ctl/interface/molecule/__init__.py
src/obs_ctl/interface/molecule/settings_block/__init__.py

index 8f314693b625a9957f39b8cd2b7075369ae936c6..a588149c8b40c49367ce199918f1db81e761b47a 100644 (file)
@@ -8,7 +8,7 @@ from textual.widgets import Footer, Header, Input
 
 # need to import log to initalize logging
 from . import data, log
-from .interface import RecordControls, StatsDisplay, SettingsBlock, obs, settings_block
+from .interface import RecordControls, StatsDisplay, SettingsBlock, obs, OBSCTLPane, OBSWebSocketPane, OBSSettingsPane
 
 logger = getLogger(__name__)
 
@@ -34,13 +34,21 @@ class OBSCtlApp(App):
                     yield SettingsBlock(id="settings_container", classes="section")
                 with HorizontalGroup(id="bottom_block", classes="block"):
                     yield StatsDisplay(id="stats_display", classes="section")
-
+    
+    def on_mount(self, message):
+        api: obs.API = self.query_exactly_one("#api")
+        obs_websocket_pane = self.query_exactly_one("#obs_websocket_pane")
+        host_setting = obs_websocket_pane.host
+        port_setting = obs_websocket_pane.port
+        password_setting = obs_websocket_pane.password
+        timeout_setting = obs_websocket_pane.timeout
+        api.connect(host=host_setting, port=port_setting, password=password_setting, timeout=timeout_setting)
 
     @on(obs.API.Report, "#api")
     def on_api_report(self, message: obs.API.Report):
         self.update_monitors(message.data)
     
-    # @on(obs.API.Report, "#api")(on_api_report)
+    # on_api_report = on(obs.API.Report, "#api")(on_api_report)
 
 
     @on(RecordControls.RecordStarted, "#record_controls")
@@ -76,6 +84,7 @@ class OBSCtlApp(App):
     @on(RecordControls.OBSWSConnected, "#record_controls")
     def on_obs_ws_connected(self, message: RecordControls.OBSWSConnected):
         self._query_api("connect")
+        self.query_exactly_one("#")
     
 
     @on(RecordControls.OBSWSDisconnected, "#record_controls")
@@ -87,7 +96,7 @@ class OBSCtlApp(App):
         api: obs.API = self.query_exactly_one("#api")
         getattr(api, query)(*args, **kwargs)
 
-    @on(settings_block.OBSSettingsPane.RecordPathChanged, "#settings-content")
+    @on(OBSSettingsPane.RecordPathChanged, "#obs_settings_pane")
     def on_settings_block_record_path_changed(self, message):
         api: obs.API = self.query_exactly_one("#api")
         api.set_record_path(message.value)
index fb735f21ec057a2c8bc70823fc02122f46066a7b..6309dafe711f21e1e72e6cb5a01e42d74dffd5c1 100644 (file)
@@ -1,4 +1,3 @@
 """Provides RecordControls, OBSSettingsPane, StatsDisplay, and the obs module"""
-from .molecule import RecordControls, SettingsBlock, StatsDisplay
-from .molecule import settings_block
+from .molecule import RecordControls, SettingsBlock, StatsDisplay, OBSWebSocketPane, OBSSettingsPane, OBSCTLPane
 from . import obs
\ No newline at end of file
index a880ff201eb3934bc4213ee3bfb2217ad217933c..564762fb1e5310650725f493b9f5f11c017b2914 100644 (file)
@@ -5,4 +5,4 @@ Uses obs_ctl.interface.element
 from .record_controls import RecordControls
 from .settings_block import SettingsBlock
 from .stats_display import StatsDisplay
-from .settings_block import pane
\ No newline at end of file
+from .settings_block import SettingsBlock, OBSCTLPane, OBSSettingsPane, OBSWebSocketPane
\ No newline at end of file
index e414d1d413f312842b0385829476868383a1206f..274a1928f9f24e3ee8ab2a3581ba169255345e86 100644 (file)
@@ -1 +1 @@
-from .settings_block import SettingsBlock, OBSSettingsPane
\ No newline at end of file
+from .settings_block import SettingsBlock, OBSSettingsPane, OBSWebSocketPane, OBSCTLPane
\ No newline at end of file