LMMS / LMMS/lmms

MIDI Program Change to change the patches in VeSTige

Open
#5,138 2 comments 0 reactions 0 assignees View on GitHub
duplicate enhancement
Dominant language
C++
Stars
10.4k
Forks
1.3k
Avg merge
2d 13h
Merged PRs (30d)
7

Description

After loading a VST instrument into VeSTige we are able to walk through all the plugin's patches and try them out instantly. We can choose them using the mouse (clicking on [<], [>], [v] buttons) or the keyboard ([-] and [+] keys).

Many MIDI keyboards are able to send Program Change events (0xC_n_), so that we can change the patches directly from it. However, some VST instruments seem to ignore them while still working correctly with VeSTige's controls (examples are SQ8L and DVS Guitar). Additionally, changing patches from the MIDI keyboard does not update the patch name visible in VeSTige user interface.

My proposal is to embed the handling of Program Change directly into VeSTige. Additionally CCs 0 and 32 (Bank Select MSB & LSB) should be supported as well, so that we are able to access the patches beyond 128th one. To give the user a choice, a toggle button can be added to the VeSTige GUI, allowing to enable or disable the feature.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating VeSTige's MIDI input handling and the controls that change and display the current patch. Trace Program Change and Bank Select events, then determine how the GUI toggle should control the behavior. Done means supported MIDI messages select patches beyond the 128th where applicable and the visible patch name stays synchronized.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.