Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

lucianoiam/dpfwebui

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Web User Interfaces for DPF

This project builds on top of the DPF audio plugin framework to add web-based UI support. Plugins can leverage JavaScript and related tech to provide complex user interfaces on the computer running the plugin and optionally over the local network.

Screenshot_2022-04-09_13-47-34

Examples running on Bitwig for Linux


Features

  • Based on DISTRHO Plugin Framework (DPF)
  • C++ for DSP development
  • WebKitGTK or CEF on Linux, WKWebView on macOS, Edge WebView2 on Windows
  • VST3 / VST2 / CLAP / LV2 plugin formats
  • Network UI support, eg. for remote control using a tablet
  • Just the powerful basics

Example JavaScript UI code

class ExampleUI extends DISTRHO.UI {

    constructor() {
        super();
    
        // Connect <input type="range" id="gain"> element to a parameter

        document.getElementById('gain').addEventListener('input', (ev) => {
            this.setParameterValue(0, parseFloat(ev.target.value));
        });
    }

    parameterChanged(index, value) {
        // Host informs a parameter change, update input element value

        switch (index) {
            case 0:
                document.getElementById('gain').value = value;
                break;
        }
    }
    
}

The complete UI interface is defined here.

Plugin implementations

Consul
Castello Reverb

Related projects

Guinda
Pisco

About

Library for writing audio plugins with embedded web view UIs. Based on DPF.

Topics

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.