def _render_object(self, directory_path, section_singular):
        import supriya.nonrealtime
        from supriya import render

        print(
            "Rendering {path!s}{sep}".format(
                path=directory_path.relative_to(self.inner_project_path.parent),
                sep=os.path.sep,
            )
        )
        output_file_path = directory_path / "render.aiff"
        with uqbar.io.Timer() as timer:
            object_ = self._import_object(directory_path, section_singular)
            if hasattr(object_, "__session__"):
                object_ = object_.__session__()
            if not hasattr(object_, "__render__"):
                template = "    Cannot render {} of type {}."
                message = template.format(section_singular, type(object_).__name__)
                print(message)
                sys.exit(1)
            kwargs = {}
            if isinstance(object_, supriya.nonrealtime.Session):
                kwargs.update(self._build_nrt_server_options(object_))
                kwargs.update(
                    {
                        "print_transcript": True,
                        "transcript_prefix": "    ",
                        "build_render_yml": True,
                    }
                )
            try:
                render(
                    object_,
                    output_file_path=output_file_path,
                    render_directory_path=self._renders_path,
                    **kwargs,
                )
            except (NonrealtimeRenderError, NonrealtimeOutputMissing):
                self._report_time(timer, prefix="Python/SC runtime")
                print("    Render failed. Exiting.")
                sys.exit(1)
            except Exception:
                print(traceback.format_exc())
                sys.exit(1)
            self._report_time(timer, prefix="Python/SC runtime")
        return output_file_path
Example #2
0
    def _render_object(self, directory_path, section_singular):
        import supriya.nonrealtime
        from supriya import render

        print("Rendering {path!s}{sep}".format(
            path=directory_path.relative_to(self.inner_project_path.parent),
            sep=os.path.sep,
        ))
        output_file_path = directory_path / "render.aiff"
        with uqbar.io.Timer() as timer:
            object_ = self._import_object(directory_path, section_singular)
            if hasattr(object_, "__session__"):
                object_ = object_.__session__()
            if not hasattr(object_, "__render__"):
                template = "    Cannot render {} of type {}."
                message = template.format(section_singular,
                                          type(object_).__name__)
                print(message)
                sys.exit(1)
            kwargs = {}
            if isinstance(object_, supriya.nonrealtime.Session):
                kwargs.update(self._build_nrt_server_options(object_))
                kwargs.update({
                    "print_transcript": True,
                    "transcript_prefix": "    ",
                    "build_render_yml": True,
                })
            try:
                render(
                    object_,
                    output_file_path=output_file_path,
                    render_directory_path=self._renders_path,
                    **kwargs,
                )
            except (NonrealtimeRenderError, NonrealtimeOutputMissing):
                self._report_time(timer, prefix="Python/SC runtime")
                print("    Render failed. Exiting.")
                sys.exit(1)
            except Exception:
                print(traceback.format_exc())
                sys.exit(1)
            self._report_time(timer, prefix="Python/SC runtime")
        return output_file_path
### RENDER ###

pattern_1 = patterns.Pbus(
    patterns.Ppar([
        bufnoise_pattern_1,
        allpass_pattern,
        freqshift_pattern,
        freeverb_pattern,
        chorus_pattern,
        pitchshift_pattern,
    ]),
    release_time=30.0,
)

with session.at(0):
    for i in range(3):
        session.inscribe(pattern_1, duration=60 * 3, seed=i)
    session.add_synth(
        add_action=AddAction.ADD_TO_TAIL,
        synthdef=multiband_compressor,
    )
    session.add_synth(
        add_action=AddAction.ADD_TO_TAIL,
        synthdef=limiter,
    )

render(session,
       output_file_path='/Users/evansdsg2/supercollider_scores/supriya_scores',
       memory_size=8192 * 16)
Example #4
0
with session.at(1285):
    for i in range(4):
        session.inscribe(pattern_5, duration=60 * 2, seed=i)
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=multiband_compressor,
    #     )
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=limiter,
    #     )

with session.at(1400):
    for i in range(3):
        session.inscribe(pattern_6, duration=60 * 3, seed=i)
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=multiband_compressor,
    #     )
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=limiter,
    #     )

supriya.render(
    session,
    output_file_path=
    '/Users/evansdsg2/supercollider_scores/used_light/used_light/renders',
    memory_size=8192 * 16)
Example #5
0
with session.at(1285):
    for i in range(4):
        session.inscribe(pattern_5, duration=60 * 2, seed=(i + 2))
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=multiband_compressor,
    #     )
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=limiter,
    #     )

with session.at(1400):
    for i in range(3):
        session.inscribe(pattern_6, duration=60 * 3, seed=(i + 2))
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=multiband_compressor,
    #     )
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=limiter,
    #     )

supriya.render(
    session,
    output_file_path=
    '/Users/evansdsg2/supercollider_scores/orchestrion/orchestrion/renders',
    memory_size=8192 * 16)
with session.at(1285):
    for i in range(4):
        session.inscribe(pattern_5, duration=60 * 2, seed=i)
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=multiband_compressor,
    #     )
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=limiter,
    #     )

with session.at(1400):
    for i in range(3):
        session.inscribe(pattern_6, duration=60 * 3, seed=i)
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=multiband_compressor,
    #     )
    # session.add_synth(
    #     add_action=AddAction.ADD_TO_TAIL,
    #     synthdef=limiter,
    #     )

render(
    session,
    output_file_path=
    '/Users/evansdsg2/supercollider_scores/supriya_scores/Litany_against_fear/full',
    memory_size=8192 * 16)