Getting Started Version 1.0Updated 26 Sep 2026

Plugin API overview

The Yrendr 1.0.0 plugin API is a host-driven extension model. Plugins register processing features; Yrendr owns project persistence, timeline state, Track/Master routing, UI integration and failure isolation.

Supported extension types

A package can register any combination of:

  • video effects with register_video_effect();
  • audio effects with register_audio_effect();
  • procedural generators with register_generator();
  • timeline processors with register_timeline_processor().

Effects and generators can declare native parameters, presets, randomization, bypass/time-dependency predicates and an optional custom editor. Timeline processors use host-owned parameter UI and return validated actions/outputs instead of mutating the live project.

Choose the appropriate UI model

Use PluginParameterDefinition for ordinary parameters such as sliders, knobs, toggles, choices, segmented choices, XY pads, colors, curves, EQ controls and file/folder pickers.

Use custom_editor= only when an effect or generator needs an inherently visual interface such as a canvas, node surface, meter or bespoke gesture system.

Note: A custom editor does not replace the persisted parameter model. Declared parameters remain the stable state passed to preview and render processors.

Stable identifiers

Effect and processor references are package-scoped:

<plugin_id>:<effect_id>
<plugin_id>:<processor_id>

Caution: Treat package, effect and processor IDs as persistent API. Changing an ID can leave existing project references unresolved.

Host/plugin boundary

Plugins should use the public API instead of reaching into editor internals:

  • effects and generators process host-provided buffers and context;
  • timeline processors receive a detached project snapshot;
  • timeline changes return as validated action dictionaries;
  • editor-owned media rendering is requested through runtime.render_media;
  • custom editors use the host modal/window system and preserve window_key;
  • Yrendr owns persistence, undo/redo integration, routing and error isolation.