Skip to content

Commit 51565d3

Browse files
authored
Merge pull request #1 from soupday/Dev
Dev
2 parents d13ece6 + 10ce9f5 commit 51565d3

File tree

3 files changed

+52
-5
lines changed

3 files changed

+52
-5
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ Changelog
4646

4747
### 2.2.1
4848
- Spotlight error fix.
49+
- Send buttons disabled when waiting for remote response.
50+
- Relink will sync selected characters Link ID back to CC/iC.
4951

5052
### 2.2.0
5153
- Shader name fix.

utp/link.py

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1509,6 +1509,10 @@ class DataLink(QObject):
15091509
service: LinkService = None
15101510
# Data
15111511
data = LinkData()
1512+
#
1513+
enable_request_type_actors = True
1514+
enable_request_type_motions = True
1515+
enable_request_type_scene = True
15121516

15131517

15141518
def __init__(self):
@@ -1844,6 +1848,13 @@ def update_ui(self):
18441848
qt.enable(self.button_sync_lights, self.button_sync_cameras,
18451849
self.button_sync_viewport, self.button_sync_scene)
18461850

1851+
if not self.enable_request_type_actors:
1852+
qt.disable(self.button_send)
1853+
if not self.enable_request_type_motions:
1854+
qt.disable(self.button_animation)
1855+
if not self.enable_request_type_scene:
1856+
qt.disable(self.button_sync_scene)
1857+
18471858
# context info
18481859

18491860
if avatar:
@@ -1928,6 +1939,21 @@ def update_combo_ccic_export_mode(self):
19281939
OPTS.IC_EXPORT_MODE = self.combo_ccic_export_mode.currentText()
19291940
OPTS.write_state()
19301941

1942+
def allow_request_type(self, request_type, enable):
1943+
if request_type == "ACTORS":
1944+
self.enable_request_type_actors = enable
1945+
elif request_type == "MOTIONS":
1946+
self.enable_request_type_motions = enable
1947+
elif request_type == "SCENE":
1948+
self.enable_request_type_scene = enable
1949+
self.update_ui()
1950+
return
1951+
1952+
def reset_request_types(self, enable=True):
1953+
self.enable_request_type_actors = enable
1954+
self.enable_request_type_motions = enable
1955+
self.enable_request_type_scene = enable
1956+
19311957
def show_link_state(self):
19321958
link_service = self.get_link_service()
19331959
if self.is_connected():
@@ -1994,6 +2020,7 @@ def link_stop(self):
19942020
link_service = self.get_link_service()
19952021
if link_service:
19962022
link_service.service_stop()
2023+
self.reset_request_types()
19972024

19982025
def link_disconnect(self):
19992026
link_service = self.get_link_service()
@@ -2048,10 +2075,14 @@ def parse(self, op_code, data):
20482075
if op_code == OpCodes.CONFIRM:
20492076
self.receive_confirm(data)
20502077

2078+
if op_code == OpCodes.RELINK:
2079+
self.receive_relink(data)
2080+
20512081
error_show()
20522082

20532083
def on_connected(self):
20542084
self.update_ui()
2085+
self.reset_request_types()
20552086
self.send_notify("Connected")
20562087

20572088
def send(self, op_code, data=None):
@@ -2394,6 +2425,17 @@ def send_relink(self):
23942425
self.send(OpCodes.RELINK, relink_data)
23952426
self.update_link_status(f"Relink Sent: {actor.name} {actor.get_link_id()}")
23962427

2428+
def receive_relink(self, data):
2429+
relink_data = decode_to_json(data)
2430+
utils.log_info(f"relink reply: {relink_data}")
2431+
from_link_id = relink_data.get("link_id")
2432+
to_link_id = relink_data.get("to_link_id")
2433+
source_name = relink_data.get("name")
2434+
actor = LinkActor.find_actor(from_link_id, search_name=source_name)
2435+
if actor:
2436+
actor.set_link_id(to_link_id)
2437+
self.update_link_status(f"LinkId Sync: {actor.name} {to_link_id}")
2438+
23972439
def send_actors_request(self):
23982440
cc.deduplicate_scene_objects()
23992441
self.send_request("ACTORS")
@@ -2487,9 +2529,9 @@ def send_motions(self, actors=None):
24872529
actor: LinkActor
24882530
for actor in actors:
24892531
if self.motion_prefix:
2490-
motion_name = actor.name + "_" + self.motion_prefix + "_motion"
2532+
motion_name = actor.name + "_" + self.motion_prefix + "_Motion"
24912533
else:
2492-
motion_name = actor.name + "_motion"
2534+
motion_name = actor.name + "_Motion"
24932535
self.update_link_status(f"Exporting Motion: {motion_name}", True)
24942536
self.send_notify(f"Exporting Motion: {motion_name}")
24952537
# Determine export path
@@ -3233,14 +3275,16 @@ def send_request(self, request_type):
32333275
# get actors
32343276
actors = self.get_selected_actors()
32353277
if actors:
3236-
self.update_link_status(f"Sending Request")
3278+
self.update_link_status(f"Sending Request, waiting for response ...")
32373279
self.send_notify(f"Request")
32383280
# send request
32393281
request_data = self.encode_request_data(actors, request_type)
32403282
self.send(OpCodes.REQUEST, request_data)
32413283
# store the actors
32423284
self.data.sequence_actors = actors
32433285
self.data.sequence_type = request_type
3286+
# disable buttons for further requests ...
3287+
self.allow_request_type(request_type, False)
32443288

32453289
def receive_request(self, data):
32463290
self.update_link_status(f"Receiving Request ...")
@@ -3275,6 +3319,7 @@ def receive_confirm(self, data):
32753319
id_tree = actor_data.get("id_tree")
32763320
if request_type in ["SCENE", "MOTIONS", "ACTORS"]:
32773321
self.do_send_update_actors(actors_data, request_type)
3322+
self.allow_request_type(request_type, True)
32783323
error_show()
32793324
return
32803325

utp/options.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ class Options():
2323
MATCH_CLIENT_RATE: bool = True
2424
DATALINK_FRAME_SYNC: bool = False
2525
CC_DELETE_HIDDEN_FACES: bool = True
26-
CC_BAKE_TEXTURES: bool = True
26+
CC_BAKE_TEXTURES: bool = False
2727
CC_EXPORT_MODE: str = "Animation"
2828
CC_EXPORT_MAX_SUB_LEVEL: int = -1
2929
CC_EXPORT_FPS: float = 0.0
3030
IC_DELETE_HIDDEN_FACES: bool = True
31-
IC_BAKE_TEXTURES: bool = True
31+
IC_BAKE_TEXTURES: bool = False
3232
IC_EXPORT_MODE: str = "Animation"
3333
IC_EXPORT_MAX_SUB_LEVEL: int = -1
3434
IC_EXPORT_FPS: float = 0.0

0 commit comments

Comments
 (0)