VST 3.7.4 Released | VST3 and ASPiK | Forum

Avatar

Please consider registering
guest

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

No permission to create posts
sp_Feed Topic RSS sp_TopicIcon
VST 3.7.4 Released
Avatar
Member
Members
January 2, 2022 - 6:42 pm
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

New update : https://forums.steinberg.net/t/vst-3-7-4-sdk-released/754853

 

This makes me very scared Confused

  • This is the last version supporting 32bits plug-ins on Windows. The next update will support only 64bits plug-ins.

and also this one:

  • Add support of new VST3 Location on Windows: new option SMTG_PLUGIN_TARGET_USER_PROGRAM_FILES_COMMON
Avatar
Admin
January 3, 2022 - 9:50 am
Member Since: January 29, 2017
Forum Posts: 693
sp_UserOfflineSmall Offline

I just saw this too. I was under the impression that 32-bit plugins had been obsoleted several SDKs ago and the 32-bit notification seemed to involve the VST3 Test Host. 

This looks like a fairly major update - anyone willing to take on the CMake conversion for this new stuff?

I am fulltime in a new job now (as of Dec31, I am no longer a U Miami employee) and no longer have the long breaks I had as a professor -- 12 weeks for summer, 6 weeks for Christmas - I usually spent most or all of that time working on RackAFX/ASPiK or book manuscripts and this is no longer an option.

Will 

Avatar
Member
Members
January 4, 2022 - 11:43 am
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

W Pirkle said
I just saw this too. I was under the impression that 32-bit plugins had been obsoleted several SDKs ago and the 32-bit notification seemed to involve the VST3 Test Host. 

This looks like a fairly major update - anyone willing to take on the CMake conversion for this new stuff?

I am fulltime in a new job now (as of Dec31, I am no longer a U Miami employee) and no longer have the long breaks I had as a professor -- 12 weeks for summer, 6 weeks for Christmas - I usually spent most or all of that time working on RackAFX/ASPiK or book manuscripts and this is no longer an option.

Will   

Will,

I found two lines they have changed:

1.smtg_add_vst3_resource To smtg_target_add_plugin_resource

2. smtg_add_folder_icon To smtg_target_add_folder_icon

and looking for other changes...

Avatar
Member
Members
January 4, 2022 - 11:55 am
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

Ok... I found another strange issue!

cmake doesn't add the folder "PluginObjects" to the project so I had to have add these files manually.

Avatar
Member
Members
January 4, 2022 - 5:12 pm
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

jeanlecode said

Will,

I found two lines they have changed:

1.smtg_add_vst3_resource To smtg_target_add_plugin_resource

2. smtg_add_folder_icon To smtg_target_add_folder_icon

and looking for other changes...  

oups I can't edit my post...

I meant we have to make some changes as like:

1.smtg_add_vst3_resource To smtg_target_add_plugin_resource

2. smtg_add_folder_icon To smtg_target_add_folder_icon

Avatar
Member
Members
January 4, 2022 - 8:17 pm
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

+ there are more issues that I wasn't hoping to have them but none of my projects working under VST3.... trying to see the AAX version on Windows but I guess something has broken on the frameworkFrown

Avatar
Member
Members
January 5, 2022 - 8:41 am
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

Ok, I found the issue!

that makes sense!

set(UNI_VST3_SDK_FOLDER VST_SDK/vst3sdk)

 

Now everything works so far so good.

 

Jean

jeanlecode said
+ there are more issues that I wasn't hoping to have them but none of my projects working under VST3.... trying to see the AAX version on Windows but I guess something has broken on the frameworkFrown  

Avatar
Member
Members
January 5, 2022 - 9:33 am
Member Since: November 10, 2021
Forum Posts: 10
sp_UserOfflineSmall Offline

If I have the vst 3.7.3 version, can I continue to program plugins in aspik without any problem?

