Problems in SoundForge and Vegas

I am using JUCE 3.06 and am reporting an issue reported from the field and that I have investigated with VST (effect) plug-ins under the latest version of Sony SoundForge (v11) and Vegas Video, using both Windows 7 (x64) and 8.1, on a 32-bit build of the plug-in (not VST3).   I am building on VS2013.

 

The problem is the plug-in's parameters are not restored prior to processing, or saved to the VST Preset files (.FXP) that these apps save.  These issues appear both when accessing plug-ins under the FX Favorites... menu or with the "Apply FX Chain..." commands.

 

1.  The user brings up the plug-in GUI and moves the controls and then presses "OK" - the app processes the audio using whatever default parameter settings are set when the AudioEffect is initialized.  I have put breakpoints in setParameter and the host app is not calling it.   No luck with setChunk either.

2.  Save the plug-ins settings as a VST Preset in the app and you end up with a 0 bytes .FXP file.

I have reproduced the issue with my plug-in and JuceDemoPlugin (audio plugin demo).  Any idea what might be going on?

Thanks-

Steve

 

 

If the host isn't even calling those functions then I'm really not sure what to suggest.. It's very basic stuff, and has worked for years in all the other hosts.

Other VST plug-ins work correctly in these hosts.  I wonder what could be different about JUCE plug-ins that would cause this issue?

-Steve

Really can't think of anything that might stop it calling such basic stuff

Do you actually have code written for getStateInformation and setStateInformation in the plugin?

 

Have you tried other hosts? If it happens in every host you try - then you can be pretty sure the problem is in your plugin. If it works in other hosts, then yea, what up with Sony?

Use FileLogger and add a line to log when getStateInformation() and setStateInformation() are called…

Rail

Yes, I have code for those methods. The issue does not happen with other hosts. 

 

Steve

Turns out these issues are caused if AudioProcessor::getNumPrograms is returning 0.  The Sony code seems to rely on VST programs.

Steve

Ah, that's interesting - maybe I should add an assertion somewhere to warn about that..

Or at least change it in JuceDemoPlugin - it does this and that was the code I used as a starting point.

Steve

In Logic X, when loading the JUCE demo plugin, the presets menu has a "Factory Presets/Pres 0: Default" preset, and selecting it does nothing.

This is due to this fix.

Perhaps it would be better for the VST wrapper to report the values that please Vegas/Soundforge when that's the host?

Bumping for bug’s 2 year bugiversary.

The JUCE demo plugin still has this bug:
In Logic X the presets menu for a plugin instance has a preset called “Factory Presets/Pres 0: Default”, but choosing it does absolutely nothing.

Btw - as bug reports repeatedly get lost I’d suggest to create a forum topic for known bugs as suggested here - Please add a “known bugs” list

Cheers, Yair

2 Likes

It’s always a great honour fixing anniversary bugs. See the latest develop. Your plug-ins should now return zero programs if they don’t have any programs.

1 Like

Cool, just checked the JUCE demo plugin in Logic and it no longer reports the false preset. :+1:

I remember that in some cases, it was a problem if the plug-in were to report to its host that it had 0 programs.
Has this been taken into account when applying this fix?
(IIRC, there was a jassert in the code preventing 0 to be returned for exactly this reason)

Yup:

1 Like