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]
|
[/Script/EngineSettings.GameMapsSettings]
|
||||||
GameDefaultMap=/Engine/Maps/Templates/OpenWorld
|
GameDefaultMap=/Engine/Maps/Templates/OpenWorld
|
||||||
EditorStartupMap=/Game/Levels/Lidinis360/Lidinis360.Lidinis360
|
EditorStartupMap=/Game/Levels/JoakemVideoClip/Joakem.Joakem
|
||||||
|
|
||||||
[/Script/Engine.RendererSettings]
|
[/Script/Engine.RendererSettings]
|
||||||
r.AllowStaticLighting=False
|
r.AllowStaticLighting=False
|
||||||
@@ -84,10 +84,12 @@ FontDPI=72
|
|||||||
+ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/DEV_TheStudio")
|
+ActiveGameNameRedirects=(OldGameName="TP_Blank",NewGameName="/Script/DEV_TheStudio")
|
||||||
+ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/DEV_TheStudio")
|
+ActiveGameNameRedirects=(OldGameName="/Script/TP_Blank",NewGameName="/Script/DEV_TheStudio")
|
||||||
bUseFixedFrameRate=True
|
bUseFixedFrameRate=True
|
||||||
FixedFrameRate=24.000000
|
FixedFrameRate=25.000000
|
||||||
CustomTimeStepClassName=/Game/TheStudio/Media/Sync/BlackMagicGencode.BlackMagicGencode_C
|
CustomTimeStepClassName=/Game/TheStudio/Media/Sync/BlackMagicGencode.BlackMagicGencode_C
|
||||||
TimecodeProviderClassName=/Game/TheStudio/Media/Sync/DanteAudioTimecodeProvider.DanteAudioTimecodeProvider_C
|
TimecodeProviderClassName=/Game/TheStudio/Media/Sync/DanteAudioTimecodeProvider.DanteAudioTimecodeProvider_C
|
||||||
NearClipPlane=0.100000
|
NearClipPlane=0.100000
|
||||||
|
GenerateDefaultTimecodeFrameRate=(Numerator=25,Denominator=1)
|
||||||
|
GenerateDefaultTimecodeFrameDelay=2.000000
|
||||||
|
|
||||||
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
|
[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
|
||||||
bEnablePlugin=True
|
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