Modernization

This commit is contained in:
2025-11-05 20:40:42 -08:00
parent 08ad33e27d
commit 4cbab3cd38

View File

@@ -1,33 +1,36 @@
from bpy_extras.io_utils import ExportHelper from bpy_extras.io_utils import ExportHelper
from bpy.props import StringProperty, BoolProperty, EnumProperty, FloatProperty, IntProperty from bpy.props import StringProperty, BoolProperty, FloatProperty, IntProperty
from bpy.types import Operator from bpy.types import Operator
from .intern.generate_adm import generate_adm 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 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
bl_label = "Export ADM Wave File"
filepath: str
filename_ext = ".wav" filename_ext = ".wav"
filter_glob: StringProperty( filter_glob = StringProperty(
default="*.wav", default="*.wav",
options={'HIDDEN'}, options={'HIDDEN'},
maxlen=255, # Max internal buffer length, longer would be clamped. maxlen=255, # Max internal buffer length, longer would be clamped.
) )
room_size: FloatProperty( room_size = FloatProperty(
default=1.0, default=1.0,
name="Room Size", name="Room Size",
description="Distance from the lens to the front room boundary", description="Distance from the lens to the front room boundary",
min=0.001, min=0.001,
step=1., step=1,
unit='LENGTH' unit='LENGTH'
) )
max_objects: IntProperty( max_objects = IntProperty(
name="Max Objects", name="Max Objects",
description="Maximum number of object tracks to create", description="Maximum number of object tracks to create",
default=24, default=24,
@@ -35,13 +38,13 @@ class ADMWaveExport(Operator, ExportHelper):
max=118 max=118
) )
create_bed: BoolProperty( create_bed = BoolProperty(
name="Create 7.1 Bed", name="Create 7.1 Bed",
description="Create a bed for all sounds not included on object tracks", description="Create a bed for all sounds not included on object tracks",
default=False, default=False,
options={'HIDDEN'} options={'HIDDEN'}
) )
def execute(self, context): def execute(self, context) -> set:
return generate_adm(context, self.filepath, self.room_size, self.max_objects) return generate_adm(context, self.filepath, self.room_size,
self.max_objects)