Skip to content

ADR-006: gui2dpf Templates

Date: 2026-05-13 Issue: https://github.com/Wasted-Audio/hvcc/issues/296

Context

A new PDVG widget library for DPF was created, which implements Plugdata GUI objects using NanoVG.

We can now use this widget library in combination with the GUI JSON, created by the pd2gui stage in hvcc, to generate an emulated UI for the DPF generator.

Decision

We create a new c2dpf code-path, with a set of templates, to combine the GUI JSON with the new widget library.

In order to have backwards compatibility with the previous ImGui UI implementation we introduce a new DPFUIType in the meta JSON. This allows to keep the old boolean behavior, which selects ImGui as the GUI type, but allows to extend it using integer enumeration. This could allow for other UI extensions in the future as well.

We add the ability to create @hv_event based parameters to allow for the same behavior as [bang] object. This brings DPF on par with Unity and Javascript implementations.

The GUI JSON will need some minor modifications to better align to the PDVG requirements.

MVP Definition

The user should be able to generate a GUI for their DPF plugins that matches the basic Plugdata UI as close as possible.

Future Improvements

More GUI objects and better object behavior may be added in the future. More accuracy in the layout and design may also be required.