Yes, you can. The project in my book makes use of a RackAFX-only feature; when you set the flag m_bWantIRs in your constructor, the RAFX Analyzer's main panel becomes part of your pluug-in; you can then double-click on any of the IRs in the list (that you've created and saved in RAFX, or imported by copying the IR wave files into your IR1024 directory. See the book for more details about IR length and operations. You can also get a bunch of free IRs at the link in the sidebar.
But if you want to use the convolver in a VST client, you'll need a different way to parse the IR information; it could be hard-coded. But a better way is to read the IR directly from a wave file. There is a RAFX object already there for you to do this, built into the code. I'll try to post a Convolver project that opens a wave file and extracts the IR for convolution sometime soon (very swamped with work right now). I'll post the link as a reply to this topic.
All the best,
PS: the book convolver will compile as a VST DLL just fine with no changes; you just have to make your own way of getting the IR
Thats great Will. Thanks for getting back to me.
Just to let you know what I'm doing...
My university project is based around modelling reel to reel players and using the IR's to form a database. The plug-in I hope to program will include the database of wavs as presets.
Look forward to seeing your convolver project, obviously when you have time.
I placed a project called ConvolveIt on the Projects page. You can get it and the details here:
You can easily turn this into a VST plugin with "Make VST Compatible" on the Edit Projects page.
All the best,
Sorry to bother you again. I've got the convolveit project compiling and running in my vst host.
The issue I'm having is building the project in release mode, it only allows me to build it in debug mode. Release mode seems to give me the error, 'unable to start program' and displays the path name for convolveit.dll.
I'm guessing thats why its sounding glitchy?
Yes, you must build in Release mode to get rid of the Debug code-overhead.
I have only heard of a problem like yours once - it had to do with an anti-virus software that was installed. In the constructor, I show how to open a wave file programmatically - it is located in the C:\ root which is "off limits" for some anit-virus software. Try removing that loading statement (or moving to a new location) and/or disabling your anti-virus software.
This has nothing to do with RackAFX - seems to originate with the anti-virus thing.
Also, in the sample project, I setup debug and release mode to be identical except for optimization (Release mode gets full optimization for speed); you might be able to tweak the Optimization setting (Favor Speed over Size) in Debug mode.
Let me know when you find the culprit I'll ask around with my students too.
It sounds to me like you are building the program in a funny way. An error like "unable to start the program" would imply that it's trying to run the program, nut build it. I can create this same error in VS by clicking the drop-down menu debug, then clicking start debugging.
My guess is that you're clicking the green arrow on the Visual Studio interface to build, which will cause problems. That is more like a 'Run' button.
I managed to successfully build the convolveit project once, in debug mode, but it's obviously crashing inside a DAW because of the cpu hogging.
When i try and build in release mode i get this error:
Creating library C:\Users\Frances\AppData\Roaming\RackAFX\PlugIns\ConvolveIt.lib and object C:\Users\Frances\AppData\Roaming\RackAFX\PlugIns\ConvolveIt.exp
1>LINK : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
Any help would be really appreciated !! Thanks
Which version of VS are you using? If 2012 did you upgrade from 2010?
We had some big issues with VS2012 last summer when a Microsoft update (Win7/8) killed VS2012. There is a topic in another part of the Forum regarding this. It happened to me, but I was not able to compile at all.
When you compile in Release mode, are you doing a clean rebuild (to delete intermediate files)?
Also, see the threads here:
for multiple issues with VS2010->2012.
Hope that helps - let me know what you find.
Quick question: do you have "Make VST Compatible" checked on the Edit Project panel?
I had a student this semester who, for one project only, got this COFF file error but only when that box was checked. She was also on VS2010.
Let me know if you do, and if unchecking it helps; I will look at it over the weekend if so. It might be a rogue file.
i'm a student in sound enginiering and doing my last project . my university does not focus that much on coding that's why i chose this project so i can expand my knowlege on this area a bit. i bought the fx book and it is super helpfull and i'm realy greatfull. But in my project i want to build this convoler as a vst plugin for a daw and it doesn't work. is there any diference between the convoler and convolent project except the button for loading the irs? cause in rackafx i can load any kind of Irs and everything works fine. when i try the convolent only the optimal Ir works even in the rackafx. at the daw it's gliching.
just to clarify i do the realese mode build , the antivirus is not a problem since the build is successful and i'm using VS17
For any non-RackAFX project, just use the basic convolver code. Do not set the flag for m_bWantIRs or any of that stuff. None of that is available outside of RackAFX.
I have had students do convolver projects for VST and AU by using the convolution code from the book, but modified to use their IRs - no major problems except the CPU overloads that linear convolution incurs.
IF you have not done so, please consider taking my survey (anonymous):
Hello again . the cpu overload is still there with most of my ir's using the convolent project. thing is i want to make it to load wav files. is there any other way you can suggest for that? i guess the cWave object method is at fault (since in the convoler project in the rackafx the is no cpu overloading happening) or maybe give a tip so i can change in the convolent project?
The CWaveData object opens the wave file and transfers its content into a floating point buffer. Once this is done, the wave file is closed. So this object does not read the file as you use it - it pre-loads it into a buffer and then you access the data directly. It isn't the problem.
You might want to look into profiling the code to find bottlenecks.
Most Users Ever Online: 55
Currently Browsing this Page:
Guest Posters: 1
Newest Members:AdamR, Stuart, Al Calabrese, frankthetank, dhodgson, Wanderer, mister1234, Evan Galvanek, Rowan Fraser, patrickbarr1984
Moderators: W Pirkle: 350
Administrators: Tom: 69, JD Young: 80, Will Pirkle: 0, W Pirkle: 350