Пример #1
0
def template_config(**kwargs) -> Config:
    """Default template values do NOT indicate optional attributes."""
    cfg = Config(
        master_audio="",
        fps=_FPS,
        amplification=1,
        trigger_ms=40,
        render_ms=40,
        trigger_subsampling=1,
        render_subsampling=2,
        trigger=CorrelationTriggerConfig(
            mean_responsiveness=0.0,
            edge_strength=1.0,
            reset_below=0.3,
            responsiveness=0.5,
            pitch_tracking=SpectrumConfig(),
            # post_trigger=ZeroCrossingTriggerConfig(),
        ),
        channels=[],
        layout=LayoutConfig(orientation="v", ncols=1),
        render=RendererConfig(
            1280,
            720,
            res_divisor=4 / 3,
            grid_color="#55aaff",
            v_midline=True,
            h_midline=True,
        ),
    )
    return attr.evolve(cfg, **kwargs)
Пример #2
0
 def trigger__pitch_tracking(self, gui: bool):
     scfg = SpectrumConfig() if gui else None
     self.cfg.trigger.pitch_tracking = scfg
Пример #3
0
parametrize = pytest.mark.parametrize

triggers.SHOW_TRIGGER = False


def trigger_template(**kwargs) -> CorrelationTriggerConfig:
    cfg = CorrelationTriggerConfig(edge_strength=2,
                                   responsiveness=1,
                                   buffer_falloff=0.5)
    return attr.evolve(cfg, **kwargs)


@fixture
@parametrize("trigger_diameter", [None, 0.5])
@parametrize("pitch_tracking", [None, SpectrumConfig()])
@parametrize("slope_strength", [0, 100])
@parametrize("sign_strength", [0, 1])
def trigger_cfg(trigger_diameter, pitch_tracking, slope_strength,
                sign_strength) -> CorrelationTriggerConfig:
    return trigger_template(
        trigger_diameter=trigger_diameter,
        pitch_tracking=pitch_tracking,
        slope_strength=slope_strength,
        sign_strength=sign_strength,
        slope_width=0.14,
    )


FPS = 60