LMMS / LMMS/lmms

Lv2 extension plan

Open
#4,954 22 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

conversation enhancement
Dominant language
C++
Stars
10.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
7

Description

** This is WIP **

### Background

Lv2 has many extensions, and some of them contain features. Extensions are things the plugin provides for a host, and features are things the host provides for a plugin. Note: Even if a host does not care about a specific extension, the plugin can require a feature from that extension, which means the plugin won't run without it.

### Purpose

This plan helps to identify
* which extensions we should implement
* in what order

### Table

| Extension | Things to use | Features to implement | Status | Depends on | Assignee
|---|---|---|---|---|---|
|Atom | MIDI, UI, TimePosition | No features exist | :heavy_check_mark: (basic atom support done) | | |
|Buf Size | | | :heavy_check_mark: | | |
|Data Access |None. Discouraged. |- | :heavy_check_mark: (nothing to do) | | |
|Dynamic Manifest | | | | | |
|Instance Access | | | | | |
|Log | | | | | |
|Lv2 | | | :heavy_check_mark: (#5795 missing yet) |- | |
|Midi | | | :heavy_check_mark: | | |
|Morph | | | | | |
|Options | | | :heavy_check_mark: | | |
|Parameters |lv2:wetDryRatio (for Effect wet/dry ratio), ...? | | |- | |
|Patch | | | | | |
|Port Groups | | | | | |
|Port Properties | "causesArtifacs", "nonAutomatic", "trigger", "rangeSteps" | | only "logarithmic" done | | |
|Presets | | | | | |
|Resize Port | | | | | |
|State | | | |URID :heavy_check_mark: | |
|Time | | | | | |
|UI | | | | | @JohannesLorenz |
|Units | | | | | |
|URID |Only features |All | :heavy_check_mark: |- | |
|Worker | | | | | @JohannesLorenz |

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

This is a WIP plan for LV2 extensions, with no source files, tests, or entry points named. Start by reviewing the extension table and its current statuses, dependencies, and feature notes. The work is complete when the extensions to implement and their order are clearly decided and reflected in the plan.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
audio-video-rtc
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.