From 8e9a49b587295559aea31cab04e921b6041c69a7 Mon Sep 17 00:00:00 2001 From: Jamie Hardt Date: Wed, 5 Nov 2025 21:17:28 -0800 Subject: [PATCH] Removing ear dependency --- intern/object_mix.py | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/intern/object_mix.py b/intern/object_mix.py index 63b2596..ee9f83c 100644 --- a/intern/object_mix.py +++ b/intern/object_mix.py @@ -1,17 +1,10 @@ import os import bpy from contextlib import contextmanager -from fractions import Fraction from typing import List import wave -# from ear.fileio.adm.elements import (ObjectCartesianPosition, JumpPosition, -# AudioBlockFormatObjects) -# from ear.fileio.bw64 import Bw64Reader - -# from .geom_utils import (speaker_active_time_range, compute_relative_vector, -# room_norm_vector) from .speaker_utils import solo_speakers, unmute_all_speakers @@ -53,25 +46,26 @@ class ObjectMix: return self.scene.frame_end @property - def sample_rate(self) -> int | None: - if self.intermediate_filename: - with wave.open(self.intermediate_filename, "rb") as f: - return f.getframerate() - else: - return None + def sample_rate(self) -> int: + with wave.open(self.mixdown_filename, "rb") as f: + return f.getframerate() @property - def bits_per_sample(self) -> int | None: + def bits_per_sample(self) -> int: with wave.open(self.mixdown_filename, "rb") as f: return f.getsampwidth() * 8 + @property + def frames_length(self) -> int: + with wave.open(self.mixdown_filename, "rb") as f: + return f.getnframes() + @property def mixdown_filename(self) -> str: if self.intermediate_filename is None: self.mixdown() assert self.intermediate_filename - return self.intermediate_filename @property