File tree Expand file tree Collapse file tree 2 files changed +14
-2
lines changed
Expand file tree Collapse file tree 2 files changed +14
-2
lines changed Original file line number Diff line number Diff line change 11from attr import attrs , attrib , evolve
2+ from functools import singledispatch
23from multipledispatch import dispatch
34import numpy as np
45import re
56import warnings
67from ..geom import inside_angle_range
78from .. import point_source
89from .. import allocentric
10+ from ..layout import Layout
911from ..renderer_common import is_lfe
1012from ..screen_edge_lock import ScreenEdgeLockHandler
1113from ...fileio .adm .elements import DirectSpeakerCartesianPosition , DirectSpeakerPolarPosition
@@ -463,3 +465,13 @@ def handle(self, type_metadata):
463465 pv = np .zeros (self .n_channels )
464466 pv [~ self .is_lfe ] = psp .handle (position )
465467 return pv
468+
469+
470+ @singledispatch
471+ def build_direct_speakers_panner (layout , ** options ):
472+ return None
473+
474+
475+ @build_direct_speakers_panner .register (Layout )
476+ def _build_direct_speakers_panner_speakers (layout , ** options ):
477+ return DirectSpeakersPanner (layout , ** options )
Original file line number Diff line number Diff line change 11import numpy as np
2- from .panner import DirectSpeakersPanner
2+ from .panner import build_direct_speakers_panner
33from ..renderer_common import BlockProcessingChannel , InterpretTimingMetadata , FixedGains
44from ..track_processor import TrackProcessor
55
@@ -44,7 +44,7 @@ class DirectSpeakersRenderer(object):
4444 """
4545
4646 def __init__ (self , layout , ** options ):
47- self ._panner = DirectSpeakersPanner (layout , ** options )
47+ self ._panner = build_direct_speakers_panner (layout , ** options )
4848 self ._nchannels = layout .num_channels
4949
5050 # tuples of a track spec processor and a BlockProcessingChannel to
You can’t perform that action at this time.
0 commit comments