Avatar
Admin
January 10, 2022 - 11:08 am
Member Since: January 1, 2020
Forum Posts: 107
sp_UserOfflineSmall Offline

Many thanks Jean ♪(・ω・)ノ

I think you found all the CMake changes necessary for the next update.

Strange the folder was renamed and also that that wasn't highlighted in the changelog. Didn't test the new ?useful "snapshot" functionality though.

It seems the file hierarchy changes have no impact in practice ie. can still ignore the bundle & put the .vst3 file where you want.

Tested a blank plug from ASPiKreator and ported an existing project just applying the three changes you've highlighted. No issues & yet to find any problems with the builds after some stress tests. 

Are you really still working 32bit? You'd have to disable the Validator running during the builds for future vst updates. Except why not use JBridge to load 64 bit plugs into that oldschool DAW?

Avatar
Member
Members
January 14, 2022 - 7:18 pm
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

jim said
Many thanks Jean ♪(・ω・)ノ

I think you found all the CMake changes necessary for the next update.

Strange the folder was renamed and also that that wasn't highlighted in the changelog. Didn't test the new ?useful "snapshot" functionality though.

It seems the file hierarchy changes have no impact in practice ie. can still ignore the bundle & put the .vst3 file where you want.

Tested a blank plug from ASPiKreator and ported an existing project just applying the three changes you've highlighted. No issues & yet to find any problems with the builds after some stress tests. 

Are you really still working 32bit? You'd have to disable the Validator running during the builds for future vst updates. Except why not use JBridge to load 64 bit plugs into that oldschool DAW?  

Hi Jim,

sure... I guess all our credits have to go to Will so I just feel that how we are lucky to having him.

♦ I have also checked the new SDK on mac M1 so we have to add  only one line: smtg_set_bundle to the au cmake that's it... 

♦ I had 2 old projects which were 32bit but I worked on them so now everything quite at 64bit 🙂

♦ Now I have 2 bugs 

     1. The GUI size on StudioOne and Ableton is loading as 10% (Mac&Win)

     2. Presets Save and Load is not working as expected.

 

Cheers,

Jean

Avatar
Member
Members
January 17, 2022 - 6:24 pm
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

Hi Will, Jim,

Sadly this has been broken..... set(OBJECTS_SOURCE_ROOT "${SOURCE_ROOT}/PluginObjects")

Could you please let me know if there is any solution to add those files by using cmake on my projects? 

Thank you,

Jean

Avatar
Admin
January 18, 2022 - 3:23 am
Member Since: January 1, 2020
Forum Posts: 107
sp_UserOfflineSmall Offline

sure... I guess all our credits have to go to Will so I just feel that how we are lucky to having him.

Absolutely agree with that <(_ _)>

 

cmake doesn't add the folder "PluginObjects" 

I've just tried a fresh build and that does seem to work.

Make sure that the flag

set(INCLUDE_FX_OBJECTS TRUE)                          # <-- set TRUE or FALSE

is true, in the outer cmake file. For that to work you'll also need to pre-populate that folder with the fxobjects and filter.h files. As they aren't included from ASPiKRreator builds.

You can change what's included to that folder also from this line from the other CMake file    \\\project_source\cmake\vst_cmake

set(plugin_object_sources
${OBJECTS_SOURCE_ROOT}/fxobjects.h
${OBJECTS_SOURCE_ROOT}/filters.h
${OBJECTS_SOURCE_ROOT}/fxobjects.cpp )

Regarding the GUI size bug. Same behavior from the other thread? I can still see that problem in Herman Seib's VSTHost but only for new instances it will somehow correctly recall the correct size from a saved session if the plug is first set. I'd like to resolve this, I spent some time in the debugger yesterday and was able to see that the value of

(uint32_t)param.getControlValue() // on Line412 of plugingui.cpp

is incorrectly set to 0 on first opening the GUI in VSTHost but is the correct default value when opened in Reaper/Ableton.

