asb2m10 / dexed

DX7 FM multi plaform/multi format plugin
GNU General Public License v3.0
2.8k stars 241 forks source link

Fix parameter remote control in Bitwig by using name as parameter ID #346

Closed voidshine closed 2 years ago

voidshine commented 2 years ago

Bitwig Studio's remote control of Dexed was broken (as of version 4.2.2) such that Dexed parameters could be mapped to remote controls, but changing those remotes would not affect change in Dexed. This was apparently caused by parameter ID strings clashing with the default implementation which converts index int to String. Using the unique parameter name as the ID instead resolved the problem.

Before fix:

Plugin misbehaving output from Bitwig
[2022-04-17 14:36:02.250 float-main-app error] Plugin misbehaving Dexed: Listed an automatable parameter as a MIDI parameter: ParamID = 1567 index = 10
[2022-04-17 14:36:02.251 float-main-app error] Plugin misbehaving Dexed: Multiple definitions of parameters with the same parameter id were found for the following parameter ids: 182418231822182118201819181818171816181517931792166516641663166216611660163416331791163217901631178916301788162917871572173015711729160715701728160615691727160317611604176215671725163816011759160515681726160217601573173115741575157616351598175616361599175716371600175816661667166816691691169216931694169516961697169816991700172217231724175317541755178417851786

After fix: No "Plugin misbehaving" output from Bitwig, and remote controls work.

voidshine commented 2 years ago

Side note: this other pull request was motivated by experiencing the same bug. Because I couldn't remote control Dexed, I used CC mapping as a workaround, and then found that I needed more CC's in order to cover all the controls. Now with remotes fixed, I don't need that CC channel distinction workaround, but it's probably still good to have in case someone wants to use classic MIDI gear to control Dexed.