asb2m10 / dexed

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

Dexed parameters are not automatable inside FL studio ☹ #317

Closed sonic254 closed 2 years ago

sonic254 commented 2 years ago

I downloaded and installed "Dexed" vst in my PC. It runs all fine in FL studio. But the only problem is that when i try to automate a parameter (like OP2 OUTPUT LEVEL) in my DAW the parameter in the vst is not affected by the automation clip or any midi controller. Everything else is working though but if this problem/bug is fixed for FL studio then it would have been awesome to make evolving sounds.

Problem with parameter automation in FL studio video: https://user-images.githubusercontent.com/29460022/140599653-6c899cfb-d061-443b-9506-bb8c9921adf0.mp4

bryc commented 2 years ago

Confirmed. VST3 version does not currently support automation.

You can use an older VST2 version here: https://github.com/asb2m10/dexed/releases/tag/v0.9.1

Works perfectly in FL Studio.

This is pretty sad that development is going in reverse.

asb2m10 commented 2 years ago

I was unable to reproduce this with the latest version of FL Studio and the nightly build of dexed.

Please test this version on your side: https://github.com/asb2m10/dexed/actions/runs/2599144460

What I have seen is that if you change a parameter from the UI and this parameter had an automation, FL stops sending the automation clip values. You can reset this by changing automation setting "Remove conflicts" and Dexed will receive the automation value again. Let me know if this works for you.

image

bryc commented 2 years ago

Hello,

So in 0.9.6, automation didn't work at all; no outside control of the exposed parameters had any effect. This debug build does appear to allow outside control, but it no longer acts the same way (or properly IMO). Here's a comparison between the VST2 x64 build I mentioned previously, and the nightly VST3 x64

I use the same patch (LAURIE) and on both attempt to automate Op4's volume from 0 to 100%:

https://user-images.githubusercontent.com/1408749/176980605-a583bae1-40e4-4514-bd68-fb4a1ae7a2e9.mp4

VST2 reacts as it should, with the increasing modulation amount being heard smoothly on each new note.

VST3 version is clearly different, and appears to be cutting out notes at random and ~possibly not even applying the new Op4 level value to notes~(I guess it is, just hard to notice?). In fact, 0.9.6 also did something similar when I manually controlled Op4 level.


Also, as soon as the VST3 starts to play, FL Studio's framerate becomes sluggish (notice the playlist playhead movement), perhaps due to Dexed's GUI update interval interfering (issue also happens in ADLPlug when GUI is active, could be JUCE related).

Furthermore, there's a ton of 'access violation' errors when closing/opening the GUI, but don't seem to affect the sound engine. This didn't occur in 0.9.6, maybe its just a beta thing but worth mentioning.

FL Studio (20.7.2.1863) has encountered an error and needs to restart.

Crash log saved to C:\Users\bryc\Documents\Image-Line\Data\FL Studio\Support\Logs\Crash\ folder.

Please use Ctrl+C to copy this message and report to support.

