AuburnSounds / Dplug

Audio plugin framework. VST2/VST3/AU/AAX/LV2 for Linux/macOS/Windows.

Home Page:https://dplug.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

New format: FruityPlug support

p0nce opened this issue · comments

commented

FL client is starting to work after a few days. There doesn't seem to be any blocker, well except everything being barely documented.
It's an interesting format with quite unique features that we can't all support. and indeed for the time being we support no extra-feature at all, but onHint would be cool I guess.

  • Namespace the directories, since there could be conflict in the Effects/ dir if two plugin have the same name. => postponed
  • report automation to Host
  • Parameters need to display names for automation to be nice
  • NSIS installer support => here it's complicated, the install directory depends upon the FL version => we detect FL 20 to an eventual FL 24 (EDIT: also FL12)
    • test when No FL is installed => no path given
  • dplug-build: Building a FLP package on Windows
  • dplug-build: Building a FLP package on macOS
  • macOS support => seems to work in FL21
  • macOS installer support => FAIL need to look like a bundle, and need to detect FLStudio location... a bit of a blocker
  • macOS notarization support => FAIL same, postponed until installer support
  • test on FL21 instead of FL20 => no changes apparently
  • Win32 support (FL21 removed FruityPlug support in 32-bit x86 it seems though, but FL20 didn't) => abandoned, quite hard to follow the ABI crashes, not sure if we even have the right calling convention in D.
  • Parameters
  • Issue in Parameter browser with BoolParameter => ProcessParam incorrect for boolparam
  • same issue with IntegerParameter
  • Processing
  • follow the "thread-safe" rules adviced in the forums? => no, this seems related to one-voice-per-thread rendering, for "hybrid" plugins.
  • MIDI In
    • Note On, Note Off
    • CC for synths =>how to do that? => see #819
    • For Synths, and effects.
    • Channel Pitch Bend for synths => well I'm not getting it. Opening a new issue => see #819
  • fill TimeInfo
  • MIDI out => all MIDI out is on Port zero. This probably will have to change in the future, should someone use this format for arpeggiators.
  • latency with FHD_SetLatency
  • Internal presets
  • state support (FL doesn't have framing in its input chunks, so possibly need to invent yet another format to put chunk length, with a major version number serialized)
  • synth support (without the FL-specific features)
  • Ask Image-Line what would be the licence of their SDK => got an answer
  • Host Bypass
  • tail support
    (Note: easier to debug using FL20, in FL21 the Linker Output File settings in Visual Studio doesn't really agree to be put in Program Files.)
commented

The only FruityPlug plug-in in active distribution uses a DMG to install, however it needs to be updated for each FLStudio Major, as seen in:

Capture d’écran 2023-11-18 à 00 51 19

With a /Library/Audio/Plug-Ins/<format> directory there wouldn't be this issue.

commented

Working in v14.1.1, remaining smaller issues in #819