Compare commits
66 Commits
main
...
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 | |||
| c448f2e1c7 | |||
| c0107fcd8f | |||
| 79d5e31031 | |||
| 817114860d | |||
| 1cb1bae4e1 | |||
| 97a73132a3 | |||
| 48246fe21c | |||
| 8745bb22ed | |||
| 57be6c2ae5 | |||
| 8da4c27904 | |||
| b6ec056734 | |||
| 9bbfa88de0 | |||
| 0bdba27e1f | |||
| f68b84b007 | |||
| d754f46d58 | |||
| a3d21b4441 | |||
| e6b7d4fb24 | |||
| 9d1bc074b6 | |||
| 138b670be1 | |||
| ad4dd98f67 | |||
| 553d696233 | |||
| 18ec2efac4 | |||
| 60fdb067b9 | |||
| 82c82f5c89 | |||
| 1623007d94 | |||
| 24c18db3c9 | |||
| 60c9f5c2a4 | |||
| a88508018c |
@@ -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.
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.
BIN
Content/Levels/Lidinis360/Lidinis360MultiInstance.umap
Normal file
BIN
Content/Levels/Lidinis360/Lidinis360MultiInstance.umap
Normal file
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.
Binary file not shown.
Binary file not shown.
@@ -415,6 +415,32 @@
|
||||
{
|
||||
"Name": "ElectraPlayer",
|
||||
"Enabled": true
|
||||
},
|
||||
{
|
||||
"Name": "AvidDNxHDDecoderElectra",
|
||||
"Enabled": true,
|
||||
"SupportedTargetPlatforms": [
|
||||
"Win64"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "AppleProResDecoderElectra",
|
||||
"Enabled": true,
|
||||
"SupportedTargetPlatforms": [
|
||||
"Win64"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "HAPDecoderElectra",
|
||||
"Enabled": true,
|
||||
"SupportedTargetPlatforms": [
|
||||
"Win64",
|
||||
"Mac"
|
||||
]
|
||||
},
|
||||
{
|
||||
"Name": "VPxDecoderElectra",
|
||||
"Enabled": true
|
||||
}
|
||||
]
|
||||
}
|
||||
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