Exception: 
Access violation at address 00007FF815E525F0 in module 'Dexed.vst3'. Read of address FFFFFFFFFFFFFFFF
Callstack: 
00007FF815BD0000:00007FF815E525F0: Dexed.vst3
00007FF815BD0000:00007FF815E66CD7: Dexed.vst3
00007FF815BD0000:00007FF815E4660B: Dexed.vst3
00007FF815BD0000:00007FF8162997A5: Dexed.vst3
00007FF815BD0000:00007FF8161B4EE7: Dexed.vst3
00007FF815BD0000:00007FF8161ED668: Dexed.vst3
00007FF815BD0000:00007FF8161E85D5: Dexed.vst3
00007FF815BD0000:00007FF8161B2C92: Dexed.vst3
00007FF815BD0000:00007FF81606891E: Dexed.vst3
00007FF815BD0000:00007FF816087E3F: Dexed.vst3
00007FF815BD0000:00007FF816538F24: Dexed.vst3
00007FF815BD0000:00007FF816539248: Dexed.vst3
00007FF815BD0000:00007FF816539065: Dexed.vst3
00007FF815BD0000:00007FF816538E52: Dexed.vst3
00007FF815BD0000:00007FF816536844: Dexed.vst3
00007FF815BD0000:00007FF8164D97EB: Dexed.vst3
00007FF815BD0000:00007FF8164DE758: Dexed.vst3
00007FF815BD0000:00007FF815CE2AF5: Dexed.vst3
00007FF815BD0000:00007FF815CD6812: Dexed.vst3
00007FF815BD0000:00007FF815CD7D03: Dexed.vst3
00007FF815BD0000:00007FF815CE3D88: Dexed.vst3
00007FF815BD0000:00007FF815CE2915: Dexed.vst3
00007FF815BD0000:00007FF815D1ABD8: Dexed.vst3
00007FF815BD0000:00007FF815CDA7AB: Dexed.vst3
00007FF815BD0000:00007FF815D1A700: Dexed.vst3
000000000B640000:000000000B9B3B26: GFruity Wrapper_x64.dll
000000000B640000:000000000B9D9C86: GFruity Wrapper_x64.dll
000000000B640000:000000000B9DEFF8: GFruity Wrapper_x64.dll
000000000B640000:000000000B9F2B4D: GFruity Wrapper_x64.dll
0000000002610000:0000000002D3442A: _FLEngine_x64.dll
0000000002610000:0000000002D344FB: _FLEngine_x64.dll
0000000002610000:0000000002AE2F33: _FLEngine_x64.dll
0000000002610000:0000000002AE3123: _FLEngine_x64.dll
0000000002610000:00000000027A7769: _FLEngine_x64.dll
0000000002610000:00000000029001E9: _FLEngine_x64.dll
0000000002610000:00000000028FF949: _FLEngine_x64.dll
0000000002610000:00000000027A78EE: _FLEngine_x64.dll
0000000002610000:00000000027A796A: _FLEngine_x64.dll
0000000002610000:000000000261F7B1: _FLEngine_x64.dll
0000000002610000:00000000027A7026: _FLEngine_x64.dll
0000000002610000:00000000027A6B12: _FLEngine_x64.dll
0000000002610000:00000000027AD661: _FLEngine_x64.dll
0000000002610000:00000000027ADD47: _FLEngine_x64.dll
0000000002610000:00000000027AD2FC: _FLEngine_x64.dll
0000000002610000:000000000271AEF6: _FLEngine_x64.dll
00007FF85C330000:00007FF85C33E858: USER32.dll
00007FF85C330000:00007FF85C33E299: USER32.dll
0000000002610000:0000000002AA3B08: _FLEngine_x64.dll
0000000002610000:0000000002AA3B78: _FLEngine_x64.dll
0000000002610000:0000000002AA4068: _FLEngine_x64.dll
0000000002610000:00000000031D1C31: _FLEngine_x64.dll
00007FF81FB40000:00007FF81FCF8553: FLEngine_x64.dll
00007FF6D8D20000:00007FF6D8D23BA7: FL64.exe
00007FF6D8D20000:00007FF6D8D23FCB: FL64.exe
00007FF6D8D20000:00007FF6D8D25247: FL64.exe
00007FF85C6A0000:00007FF85C6B7034: KERNEL32.DLL
00007FF85CB70000:00007FF85CBBCEC1: ntdll.dll

Sometimes I get this error (usually two in a row) as well:

---------------------------
Debug
---------------------------
Invalid editor window handle!
---------------------------
OK   
---------------------------
asb2m10 commented 2 years ago

Ok thanks for the update. Is it possible to share the FL project ?

And thanks for reporting the UI issue, this seems to be related to the github automated build.

bryc commented 2 years ago

Here's the FLP DexedCompare.zip

Note if it has an issue loading the 0.9.1 version, it's because I renamed the 64-bit version as Dexed x64.dll and kept 32-bit version as Dexed.dll, but it should be able to find it.

asb2m10 commented 2 years ago

Ok thanks for the FLP, it explains the issue, finally. Btw the crash on plugin closed window is now fixed: https://github.com/asb2m10/dexed/actions/runs/2642309952

From Dexed 0.9.1 and 0.9.6, a feature was introduce to calculate the envelope dynamically if the parameters are changed while the note is playing (like in your example). The code works for long running notes but it is definitely broken for shorter notes like your FL example project. I had the same issue in Reaper.

The automation is fine (for the nightly), it is how the envelope is "re triggered" on the active note the problem.

Since automation in FL works (i.e. Dexed receives automation correctly), I will close this issue. If you have an automation issue that is not related to the envelope, I'll be happy to look at it.

I will work on #278 for now on that actively states the problem on note "re trigger". This will be fixed in 0.9.7. Don't hesitate to comment this specific issue.