feat(rcf): Test new Timers for observers.
It allow to adjust refresh rate in realtime.
This commit is contained in:
@ -70,8 +70,10 @@ def resolve_bpy_path(path):
|
|||||||
|
|
||||||
return obj, attribute
|
return obj, attribute
|
||||||
|
|
||||||
def observer(scene):
|
def observer():
|
||||||
global client
|
global client
|
||||||
|
|
||||||
|
try:
|
||||||
for key,values in client.property_map.items():
|
for key,values in client.property_map.items():
|
||||||
# if values.id == client.id:
|
# if values.id == client.id:
|
||||||
obj, attr = resolve_bpy_path(key)
|
obj, attr = resolve_bpy_path(key)
|
||||||
@ -79,7 +81,10 @@ def observer(scene):
|
|||||||
if attr != to_bpy(client.property_map[key]):
|
if attr != to_bpy(client.property_map[key]):
|
||||||
value_type, value = from_bpy(attr)
|
value_type, value = from_bpy(attr)
|
||||||
client.push_update(key,value_type,value)
|
client.push_update(key,value_type,value)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
return 0.16
|
||||||
|
|
||||||
|
|
||||||
# CLIENT-SERVER
|
# CLIENT-SERVER
|
||||||
@ -135,6 +140,7 @@ class session_join(bpy.types.Operator):
|
|||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
|
|
||||||
bpy.ops.asyncio.loop()
|
bpy.ops.asyncio.loop()
|
||||||
|
bpy.app.timers.register(observer)
|
||||||
|
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
@ -184,10 +190,10 @@ class session_create(bpy.types.Operator):
|
|||||||
server = net_components.Server()
|
server = net_components.Server()
|
||||||
client = net_components.Client(id=username,recv_callback=callbacks)
|
client = net_components.Client(id=username,recv_callback=callbacks)
|
||||||
|
|
||||||
time.sleep(1)
|
# time.sleep(0.1)
|
||||||
|
|
||||||
bpy.ops.asyncio.loop()
|
bpy.ops.asyncio.loop()
|
||||||
|
bpy.app.timers.register(observer)
|
||||||
return {"FINISHED"}
|
return {"FINISHED"}
|
||||||
|
|
||||||
|
|
||||||
@ -242,7 +248,7 @@ def register():
|
|||||||
register_class(cls)
|
register_class(cls)
|
||||||
|
|
||||||
bpy.types.Scene.session_settings = bpy.props.PointerProperty(type=session_settings)
|
bpy.types.Scene.session_settings = bpy.props.PointerProperty(type=session_settings)
|
||||||
bpy.app.handlers.depsgraph_update_post.append(observer)
|
# bpy.app.handlers.depsgraph_update_post.append(observer)
|
||||||
|
|
||||||
def unregister():
|
def unregister():
|
||||||
from bpy.utils import unregister_class
|
from bpy.utils import unregister_class
|
||||||
|
Reference in New Issue
Block a user