obsproject / obs-vst

Use VST plugins in OBS
GNU General Public License v2.0
181 stars 56 forks source link

OBS's VST2 implementation is not fully compliant with expected VST2 host behavior. #79

Closed Xaymar closed 3 years ago

Xaymar commented 3 years ago

The VST2.x implementation used by OBS is incomplete, and is closer to VST1.x behavior instead. Many important "dispatcher" calls are not made in the right order, resulting in additional initialization ("opening") work, or outright cause VST effects to fail processing.

Platform

Not applicable (any).

Expected Behavior

  1. The sample rate and block size should be set before the first "open" call, in order to minimize reinitializations (or outright remove them).
  2. The User Interface should not be offered if the flag for it is not set.
  3. A call to "close" should be performed before OBS Studio is fully closed.

Current Behavior

  1. Host sets Sample Rate and Block Size after calling "Open", which results in reinitializations.
  2. Host just assumes that UI is available, resulting in blank windows.
  3. The call to "Close" only happens when manually deleting the filter, not when OBS Studio closes.

Steps to Reproduce

Not applicable. Affects all VST2 plugins.

Additional information

Xaymar commented 3 years ago

Closing as requested.