Organized addons into a folder
This commit is contained in:
47
sound_objects/__init__.py
Normal file
47
sound_objects/__init__.py
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
import bpy
|
||||||
|
|
||||||
|
from .operator_add_speakers_to_objects import AddSoundToMeshOperator
|
||||||
|
from .operator_adm_export import ADMWaveExport
|
||||||
|
from .operator_wav_import import ImportWav
|
||||||
|
|
||||||
|
bl_info = {
|
||||||
|
"name": "Sound Objects",
|
||||||
|
"description": "Tools for adding sounds to objects and export to immersive format",
|
||||||
|
"author": "Jamie Hardt",
|
||||||
|
"version": (0, 1),
|
||||||
|
"warning": "Requires `ear` EBU ADM Renderer package to be installed",
|
||||||
|
"blender": (2, 90, 0)
|
||||||
|
#"category": "Import-Export"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def import_wav_menu_callback(self, context):
|
||||||
|
self.layout.operator(ImportWav.bl_idname, text="WAV Audio Files (.wav)")
|
||||||
|
|
||||||
|
|
||||||
|
def export_adm_menu_callback(self, context):
|
||||||
|
self.layout.operator(ADMWaveExport.bl_idname, text="ADM Broadcast-WAVE (.wav)")
|
||||||
|
|
||||||
|
|
||||||
|
def add_sound_to_mesh_menu_callback(self, context):
|
||||||
|
self.layout.operator(AddSoundToMeshOperator.bl_idname, icon='SPEAKER')
|
||||||
|
|
||||||
|
|
||||||
|
def register():
|
||||||
|
bpy.utils.register_class(AddSoundToMeshOperator)
|
||||||
|
bpy.utils.register_class(ADMWaveExport)
|
||||||
|
bpy.utils.register_class(ImportWav)
|
||||||
|
|
||||||
|
bpy.types.TOPBAR_MT_file_import.append(import_wav_menu_callback)
|
||||||
|
bpy.types.TOPBAR_MT_file_export.append(export_adm_menu_callback)
|
||||||
|
bpy.types.VIEW3D_MT_object.append(add_sound_to_mesh_menu_callback)
|
||||||
|
|
||||||
|
|
||||||
|
def unregister():
|
||||||
|
bpy.utils.unregister_class(AddSoundToMeshOperator)
|
||||||
|
bpy.utils.unregister_class(ADMWaveExport)
|
||||||
|
bpy.utils.unregister_class(ImportWav)
|
||||||
|
|
||||||
|
bpy.types.TOPBAR_MT_file_import.remove(import_wav_menu_callback)
|
||||||
|
bpy.types.TOPBAR_MT_file_export.remove(export_adm_menu_callback)
|
||||||
|
bpy.types.VIEW3D_MT_object.remove(add_sound_to_mesh_menu_callback)
|
||||||
@@ -17,14 +17,14 @@ from typing import List
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
bl_info = {
|
# bl_info = {
|
||||||
"name": "Add Sounds to Objects",
|
# "name": "Add Sounds to Objects",
|
||||||
"description": "Adds sounds to selected mesh objects",
|
# "description": "Adds sounds to selected mesh objects",
|
||||||
"author": "Jamie Hardt",
|
# "author": "Jamie Hardt",
|
||||||
"version": (0, 21),
|
# "version": (0, 21),
|
||||||
"blender": (2, 90, 0),
|
# "blender": (2, 90, 0),
|
||||||
"category": "Object",
|
# "category": "Object",
|
||||||
}
|
# }
|
||||||
|
|
||||||
class SoundBank:
|
class SoundBank:
|
||||||
def __init__(self, prefix):
|
def __init__(self, prefix):
|
||||||
@@ -300,20 +300,20 @@ class AddSoundToMeshOperator(Operator):
|
|||||||
return {'FINISHED'}
|
return {'FINISHED'}
|
||||||
|
|
||||||
|
|
||||||
def menu_func(self, context):
|
# def menu_func(self, context):
|
||||||
self.layout.operator(AddSoundToMeshOperator.bl_idname, icon='SPEAKER')
|
# self.layout.operator(AddSoundToMeshOperator.bl_idname, icon='SPEAKER')
|
||||||
|
|
||||||
|
|
||||||
def register():
|
# def register():
|
||||||
bpy.utils.register_class(AddSoundToMeshOperator)
|
# bpy.utils.register_class(AddSoundToMeshOperator)
|
||||||
bpy.types.VIEW3D_MT_object.append(menu_func)
|
# bpy.types.VIEW3D_MT_object.append(menu_func)
|
||||||
|
|
||||||
|
|
||||||
def unregister():
|
# def unregister():
|
||||||
bpy.utils.unregister_class(AddSoundToMeshOperator)
|
# bpy.utils.unregister_class(AddSoundToMeshOperator)
|
||||||
bpy.types.VIEW3D_MT_object.remove(menu_func)
|
# bpy.types.VIEW3D_MT_object.remove(menu_func)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
# if __name__ == "__main__":
|
||||||
register()
|
# register()
|
||||||
|
|
||||||
@@ -29,15 +29,15 @@ from math import sqrt
|
|||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import List, Tuple
|
from typing import List, Tuple
|
||||||
|
|
||||||
bl_info = {
|
# bl_info = {
|
||||||
"name": "Export ADM Broadcast-WAV File",
|
# "name": "Export ADM Broadcast-WAV File",
|
||||||
"description": "Export a Broadcast-WAV with each speaker as an ADM object",
|
# "description": "Export a Broadcast-WAV with each speaker as an ADM object",
|
||||||
"author": "Jamie Hardt",
|
# "author": "Jamie Hardt",
|
||||||
"version": (0, 23),
|
# "version": (0, 23),
|
||||||
"warning": "Requires `ear` EBU ADM Renderer package to be installed",
|
# "warning": "Requires `ear` EBU ADM Renderer package to be installed",
|
||||||
"blender": (2, 90, 0),
|
# "blender": (2, 90, 0),
|
||||||
"category": "Import-Export",
|
# "category": "Import-Export",
|
||||||
}
|
# }
|
||||||
|
|
||||||
class FrameInterval:
|
class FrameInterval:
|
||||||
def __init__(self, start_frame, end_frame):
|
def __init__(self, start_frame, end_frame):
|
||||||
@@ -473,20 +473,20 @@ class ADMWaveExport(Operator, ExportHelper):
|
|||||||
|
|
||||||
|
|
||||||
# Only needed if you want to add into a dynamic menu
|
# Only needed if you want to add into a dynamic menu
|
||||||
def menu_func_export(self, context):
|
# def menu_func_export(self, context):
|
||||||
self.layout.operator(ADMWaveExport.bl_idname, text="ADM Broadcast-WAVE (.wav)")
|
# self.layout.operator(ADMWaveExport.bl_idname, text="ADM Broadcast-WAVE (.wav)")
|
||||||
|
|
||||||
|
|
||||||
def register():
|
# def register():
|
||||||
bpy.utils.register_class(ADMWaveExport)
|
# bpy.utils.register_class(ADMWaveExport)
|
||||||
bpy.types.TOPBAR_MT_file_export.append(menu_func_export)
|
# bpy.types.TOPBAR_MT_file_export.append(menu_func_export)
|
||||||
|
|
||||||
|
|
||||||
def unregister():
|
# def unregister():
|
||||||
bpy.utils.unregister_class(ADMWaveExport)
|
# bpy.utils.unregister_class(ADMWaveExport)
|
||||||
bpy.types.TOPBAR_MT_file_export.remove(menu_func_export)
|
# bpy.types.TOPBAR_MT_file_export.remove(menu_func_export)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
# if __name__ == "__main__":
|
||||||
register()
|
# register()
|
||||||
|
|
||||||
@@ -1,17 +1,17 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import os
|
import os
|
||||||
|
|
||||||
bl_info = {
|
# bl_info = {
|
||||||
"name": "Import WAV Files",
|
# "name": "Import WAV Files",
|
||||||
"description": "Import WAV files, with options to automatically pack and Fake user",
|
# "description": "Import WAV files, with options to automatically pack and Fake user",
|
||||||
"author": "Jamie Hardt",
|
# "author": "Jamie Hardt",
|
||||||
"version": (0, 20),
|
# "version": (0, 20),
|
||||||
"blender": (2, 90, 0),
|
# "blender": (2, 90, 0),
|
||||||
"location": "File > Import > WAV Audio Files",
|
# "location": "File > Import > WAV Audio Files",
|
||||||
"warning": "", # used for warning icon and text in addons panel
|
# "warning": "", # used for warning icon and text in addons panel
|
||||||
"support": "COMMUNITY",
|
# "support": "COMMUNITY",
|
||||||
"category": "Import-Export",
|
# "category": "Import-Export",
|
||||||
}
|
# }
|
||||||
|
|
||||||
def read_some_data(context, filepath, pack, dir, fake):
|
def read_some_data(context, filepath, pack, dir, fake):
|
||||||
|
|
||||||
@@ -85,22 +85,22 @@ class ImportWav(Operator, ImportHelper):
|
|||||||
|
|
||||||
|
|
||||||
# Only needed if you want to add into a dynamic menu
|
# Only needed if you want to add into a dynamic menu
|
||||||
def menu_func_import(self, context):
|
# def menu_func_import(self, context):
|
||||||
self.layout.operator(ImportWav.bl_idname, text="WAV Audio Files (.wav)")
|
# self.layout.operator(ImportWav.bl_idname, text="WAV Audio Files (.wav)")
|
||||||
|
|
||||||
|
|
||||||
def register():
|
# def register():
|
||||||
bpy.utils.register_class(ImportWav)
|
# bpy.utils.register_class(ImportWav)
|
||||||
bpy.types.TOPBAR_MT_file_import.append(menu_func_import)
|
# bpy.types.TOPBAR_MT_file_import.append(menu_func_import)
|
||||||
|
|
||||||
|
|
||||||
def unregister():
|
# def unregister():
|
||||||
bpy.utils.unregister_class(ImportWav)
|
# bpy.utils.unregister_class(ImportWav)
|
||||||
bpy.types.TOPBAR_MT_file_import.remove(menu_func_import)
|
# bpy.types.TOPBAR_MT_file_import.remove(menu_func_import)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
# if __name__ == "__main__":
|
||||||
register()
|
# register()
|
||||||
|
|
||||||
# test call
|
# test call
|
||||||
# bpy.ops.import_test.wav_file_batch('INVOKE_DEFAULT')
|
# bpy.ops.import_test.wav_file_batch('INVOKE_DEFAULT')
|
||||||
Reference in New Issue
Block a user