how to get VST Params information

Started by Phil75,

Phil75

Hello,

I don't understand why it doesn't work.

I tried "BassVst.BASS_VST_GetParamInfo(hVST, i, PInfo)" but I got the same error.

I tried several VSTs and I get the same error every time.

This one has 13 parameters (BASS_VST_GetParamCount return 13)

Capture1.png

radio42

Not sure what VSTs you are using, but in my tests it worked fine. I was also testing various VST2 dsps. But my be we are using different native BASS_VST.dll versions?

Phil75

VB.net
Visual Studio 2022
Compile 64bits
VST 2.4 64bits
BASS    : 33820928
BASSVST  : 2.4.0.15
BASS.net : 2.4.17.7

The VSTs seem to work. I can select a preset with "BASS_VST_SetProgram" and the sound changes,
no doubt about it. It works. Except for "BASS_VST_GetParamInfo"
I'll continue testing.

Phil75

Compile 32bits
VST 2.4 32bits
DLLs BASS 32bits

Everything works, loading the VST, selecting the Presets, GetChunk...
Crash when executing "BASS_VST_GetParamInfo".
If it works for you, the problem is probably with my computer.

Capture1.png

David_AVD

Have you stepped through the loop to see if it crashes on the first or some other iteration?

Phil75

@David_AVD Yes, in the first iteration.

The error message suggests I forgot "New", but I didn't.

I tried the "BASS_VST_GetProgramParam" function. It seems to work, no error message:

Dim i As Integer
Dim p() As Single

p = BassVst.BASS_VST_GetProgramParam(hVST, 0)

For i = 0 To p.Length - 1
    Console.WriteLine(p(i))
Next i

0
0,5345225
0,6546537
0,4285714
0,75
0,5455263
0,4302167
0,5
0,375
0,5
0,5714286
0,5
0

Falcosoft

#6
Hi,
it seems that v2.4.0.15 is the newest version of my fork.
But with Bass.NET you should use the main fork of Bass_VST not mine:
https://www.un4seen.com/stuff/bass_vst.zip

It's because at some places the 2 forks differ. In case of BASS_VST_GetParamInfo the difference is the maximum supported character length. The VST specification defines max. 8 characters but many plugins use more. The main fork uses 16 character limit but mine uses 24 (Bass.NET most likely expects 16). One plugin I know that uses more than 16 characters is Roland's SC-VA VSTi.
It's in the README_Falcosoft.md:

QuoteModified BASS_VST_PARAM_INFO members maximum characters to 24. (VST specification dictates maximum 8 character but it is ridiculously low and no plugins/hosts respect this limit.)



Phil75

Thank you for your help  :)

With this "BASSvst" from this link:

https://www.un4seen.com/stuff/bass_vst.zip

It works. No more problems with "BASS_VST_GetParamInfo".

On the website "https://www.un4seen.com/" there is a link to "BASSvst":

https://www.un4seen.com/files/z/5/bass_vst24.zip

But apparently this is not the right file to use with "BASS.net".

But on the website "http://bass.radio42.com/" I couldn't find the "BASSvst" file compatible with "BASS.net".

So where is the official webpage where I should have found the link to :

https://www.un4seen.com/stuff/bass_vst.zip

Ian @ un4seen

The BASS_VST version on the BASS webpage is the current release version (2.4.1.0), while the "stuff" version is the latest build/beta (2.4.1.9). The latter is back-compatible with the former, so both should work fine with BASS.Net.

radio42

Yes, Bass.Net uses the original specification with a display length defined as 16 characters.