Please consider registering

sp_LogInOut Log In sp_Registration Register

Register | Lost password?
Advanced Search

— Forum Scope —

— Match —

— Forum Options —

Minimum search word length is 3 characters - maximum search word length is 84 characters

sp_Feed Topic RSS sp_TopicIcon
VST2 DAW generic editor.
November 16, 2015 - 9:05 pm
Member Since: November 27, 2014
Forum Posts: 10
sp_UserOfflineSmall Offline

Hi Will,

I wanted to ask about the way in which DAWs handle control IDs in their respective generic editors. I don't find the same problem with the VST3 files.

When using a host's generic editor with VST2 all control titles display the prefix 'RootUnit.Presets'. Is there anyway to remove this so that it just displays the control title. This also happens when renaming a VST3 file as a dll.


W Pirkle
November 16, 2015 - 11:19 pm
Member Since: January 29, 2017
Forum Posts: 411
sp_UserOfflineSmall Offline

Hi Ted

Well, the answer here is yes-and-no depending on the client. The text you see is done in the VST2 Wrapper that is part of the VST3 SDK, and not part of the RackAFX code. If you use Make VST to port your project, then you can edit the code that sets the unit's name. It is in the VSTProcessor.cpp file near the end of the initialize() function.

UString name(uinfoPreset.name, 128);

If you comment-out these two lines of code, then this fixes the issue in Reaper, Ableton Live, and Cubase for Windows. However, it still fails in Ableton Live for MacOS. Another danger is that the unit's name string is garbage (the VST3 validator shows this) and this could cause problems in other clients that I have not tested.

If you try to clear the name like this:


then the plugin will fail the VST3 validation.

If you comment out the code that adds the unit:

// addUnit(new Unit (uinfoPreset));

then this also fixes the problem but you loose your Presets (I seem to remember that you were the person who requested Presets in the VST part of RAFX).

In the SDK, the name variable is documented like this;

String128 name; ///< name, optional for the root component, required otherwise

Interestingly, if you set the Root Name to an empty string, it will fail VST3 Validation.

So, it is a combination Catch-22 with the presets, and a sort of coin-toss as to how the client responds to the name variable, or what might happen in future clients if this name is not set (or garbage).

- Will

November 17, 2015 - 1:45 am
Member Since: November 27, 2014
Forum Posts: 10
sp_UserOfflineSmall Offline

Thanks for the quick reply Will,
I need to spend more time looking through the SDK but I certainly appreciate you pointing me in the right direction.


Forum Timezone: America/New_York

Most Users Ever Online: 152

Currently Online:
4 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Skyler: 48

Derek: 46

Frodson: 45

TheSmile: 43

Peter: 43

clau_ste: 39

JimmyM: 33

Gwen: 32

EZB: 24

lppier: 23

Member Stats:

Guest Posters: 1

Members: 604

Moderators: 1

Admins: 4

Forum Stats:

Groups: 12

Forums: 37

Topics: 631

Posts: 2485

Newest Members:

Tania, markburrell, Roland, Paris Stam, Caleb, Alan Miller, ben_farrelly, stevo3985, Conrad, Andrii

Moderators: W Pirkle: 411

Administrators: Tom: 74, JD Young: 80, Will Pirkle: 0, W Pirkle: 411