Files
soundobjects_blender_addon/operator_protools_export.py

41 lines
1.2 KiB
Python

import bpy
from .intern import pro_tools
def filter_speakers(objs: list[bpy.types.Object]) -> list[bpy.types.Object]:
return [s for s in objs if s.type == 'SPEAKER']
class SendToProTools(bpy.types.Operator):
"Send Audio Objects to Pro Tools"
bl_idname = "object.pro_tools_live"
bl_label = "Send Audio Objects to Pro Tools"
room_size: bpy.props.FloatProperty(
name="Room Size",
description="Distance from the lens to the front room boundary",
default=1.0,
min=0.001,
step=1,
unit='LENGTH'
)
@classmethod
def poll(cls, context):
return len(filter_speakers(context.selected_objects)) > 0 and \
bpy.app.online_access
def invoke(self, context, event):
wm = context.window_manager
return wm.invoke_props_dialog(self, confirm_text="Send to Pro Tools")
def execute(self, context) -> set:
if pro_tools.send_to_pro_tools(
filter_speakers(context.selected_objects),
self.room_size):
self.report({'INFO'}, "Speaker objects sent to Pro Tools")
return {'FINISHED'}
else:
self.report({'ERROR'}, "Could not connect to Pro Tools")
return {'FINISHED'}