LMMS / LMMS/lmms

Lv2 plugins with no outputs should be loadable

Open
#7,191 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

### Enhancement Summary

Currently, a few of plugins will not load in LMMS, saying `- no audio output channel` (if you have `LMMS_LV2_DEBUG` set).

This is a missed opportunity, because those plugins could be used well.

### Implementation Details / Mockup

As favored in discord, since LMMS requires to fill output buffers for all plugins, the solution is to let LMMS fill the output buffer with something sane in `Lv2Proc::copyBuffersToCore`, even if the plugin does not provide output via an output port. It has been agreed that in that case, the output buffer just shall mirror the values of the input buffer ("pass through").

An implementation must be careful so that for these plugins, the `Lv2Proc::outPorts()` function will never be called.

### Please search the issue tracker for existing feature requests before submitting your own.

- [X] I have searched all existing issues and confirmed that this is not a duplicate.

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

Start by locating the LV2 processing implementation containing Lv2Proc::copyBuffersToCore and Lv2Proc::outPorts(). Trace how plugins without audio output channels are currently rejected, then verify the no-output path without calling outPorts(). Done means such LV2 plugins load and their output buffer mirrors the input buffer.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
audio-video-rtc
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.