G'day, Will! And Forum goers! 🙂
Sorry about the length and probable unhelpfulness of the post. I've broken it out into a short and long version. I hope that redeems it somewhat. :\
The problem and relevant information in brief:
I built the dynamics demo project, and it doesn't process audio. GUI loads fine, but the debugger says it (the DAW) throws an exception when calling the pluginbase constructor, and it behaves as if the processing guts never start up. That's all the information I could get, because I've no idea what I'm up to and stopped in sadness and defeat -- and now when I try debugging again, it doesn't go well. (planning on rebuilding from the original download, because apparently i screwed something up and can't find it. 🙁 )
What I actually wrote: (there's probably not anything helpful in here. I leave it in because expressing frustration is cathartic. ^^ )
I'm feeling a bit silly (and actually kinda bad) asking this, but I downloaded the dynamics processor demo project from the website, and built the VST3 in debug. It loads fine in FL studio, but doesn't do anything when you tweak controls. No audio processing occurs at all -- input goes to output. Reaper comes up and crashes when you load it, reporting nothing helpful that I know of.
I got adventurous (for a newbie/probable moron 😉 ) and attached the visual studio debugger, plopped a breakpoint on the constructor for pluginbase in pluginbase.cpp, saw it (the DAW) throws an exception calling memset on the outputframe (if that doesn't make any sense to you -- me too! ) and heroically realized "I don't know what to do with any of this information. . . And I've never debugged anything larger than a 1 cpp sized console application " (I'm quickly finding out that I'm not great at learning programming, my IDE, or this seemingly simple framework. 🙁 ). . .Â
For whatever reason, since that debugging session, the project fails the VST build, and isn't very helpful at telling me exactly why. . . Or I'm not educated enough to know what it's saying. My plan for fixing that is "scrap it and build the solution again with cmake," unless one of you helpful forum folks have a smarter strategy that might help me learn how to properly solve these kinds of problems.
. . . Does anybody have any advice? I feel like this is the kind of thing I should be able to do myself, so if you'd like to offer hints instead of "here, fixed it for you" -- that might be useful. . . Although with my knowledge, it may be casting pearls in font of swine. I really hope not. :\ I just don't know why this code, which looks the same to me as other working ASPIK code, just isn't working. . . I'm sure I can learn this (programming) but it looks like it's going to take an awfully long time.
W Pirkle said
Which version of the VST3 SDK did you use? The current ASPiK and projects do not support 3.7.2 but I am working on a release now, shooting for mid-next week for both ASPiK and a new RackAFX. There were numerous changes in VST SDK 3.7.2.
WillÂ Â Â
Looking at the local documentation that came with it, it appears I am using 3.7.2. . . Hm. If there is a better place to find the SDK version, let me know. 😛
Most of your other plugin projects compiled just fine. Haven't gotten to all of them yet, of course. And this one compiles okay from a new project; it just. . . Doesn't process audio. 😛
Oh well. We'll see if your patch fixes it. I dunno why the SDK would only break this one plugin though. Are these changes to ASPiK going to change how we use it very much? I'm still finding my sea legs as it is. 🙂
The ASPiK changes should be transparent for you.
I will also do a once-over of all of the sample projects (which I did from the last ASPiK update) to make sure they work properly and will have to test the Dynamics plugin during that so I will have more information when that update is ready.Â
Hi will. I dunno if I did something wrong, but (I think) I have updated ASPiK and tried the new version of the dynamics project, and this one isn't working either.
I copied the current ASPiK version of vstgui4 to my new "projects" folder, and to the ALL_SDK VST3_SDK folder; then installed the dynamics plugin as per the normal instructions.Â
The project appears to build fine, but will not load in the DAW. (any DAW) Other projects, like the Tube pre-amp seem to build and load fine.
When I ran cmake to build the compiler project, I encountered the following suspicious looking text. (I get these on all new ASPiK projects now)
looking for C++ include stdatomic.h
looking for C++ include stdatomic.h - Not found
. . . . . . . .
Could not find EXPAT (missing: EXPAT_LIBRARY EXPAT_INCLUDE_DIR)
VSTGUI will use embedded Expat Package!
I'm not sure what I'm doing wrong here. There are compiler warnings, but visual studio nearly always throws warnings (although it seems to notice more trivial sounding problems when something is wrong: I don't recall the old aspik throwing any warnings on a successful build, but I don't know how to roll it back to mess with projects built before the current release to be sure. . . )
First, when you installed the new VST3 SDK, did you build the sample projects? This should always be done as a sanity test in case things suddenly don't seem to work correctly, for every new VST3 SDK. Steinberg is notorious for releasing SDKs that break their previous sample projects and code - be fore-warned.Â
Secondly, this is what I did:
1. download the ASPiK Dynamics project from https://www.willpirkle.com/fx-book/project-gallery/dynamics/Â
2. placed it into my VST_SDK/VST3_SDK/myprojects folder, which also has the new VSTGUI 4.10 installed into it, all as per the normal instructions
3. Built in MacOS (I always test MacOS first, because Xcode is less problematic than Visual Studio, the plugins build in Xcode in 1/4 the time, and they always execute faster in DAWs on MacOS) -- the build succeeded and the Dynamics VST3 showed up in Reaper64/Mac
4. Built in Windows, using VS2019. The build was slower but did rebuild and validator passed. Copied VST3 bundle to Reaper 64 v6.19, plugin showed up and worked as normal.
5. Tested in new Reaper 6.32. The VST3 bundle plugin did not show up - in fact, the entire VST3 portion of the FX "Add Plugin" dialog was gone, along with all my other VST3s. I had to copy the internal .vst3 file from within the Dynamics bundle into the VST3 folder, rescan, then it showed up.
Now this is where the VST3 SDK sample projects come into play: none of them showed up in Reaper 6.32 either. I had to copy the .vst3 files out of their bundles to get them to show up.
This points to a bug in Reaper 6.32 since even the SDK's own sample plugins won't show up in it. I would place the blame on Reaper rather than the new SDK because even my older VST3s built with 3.7.1 and 3.6.14 did not show up either.
Since the last version I had installed was 6.19, I do not know where along the sequence of 6.20 - 6.32 the VST3s were broken, but, given that the SDK samples don't show up either, it must have happened somewhere along the way.
As for the warnings, yes (*sigh*) this is very confusing and frustrating, especially for me, as ASPiK always gets blamed first. I have had numerous people assume that these warnings are why their plugins aren't working/are crashing/aren't compiling, etc...Â
You can ignore these warnings - and I really wish Steinberg would put a CMake message in there letting people know that these are benign and not an issue, and never have been.Â
Yes, the projects that came with the VST SDK (3.7.2) compile and run, even as bundles inside of FL studio. As do newly created ASPiK projects with the latest SDK.
Copying the VST3 out of the bundle seems to have fixed the Dynamics plugin. . . Why in the name of Odin's beard did that fix anything? 😛
The only reason I suspected that my ASPiK upgrade may have broken something, is because I've never actually had to update the things I've cloned from Github before, and I am convinced I have done it wrong somehow; especially since I saw those errors. But everything appears to sort of still be there, just in updated form. 🙂 At this point in my learning, I really don't want to give you the impression that I think your code is broken or something. I'm still so new at all of this stuff, just setting up projects (or updating an SDK, apparently) is a daunting, slightly ambiguous task to me, and chances are good the error is on my end.
As for the warnings, yes (*sigh*) this is very confusing and frustrating, especially for me, as ASPiK always gets blamed first. I have had numerous people assume that these warnings are why their plugins aren't working/are crashing/aren't compiling, etc...
I feel for you, mate. Anyone who has ever worked in customer service or tech support (even in the corporate world) knows the customer is always an ignorant insensitive jerk -- I mean, right. They're always right, and it was our incompetence that caused their problem. Of course. 😛 *-cough-* "Thank you for your honest and enthusiastic feedback. " . . .
For whatever it's worth, I'm grateful for this SDK, and synthlab, and your books, and this forum, and especially for your time. It made me a bit sad, hearing folks haven't really contributed or given back to any of it, even though it's open source. I'd love to, but. . . well, I think you have an idea of my level of skill by now. 🙂 Hang in there, mate. People appreciate it even if they forget to show it.
Let me know if there's anything I can do to help out, or make working with me easier.
I work in commercial software development - I'm aware of the blame-chain!
My biggest two problems are: (1) Steinberg VST3 SDKs - each new version has surprises and for plugin framework developers, there are no release notes or other help so you are kind of on your own... and (2) time - I wish there were two of me.Â
Most of the time, user issues are not an ASPiK or RackAFX issue, but a misunderstanding about something that is usually easy to clear up. However, when new releases of the VST3 SDK happen, or I make major changes to the underlying code (often a result of the former), then I am ready to blame ASPiK and RackAFX myself.Â
My old students from around 2009-2011 will remember (unless they've blocked it) getting a new version of RackAFX (then named "Socket") practically every single class. When errors popped up they were almost guaranteed to be Socket's fault. But, with the new RackAFX 7 and then later ASPiK, which were both essentially re-built from the ground up, and the maturity especially of RackAFX, most horrific problems (crashing, burning, maiming, blowing up) tend to not be the fault of the SW but of some other issue.Â
I am happy that you have the Dynamics working properly! The "vst3 in bundle" issue has come up from time to time, and early on it always worked properly in Reaper. But I guess that slipped through. If the VST3 samples DID work correctly in Reaper then I'd suspect something in ASPiK instead.
Most Users Ever Online: 152
Currently Browsing this Page:
Guest Posters: 1
Moderators: W Pirkle: 689