Why that's the case I still have no idea.

More info on your presets issue? I have Ableton 10.16 and the extremely clumsy way that handles .vstpresets still works. But I've just now noticed that because Ableton always creates a new instance of the plug (instead of allowing you to change the existing plug preset) the new instance is loaded at the default GUI size, irrespective of the setting.

Cheers

Avatar
Member
Members
January 18, 2022 - 5:46 pm
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

jim said

sure... I guess all our credits have to go to Will so I just feel that how we are lucky to having him.

Absolutely agree with that <(_ _)>

 

cmake doesn't add the folder "PluginObjects" 

I've just tried a fresh build and that does seem to work.

Make sure that the flag

set(INCLUDE_FX_OBJECTS TRUE)                          # <-- set TRUE or FALSE

is true, in the outer cmake file. For that to work you'll also need to pre-populate that folder with the fxobjects and filter.h files. As they aren't included from ASPiKRreator builds.

You can change what's included to that folder also from this line from the other CMake file    \\\project_source\cmake\vst_cmake

set(plugin_object_sources
${OBJECTS_SOURCE_ROOT}/fxobjects.h
${OBJECTS_SOURCE_ROOT}/filters.h
${OBJECTS_SOURCE_ROOT}/fxobjects.cpp )

Regarding the GUI size bug. Same behavior from the other thread? I can still see that problem in Herman Seib's VSTHost but only for new instances it will somehow correctly recall the correct size from a saved session if the plug is first set. I'd like to resolve this, I spent some time in the debugger yesterday and was able to see that the value of

(uint32_t)param.getControlValue() // on Line412 of plugingui.cpp

is incorrectly set to 0 on first opening the GUI in VSTHost but is the correct default value when opened in Reaper/Ableton.

Why that's the case I still have no idea.

More info on your presets issue? I have Ableton 10.16 and the extremely clumsy way that handles .vstpresets still works. But I've just now noticed that because Ableton always creates a new instance of the plug (instead of allowing you to change the existing plug preset) the new instance is loaded at the default GUI size, irrespective of the setting.

Cheers  

Hi Jim,

How I missed this one I can't believe myself 🙂 I thought it was TRUE but it wasn't set(INCLUDE_FX_OBJECTS TRUE)             
I still search the issue on plugingui.cpp and I hope we'll figure out it.

Thank Jim!
Cheers
Jean
Avatar
Admin
January 23, 2022 - 1:03 am
Member Since: January 1, 2020
Forum Posts: 107
sp_UserOfflineSmall Offline

Hey Jean

I'm helping Will to prepare the next ASPiK update over here.

Would you be able to point out the exact file/line the update for AU M1 compatibility has to be placed? I don't have one for testing. 

If anyone would like to test the VST3/AU projects from that link using the latest VST_SDK, they should be good to go otherwise.

Thanks again

Avatar
Member
Members
January 23, 2022 - 4:58 pm
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

jim said
Hey Jean

I'm helping Will to prepare the next ASPiK update over here.

Would you be able to point out the exact file/line the update for AU M1 compatibility has to be placed? I don't have one for testing. 

If anyone would like to test the VST3/AU projects from that link using the latest VST_SDK, they should be good to go otherwise.

Thanks again  

Hi Jim,
I’m able to debug everything and get them work on Logic under the ARM(M1) macs🙏🏻
I was waiting for Avid the latest AAX SDK so there’s only one thing that it should be fixed is that  « smtg_set_bundle » on AU CMake file… the issues come from the latest VST SDK ☺️ 
if you guys need more informations please let me know 🤘🏾

cheers

Jean

Avatar
Admin
January 23, 2022 - 11:22 pm
Member Since: January 1, 2020
Forum Posts: 107
sp_UserOfflineSmall Offline

Glad that works Jean and yes can I have some more info please.

There are two AU cmake files; one at cmake/au_cmake/ and one at project_source/cmake/au_cmake/, do you mean the latter? and where should it be added to? line 372?

