abique / vst-bridge

VST bridge for Windows vst on Linux
MIT License
273 stars 19 forks source link

Renoise: vst-bridge audio output is monaural #7

Closed cosmicchipsocket-old closed 10 years ago

cosmicchipsocket-old commented 10 years ago

Imagine my disgust when I came to realize just how many VSTs are only available on Windows, and that this is due in part to the fact that VSTs are really just platform-specific shared object libraries.

Now imagine how excited I was to finally discover something that would let me use those Windows VSTs from a Linux host! Previously I had to run the host in Wine which introduced really awful sound latencies.

So after I got this thing working I decided to tinker around with Synth1. Everything seemed to be working fine until I tried to do an LFO-controlled pan and noticed... a significant lack of panning.

How to reproduce:

  1. In the VST host, set an instrument to the Synth1 VST set up by vst-bridge. Make sure the preset is on "initial sound".
  2. Open the external editor.
  3. Play a note. Notice how both channels have the same waveform. The default Synth1 preset is supposed to be stereo due to the delay/chrous.
  4. Turn the L-R panning knob near the top-right corner of the window all the way to the right.
  5. Play a note. Nothing is heard.

Expected results: Both the left and right output channels are working. Actual results: The sound from the left output channel is copied into the right channel as if monaural.

I compiled the plugin myself using Steinburg's VST 2.4 SDK.

I am not sure if this is a Renoise-specific issue. I haven't been able to get any other Linux VST hosts to test this with. I have used other Linux native VST plugins and stereo sound was working fine.

The host side of vst-bridge appears to be handling the stereo audio correctly. With the plugin side of vst-bridge, however, it seems like anything that gets written into outputs[1] in vst_bridge_call_process() is simply getting ignored. Strangely enough, Renoise reports the plugin as having two audio outputs, so I'm not sure what is causing the mono audio.

Both 0.3 and master have this problem. I compiled for 32-bit x86 as well as x86_64 and both have the same problem.

abique commented 10 years ago

Hey, thanks for the report, I've already noticed that issue but did not try to fix it. I'll have a look tomorrow.

abique commented 10 years ago

Are you sure that it is vst-bridge and not a renoise bug? Have you some feedback saying that panning works with renoise/synth1 on windows? Thanks.

cosmicchipsocket-old commented 10 years ago

Hi,

I get working stereo with Synth1 and Windows Renoise. If I move the panning knob all the way to the right then I hear audio coming out of the right channel.

synth1windows

The problem is not limited to Synth1 as the IL synths also have this issue.

I have working stereo with all the DSSIs I've tried (WhySynth, etc.) as well as the native Linux version of Mr. Alias 2.

abique commented 10 years ago

Yes I'm trying to find out where does the bug come from.

abique commented 10 years ago

Thanks for the report, I fixed it. It was an incorrect forward of GetOutputPinProperties.

Please can you pull master and check that it works for you? Thanks :)

cosmicchipsocket-old commented 10 years ago

Working here. Thanks for the quick bug fix!