Files
soundobjects_blender_addon/sound_objects/operator_adm_export.py
2020-09-19 22:50:22 -07:00

47 lines
1.4 KiB
Python

from bpy_extras.io_utils import ExportHelper
from bpy.props import StringProperty, BoolProperty, EnumProperty, FloatProperty, IntProperty
from bpy.types import Operator
from .intern.generate_adm import generate_adm
class ADMWaveExport(Operator, ExportHelper):
"""Export a Broadcast-WAV audio file with each speaker encoded as an ADM object"""
bl_idname = "export.adm_wave_file" # important since its how bpy.ops.import_test.some_data is constructed
bl_label = "Export ADM Wave File"
# ExportHelper mixin class uses this
filename_ext = ".wav"
filter_glob: StringProperty(
default="*.wav",
options={'HIDDEN'},
maxlen=255, # Max internal buffer length, longer would be clamped.
)
room_size: FloatProperty(
default=1.0,
name="Room Size",
description="Distance from the lens to the front room boundary",
min=0.001,
step=1.,
unit='LENGTH'
)
max_objects: IntProperty(
name="Max Objects",
description="Maximum number of object tracks to create",
default=24,
min=0,
max=118
)
create_bed:BoolProperty(
name="Create 7.1 Bed",
description="Create a bed for all sounds not included on object tracks",
default=False
)
def execute(self, context):
return generate_adm(context, self.filepath, self.room_size, self.max_objects)