Also does smtg_set_bundle need an input such as smtg_set_bundle(${target} PROPERTIES XCODE_ATTRIBUTE_INFOPLIST_FILE "${CMAKE_CURRENT_LIST_DIR}/${MAC_ROOT}/Info.plist" ) ?

Optionally if you have a github account, you can fork the project, edit the file from the browser and push it back to me there.

Cheers

Avatar
Member
Members
January 24, 2022 - 11:04 am
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

jim said
Glad that works Jean and yes can I have some more info please.

There are two AU cmake files; one at cmake/au_cmake/ and one at project_source/cmake/au_cmake/, do you mean the latter? and where should it be added to? line 372?

Also does smtg_set_bundle need an input such as smtg_set_bundle(${target} PROPERTIES XCODE_ATTRIBUTE_INFOPLIST_FILE "${CMAKE_CURRENT_LIST_DIR}/${MAC_ROOT}/Info.plist" ) ?

Optionally if you have a github account, you can fork the project, edit the file from the browser and push it back to me there.
Cheers  

Hi Jim,

Actually we need to change 3 lines:

 

project_source/cmake/vst_cmake/

Line: 205—>smtg_target_add_plugin_resource…..

Line: 208—>smtg_target_set_bundle…..

Line: 243—>smtg_target_add_folder_icon…..

 

no need to check other files.... I'm also using canon so that's why I had to have edit some au_cmake files....

cheers,

Jean

Avatar
Member
Members
January 24, 2022 - 12:30 pm
Member Since: June 1, 2021
Forum Posts: 37
sp_UserOfflineSmall Offline

jeanlecode said

Hi Jim,

Actually we need to change 3 lines:

 

project_source/cmake/vst_cmake/

Line: 205—>smtg_target_add_plugin_resource…..

Line: 208—>smtg_target_set_bundle…..

Line: 243—>smtg_target_add_folder_icon…..

 

no need to check other files.... I'm also using canon so that's why I had to have edit some au_cmake files....

cheers,

Jean  

James (sorry about calling you as Jim 🙂 )

I worked a bit more for ASPIK today so here what we have to check:

FFWT issue on Mac:

-----------

if(WIN)
......

 

else()
message(STATUS "---> LINK FFTW Found: + Adding /opt/local/include to the header search path.")
message(STATUS " + Adding /opt/local/lib to the library search path.")

target_include_directories(${target} PUBLIC "/opt/local/include")

message(STATUS " + Adding /opt/local/lib/libfftw3.a to the link library list.")
target_link_libraries(${target} PRIVATE base sdk vstgui_support libfftw3.a)

target_compile_definitions(${target} PUBLIC HAVE_FFTW=1)
message(STATUS " + Adding HAVE_FFTW to the pre-processor definitions.")

endif()

-------------

a. We have to update the fftw root as: /usr/local/Cellar/fftw/3.3.10/lib

then we have to install fftw!

so open terminal on mac M1:

"brew install fftw" 

if anyone needs to have a local install of fftw: 

1. open .text application

2. and copy&paste this:

#!/usr/bin/env bash
set -euo pipefail
ver=3.3.10
./brew_downloader_fftw.sh fftw ${ver} big_sur
./brew_downloader_fftw.sh fftw ${ver} arm64_big_sur
tar xf "fftw_${ver}-big_sur.tar.gz"
mv fftw fftw_big_sur
tar xf "fftw_${ver}-arm64_big_sur.tar.gz"
mv fftw fftw_arm64_big_sur

3. Save this doc as a installfftw.sh file on your fftw folder in your project,

4. create another file copy& paste this:

