Compare commits
38 Commits
multi-gpu
...
joakem-vid
| Author | SHA1 | Date | |
|---|---|---|---|
| 10a2e23c19 | |||
| 6b3b52966d | |||
| cad01ca11d | |||
| 22566b6767 | |||
| 98780c7aae | |||
| 0f9d0455ef | |||
| aa350d3c44 | |||
| 4fbd6d0538 | |||
| 82f9d06c77 | |||
| 92ab98604a | |||
| 7577315b80 | |||
| fa12826333 | |||
| 13293bf32f | |||
| c43c96dbf1 | |||
| 686b148d3f | |||
| 64b69b8ede | |||
| a283fdeff7 | |||
| b3ed8e9223 | |||
| 865ddf77aa | |||
| 485b18d567 | |||
| e680e9b0c4 | |||
| b1c92a9ba6 | |||
| bfdf5be5d6 | |||
| f30dc73f94 | |||
| b544a28e60 | |||
| 901dbed60d | |||
| 8dab229815 | |||
| eeaf50f4a3 | |||
| 8ec1dfc67b | |||
| a8ba344f0d | |||
| 91ec771a47 | |||
| ca0c0683ac | |||
| 15a54c6553 | |||
| 24a363cffd | |||
| b15077c827 | |||
| 5ac5f44baf | |||
| cb176cb748 | |||
| b325c16ef9 |
@@ -2,7 +2,7 @@
|
||||
|
||||
[/Script/EngineSettings.GameMapsSettings]
|
||||
GameDefaultMap=/Engine/Maps/Templates/OpenWorld
|
||||
EditorStartupMap=/Game/Levels/Lidinis360/Lidinis360.Lidinis360
|
||||
EditorStartupMap=/Game/Levels/JoakemVideoClip/Joakem.Joakem
|
||||
|
||||
[/Script/Engine.RendererSettings]
|
||||
r.AllowStaticLighting=False
|
||||
@@ -84,10 +84,12 @@ FontDPI=72
|
||||
+ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/DEV_TheStudio")
|
||||
+ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/DEV_TheStudio")
|
||||
bUseFixedFrameRate=True
|
||||
FixedFrameRate=24.000000
|
||||
FixedFrameRate=25.000000
|
||||
CustomTimeStepClassName=/Game/TheStudio/Media/Sync/BlackMagicGencode.BlackMagicGencode_C
|
||||
TimecodeProviderClassName=/Game/TheStudio/Media/Sync/DanteAudioTimecodeProvider.DanteAudioTimecodeProvider_C
|
||||
NearClipPlane=0.100000
|
||||
GenerateDefaultTimecodeFrameRate=(Numerator=25,Denominator=1)
|
||||
GenerateDefaultTimecodeFrameDelay=2.000000
|
||||
|
||||
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
|
||||
bEnablePlugin=True
|
||||
|
||||
BIN
Content/LevelSnapshots/Joakem/01_THEME_1_INTRO_WIDE_SHOT.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/01_THEME_1_INTRO_WIDE_SHOT.uasset
Normal file
Binary file not shown.
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/05_THEME_1_ANGRY_1.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/05_THEME_1_ANGRY_1.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/06_THEME_1_ANGRY_2.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/06_THEME_1_ANGRY_2.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/07_THEME_1_ANGRY_3.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/07_THEME_1_ANGRY_3.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/08_THEME_1_ANGRY_4.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/08_THEME_1_ANGRY_4.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/09_THEME_2_CHORUS.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/09_THEME_2_CHORUS.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/10_THEME_2_CHORUS.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/10_THEME_2_CHORUS.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/11_THEME_2_CHORUS.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/11_THEME_2_CHORUS.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/12_THEME_2_INTRO.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/12_THEME_2_INTRO.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/13_THEME_2_INTRO.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/13_THEME_2_INTRO.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/14_THEME_2_INTRO.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/14_THEME_2_INTRO.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/15_THEME_2_BLACK_METAL.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/15_THEME_2_BLACK_METAL.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/16_THEME_2_TSUNAMI.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/16_THEME_2_TSUNAMI.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/17_THEME_2_TSUNAMI_2.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/17_THEME_2_TSUNAMI_2.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/18_THEME_2_TSUNAMI_3.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/18_THEME_2_TSUNAMI_3.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/19_THEME_2_EARTHQUAKE.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/19_THEME_2_EARTHQUAKE.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/20_THEME_2_EARTHQUAKE.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/20_THEME_2_EARTHQUAKE.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/21_THEME_3_CHORUS.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/21_THEME_3_CHORUS.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/22_THEME_3_CHORUS.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/22_THEME_3_CHORUS.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/23_THEME_3_CHORUS.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/23_THEME_3_CHORUS.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/24_THEME_3_KEYBOARD.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/24_THEME_3_KEYBOARD.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/25_THEME_3_KEYBOARD.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/25_THEME_3_KEYBOARD.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/26_THEME_3_SPOTLIGHT.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/26_THEME_3_SPOTLIGHT.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/27_THEME_3_OUTRO.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/27_THEME_3_OUTRO.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/28_THEME_3_OUTRO.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/28_THEME_3_OUTRO.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/29_THEME_3_OUTRO.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/29_THEME_3_OUTRO.uasset
Normal file
Binary file not shown.
BIN
Content/LevelSnapshots/Joakem/30_THEME_3_OUTRO.uasset
Normal file
BIN
Content/LevelSnapshots/Joakem/30_THEME_3_OUTRO.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/Levels/JoakemVideoClip/DEV_Remote.uasset
Normal file
BIN
Content/Levels/JoakemVideoClip/DEV_Remote.uasset
Normal file
Binary file not shown.
BIN
Content/Levels/JoakemVideoClip/Joakem.umap
Normal file
BIN
Content/Levels/JoakemVideoClip/Joakem.umap
Normal file
Binary file not shown.
BIN
Content/Levels/JoakemVideoClip/JoakemPlayer_Video.uasset
Normal file
BIN
Content/Levels/JoakemVideoClip/JoakemPlayer_Video.uasset
Normal file
Binary file not shown.
BIN
Content/Levels/JoakemVideoClip/MetalVideoClipSingleInstance.umap
Normal file
BIN
Content/Levels/JoakemVideoClip/MetalVideoClipSingleInstance.umap
Normal file
Binary file not shown.
BIN
Content/Levels/JoakemVideoClip/RemoteWeb_Joakem.uasset
Normal file
BIN
Content/Levels/JoakemVideoClip/RemoteWeb_Joakem.uasset
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Content/Levels/MetalVideoClip/MetalVideoClipSingleInstance.umap
Normal file
BIN
Content/Levels/MetalVideoClip/MetalVideoClipSingleInstance.umap
Normal file
Binary file not shown.
BIN
Content/Levels/SplatLevel/Lidinis2.uasset
Normal file
BIN
Content/Levels/SplatLevel/Lidinis2.uasset
Normal file
Binary file not shown.
BIN
Content/Levels/SplatLevel/Splat6_low1.uasset
Normal file
BIN
Content/Levels/SplatLevel/Splat6_low1.uasset
Normal file
Binary file not shown.
Binary file not shown.
BIN
Content/Levels/SplatLevel/SplatLevel2.umap
Normal file
BIN
Content/Levels/SplatLevel/SplatLevel2.umap
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
153
Source/git_management.bat
Normal file
153
Source/git_management.bat
Normal file
@@ -0,0 +1,153 @@
|
||||
# plugin_prelaunch.py - With connection check
|
||||
from switchboard.devices.device_base import Device, DeviceStatus
|
||||
from switchboard.devices.device_widget_base import DeviceWidget
|
||||
from switchboard.switchboard_logging import LOGGER
|
||||
from switchboard.config import IntSetting, StringSetting
|
||||
|
||||
from PySide6 import QtCore
|
||||
|
||||
|
||||
class DevicePreLaunch(Device):
|
||||
"""PreLaunch device - executes batch file on connect"""
|
||||
|
||||
csettings = {
|
||||
'batch_file': StringSetting(
|
||||
attr_name="batch_file",
|
||||
nice_name="Batch File Path",
|
||||
value="D:\\Projects\\DEV_TheStudio_Plugin\\Source\\git_management.bat",
|
||||
tool_tip="Full path to the batch file on the remote machine",
|
||||
category="PreLaunch Settings",
|
||||
),
|
||||
'port': IntSetting(
|
||||
attr_name="port",
|
||||
nice_name="Listener Port",
|
||||
value=2980,
|
||||
tool_tip="Port of SwitchboardListener",
|
||||
category="Network Settings",
|
||||
),
|
||||
}
|
||||
|
||||
def __init__(self, name, address, **kwargs):
|
||||
super().__init__(name, address, **kwargs)
|
||||
LOGGER.info(f"PreLaunch device '{name}' created")
|
||||
|
||||
def device_settings(self):
|
||||
return super().device_settings()
|
||||
|
||||
def connect(self):
|
||||
"""Called when connect button clicked"""
|
||||
LOGGER.info(f">>> {self.name}: connect() called!")
|
||||
|
||||
# First, check if listener is reachable
|
||||
LOGGER.info(f">>> {self.name}: Checking listener connection...")
|
||||
|
||||
# Try a simple connectivity test
|
||||
try:
|
||||
# Send a simple test message
|
||||
test_message = {'command': 'state'}
|
||||
success, response = self.unreal_client.send_message(test_message)
|
||||
|
||||
if not success:
|
||||
LOGGER.error(f">>> {self.name}: Cannot connect to listener!")
|
||||
self.device_qt_handler.signal_device_connect_failed.emit(self)
|
||||
return
|
||||
|
||||
LOGGER.info(f">>> {self.name}: Listener responded: {response}")
|
||||
|
||||
except Exception as e:
|
||||
LOGGER.error(f">>> {self.name}: Connection test failed: {e}")
|
||||
self.device_qt_handler.signal_device_connect_failed.emit(self)
|
||||
return
|
||||
|
||||
# Set status to READY
|
||||
self.status = DeviceStatus.READY
|
||||
LOGGER.info(f">>> {self.name}: Status set to READY, executing batch file...")
|
||||
|
||||
# Execute batch file
|
||||
self.execute_batch_file()
|
||||
|
||||
def disconnect(self):
|
||||
"""Called when disconnect button clicked"""
|
||||
LOGGER.info(f">>> {self.name}: disconnect() called!")
|
||||
self.status = DeviceStatus.DISCONNECTED
|
||||
|
||||
def execute_batch_file(self):
|
||||
"""Execute the batch file"""
|
||||
batch_file = self.batch_file.get_value()
|
||||
|
||||
if not batch_file:
|
||||
LOGGER.warning(f" {self.name}: No batch file configured")
|
||||
return False
|
||||
|
||||
LOGGER.info(f">>> {self.name}: ========== EXECUTING ==========")
|
||||
LOGGER.info(f">>> {self.name}: File: {batch_file}")
|
||||
LOGGER.info(f">>> {self.name}: Address: {self.address}")
|
||||
LOGGER.info(f">>> {self.name}: Port: {self.port.get_value()}")
|
||||
|
||||
try:
|
||||
message = {
|
||||
'command': 'start',
|
||||
'bTryKill': False,
|
||||
'bUpdateWorkingDir': False,
|
||||
'caller': self.name,
|
||||
'name': 'cmd.exe',
|
||||
'args': f'/c "{batch_file}"',
|
||||
'working_dir': '',
|
||||
}
|
||||
|
||||
LOGGER.info(f">>> {self.name}: Sending message...")
|
||||
success, msg = self.unreal_client.send_message(message)
|
||||
|
||||
if success:
|
||||
LOGGER.info(f">>> {self.name}: SUCCESS!")
|
||||
LOGGER.info(f">>> Response: {msg}")
|
||||
return True
|
||||
else:
|
||||
LOGGER.error(f">>> L {self.name}: Send failed!")
|
||||
return False
|
||||
|
||||
except Exception as e:
|
||||
LOGGER.error(f">>> L {self.name}: ERROR: {e}")
|
||||
import traceback
|
||||
LOGGER.error(traceback.format_exc())
|
||||
return False
|
||||
|
||||
|
||||
class DeviceWidgetPreLaunch(DeviceWidget):
|
||||
"""Widget for PreLaunch device"""
|
||||
|
||||
def __init__(self, name, device_hash, address, icons, parent=None):
|
||||
super().__init__(name, device_hash, address, icons, parent=parent)
|
||||
LOGGER.info(f"PreLaunch widget created for {name}")
|
||||
|
||||
def _add_control_buttons(self):
|
||||
"""Add connect button"""
|
||||
super()._add_control_buttons()
|
||||
|
||||
CONTROL_BUTTON_ICON_SIZE = QtCore.QSize(21, 21)
|
||||
|
||||
self.connect_button = self.add_control_button(
|
||||
icon_size=CONTROL_BUTTON_ICON_SIZE,
|
||||
checkable=True,
|
||||
tool_tip='Connect and execute batch file',
|
||||
hover_focus=False,
|
||||
name='connect')
|
||||
|
||||
self.connect_button.clicked.connect(self.connect_button_clicked)
|
||||
|
||||
def connect_button_clicked(self):
|
||||
"""Handle connect button click"""
|
||||
if self.connect_button.isChecked():
|
||||
self._connect()
|
||||
else:
|
||||
self._disconnect()
|
||||
|
||||
def _connect(self):
|
||||
"""Connect"""
|
||||
self.connect_button.setChecked(True)
|
||||
self.signal_device_widget_connect.emit(self)
|
||||
|
||||
def _disconnect(self):
|
||||
"""Disconnect"""
|
||||
self.connect_button.setChecked(False)
|
||||
self.signal_device_widget_disconnect.emit(self)
|
||||
Reference in New Issue
Block a user