Removed some dead imports
And reformatted
This commit is contained in:
@@ -1,9 +1,8 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import numpy
|
|
||||||
from numpy.linalg import norm
|
from numpy.linalg import norm
|
||||||
from random import uniform, gauss
|
from random import uniform, gauss
|
||||||
from math import floor
|
from math import floor
|
||||||
from enum import IntFlag, Enum
|
from enum import Enum
|
||||||
|
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
|
|
||||||
@@ -11,12 +10,14 @@ import sys
|
|||||||
|
|
||||||
from .soundbank import SoundBank
|
from .soundbank import SoundBank
|
||||||
|
|
||||||
|
|
||||||
class TriggerMode(str, Enum):
|
class TriggerMode(str, Enum):
|
||||||
START_FRAME = "START_FRAME"
|
START_FRAME = "START_FRAME"
|
||||||
MIN_DISTANCE = "MIN_DISTANCE"
|
MIN_DISTANCE = "MIN_DISTANCE"
|
||||||
RANDOM = "RANDOM"
|
RANDOM = "RANDOM"
|
||||||
RANDOM_GAUSSIAN = "RANDOM_GAUSSIAN"
|
RANDOM_GAUSSIAN = "RANDOM_GAUSSIAN"
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class SpatialEnvelope:
|
class SpatialEnvelope:
|
||||||
considered_range: float
|
considered_range: float
|
||||||
@@ -25,6 +26,7 @@ class SpatialEnvelope:
|
|||||||
min_distance: float
|
min_distance: float
|
||||||
exits_range: int
|
exits_range: int
|
||||||
|
|
||||||
|
|
||||||
def sound_camera_spatial_envelope(scene: bpy.types.Scene, speaker_obj, considered_range: float) -> SpatialEnvelope:
|
def sound_camera_spatial_envelope(scene: bpy.types.Scene, speaker_obj, considered_range: float) -> SpatialEnvelope:
|
||||||
min_dist = sys.float_info.max
|
min_dist = sys.float_info.max
|
||||||
min_dist_frame = scene.frame_start
|
min_dist_frame = scene.frame_start
|
||||||
@@ -78,13 +80,8 @@ def track_speaker_to_camera(speaker, camera):
|
|||||||
camera_lock.use_target_z = True
|
camera_lock.use_target_z = True
|
||||||
|
|
||||||
|
|
||||||
def random_sound_startswith(prefix):
|
|
||||||
sounds = [sound for sound in bpy.data.sounds if sound.name.startswith(prefix)]
|
|
||||||
return choice(sounds)
|
|
||||||
|
|
||||||
|
|
||||||
def spot_audio(context, speaker, trigger_mode, sync_peak, sound_peak, sound_length, gaussian_stddev, envelope):
|
def spot_audio(context, speaker, trigger_mode, sync_peak, sound_peak, sound_length, gaussian_stddev, envelope):
|
||||||
|
audio_scene_in = context.scene.frame_start
|
||||||
if trigger_mode == TriggerMode.START_FRAME:
|
if trigger_mode == TriggerMode.START_FRAME:
|
||||||
audio_scene_in = context.scene.frame_start
|
audio_scene_in = context.scene.frame_start
|
||||||
|
|
||||||
@@ -120,7 +117,7 @@ def sync_audio(speaker, sound, context, sync_peak, trigger_mode, gaussian_stddev
|
|||||||
|
|
||||||
spot_audio(context=context, speaker=speaker, trigger_mode=trigger_mode,
|
spot_audio(context=context, speaker=speaker, trigger_mode=trigger_mode,
|
||||||
gaussian_stddev=gaussian_stddev, sync_peak=sync_peak,
|
gaussian_stddev=gaussian_stddev, sync_peak=sync_peak,
|
||||||
sound_peak= audiofile_info[0], sound_length=audiofile_info[1],
|
sound_peak=audiofile_info[0], sound_length=audiofile_info[1],
|
||||||
envelope=envelope)
|
envelope=envelope)
|
||||||
|
|
||||||
|
|
||||||
@@ -134,13 +131,13 @@ def constrain_speaker_to_mesh(speaker_obj, mesh):
|
|||||||
def apply_gain_envelope(speaker_obj, envelope):
|
def apply_gain_envelope(speaker_obj, envelope):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
def add_speakers_to_meshes(meshes, context, sound=None,
|
|
||||||
sound_name_prefix = None,
|
|
||||||
sync_peak = False,
|
|
||||||
trigger_mode = TriggerMode.START_FRAME,
|
|
||||||
gaussian_stddev = 1.
|
|
||||||
):
|
|
||||||
|
|
||||||
|
def add_speakers_to_meshes(meshes, context, sound=None,
|
||||||
|
sound_name_prefix=None,
|
||||||
|
sync_peak=False,
|
||||||
|
trigger_mode=TriggerMode.START_FRAME,
|
||||||
|
gaussian_stddev=1.
|
||||||
|
):
|
||||||
context.scene.frame_set(0)
|
context.scene.frame_set(0)
|
||||||
sound_bank = SoundBank(prefix=sound_name_prefix)
|
sound_bank = SoundBank(prefix=sound_name_prefix)
|
||||||
|
|
||||||
@@ -151,8 +148,8 @@ def add_speakers_to_meshes(meshes, context, sound=None,
|
|||||||
|
|
||||||
envelope = sound_camera_spatial_envelope(context.scene, mesh, considered_range=5.)
|
envelope = sound_camera_spatial_envelope(context.scene, mesh, considered_range=5.)
|
||||||
|
|
||||||
speaker_obj = next( (spk for spk in context.scene.objects \
|
speaker_obj = next((spk for spk in context.scene.objects
|
||||||
if spk.type == 'SPEAKER' and spk.constraints['Copy Location'].target == mesh ), None)
|
if spk.type == 'SPEAKER' and spk.constraints['Copy Location'].target == mesh), None)
|
||||||
|
|
||||||
if speaker_obj is None:
|
if speaker_obj is None:
|
||||||
bpy.ops.object.speaker_add()
|
bpy.ops.object.speaker_add()
|
||||||
@@ -176,6 +173,3 @@ def add_speakers_to_meshes(meshes, context, sound=None,
|
|||||||
apply_gain_envelope(speaker_obj, envelope)
|
apply_gain_envelope(speaker_obj, envelope)
|
||||||
|
|
||||||
speaker_obj.data.update_tag()
|
speaker_obj.data.update_tag()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
import bpy
|
import bpy
|
||||||
import os
|
import os
|
||||||
|
|
||||||
def read_some_data(context, filepath, pack, dir, fake):
|
def read_some_data(filepath, pack, dir, fake):
|
||||||
|
|
||||||
def import_one(fp):
|
def import_one(fp):
|
||||||
sound = bpy.data.sounds.load(fp, check_existing=False)
|
sound = bpy.data.sounds.load(fp, check_existing=False)
|
||||||
@@ -53,8 +53,6 @@ class ImportWav(Operator, ImportHelper):
|
|||||||
default=False,
|
default=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
def execute(self, context):
|
def execute(self, _):
|
||||||
return read_some_data(context=context, filepath=self.filepath,
|
return read_some_data(filepath=self.filepath, pack=False, dir=self.all_in_directory, fake=self.fake)
|
||||||
dir=self.all_in_directory, fake=self.fake,
|
|
||||||
pack=False)
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user