#!/usr/bin/env bash
set -euo pipefail
: "${2:?Version} ${1:?Package name}"
# e.g. fftw
name=${1}
# e.g. 3.3.10
ver=${2}
arch=${3:-big_sur}
outfile="${name}_${ver}-${arch}.tar.gz"
echo Downloading ${outfile}
digest=$(curl --disable --cookie /dev/null --globoff --show-error --header 'Accept-Language: en' --retry 3 --header 'Accept: application/vnd.oci.image.index.v1+json' --header 'Authorization: Bearer QQ==' --location --silent "https://ghcr.io/v2/homebrew/core/${name}/manifests/${ver}" | jq -r ".manifests[].annotations | select(.[\"org.opencontainers.image.ref.name\"] == \"${ver}.${arch}\") | .[\"sh.brew.bottle.digest\"]")
curl -o ${outfile} --disable --cookie /dev/null --globoff --show-error --header 'Accept-Language: en' --retry 3 --header 'Authorization: Bearer QQ==' --location --silent --request GET "https://ghcr.io/v2/homebrew/core/${name}/blobs/sha256:${digest}"

5. and save it as brew_downloader_fftw.sh

6. Open terminal: cd /yourFFTW folder/ drag the first installfftw.sh hit return! (FYI! check your permissions on this folder)

7. That's it! now you have tow versions: 

a- fftw_arm64_big_sur

b- fftw_big_sur

 

make sure that you already installed "brew" by using this line: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

If you have any error message on terminal during the installation so make sure that you have installed jq: "brew install jq"

 

cheers,

Jean

Avatar
Admin
January 25, 2022 - 11:46 am
Member Since: January 1, 2020
Forum Posts: 107
sp_UserOfflineSmall Offline

Line: 208—>smtg_target_set_bundle

Right on, thanks mate. Can't believe I missed that. (〃‿〃)

I've just updated those files. ASPiK should be working there on mac and win. Let me know Jean, if you still wanted anything changed CMake wise relating to the fftw stuff.

I'll tidy up that git repo and send it over to Will, if no-one else has any other contributions or issues.

Cheers,

James/Jim (*^‿^)

Avatar
Admin
February 10, 2022 - 5:44 am
Member Since: January 1, 2020
Forum Posts: 107
sp_UserOfflineSmall Offline

Hey Jean,

That gui scaling bug is still proving problematic to trace but I may have a fix.

At plugingui.h around line 535 try adding;

bool scaleFlag = true; 

and at plugingui.cpp around line 474 after the switch cases in scaleGUISize add;

if (scaleFlag) {
     scalePercent = 100.;
     scaleFlag = false;
}

This will simply override whatever value the DAW has set for the GUI size at initialization and only activates on the first call.

Another issue is that the enums in the comma-separated PluginParameter list in plugincore.cpp do not match the cases of the switch in plugingui.cpp. This seems to cause the GUI to reset back again after init to the tiny state upon closing/reopening the GUI at least in VST/SAVIHost. Strangely this does not present that same issue when the parameter has been set in plugincore.cpp via the vector string method.

The fix is just to match those entries ie. normal -> normalGUI or vice-versa or alternatively set that parameter via the vector list method such as;

std::vector<std::string> scaleList;

scaleList.push_back(std::string("small"));
etc...

PluginParameter* piParamBonus = new PluginParameter(SCALE_GUI_SIZE, "Scale GUI", sizeList, std::string("normal"));

Hope that's a help to you.

Cheers

No permission to create posts
Forum Timezone: America/New_York

Most Users Ever Online: 152

Currently Online:
2 Guest(s)

Currently Browsing this Page:
1 Guest(s)

Top Posters:

Chaes: 56

Skyler: 48

StevieD: 46

Derek: 46

Frodson: 45

Peter: 43

TheSmile: 43

Nickolai: 43

clau_ste: 39

jeanlecode: 37

Member Stats:

Guest Posters: 2

Members: 782

Moderators: 1

Admins: 6

Forum Stats:

Groups: 13

Forums: 42

Topics: 849

Posts: 3370

Moderators: W Pirkle: 693