WaveFilter Open Source Project
  Stuff for Visual BASIC and C Programmers

Main Site



I am proud to announce the availability of WaveFilter as an open source project. 

After negotiating to resolve any contractual challenges, NewTek and I were able to come to a satisfactory agreement that includes releasing all WaveFilter source code to the general public for continued porting and feature augmentation. I have posted many of the original source materials, and there will be more to follow. As part of the resolution, NewTek has agreed to let me post the current LightWave 6.5b version of WaveFilter as ported by NewTek.

If you have questions about the code, except the NewTek written stuff, I will try to help where I can. For the NewTek source please send refer to the LightWave developer mail list at http://groups.yahoo.com/group/lw-plugin.

Terms and Conditions

This source code is here for anyone to use for any reason you like. All I ask is that if you use any of the code here, that you share your new software, along with the source code, for everyone to play with. I also ask that you give the folks who originally created the code credit in your about box. Or, if giving credit to others is not your style... then steal away... I am just glad I could help!

If you have questions, email WaveFilterGuy@WaveFilter.com.

Free Plugins


Source Code

I will be adding all the source from the WaveFilter project and more. If I think someone might find it useful, I will add it. With over 20 years of professional coding behind me, I have a lot of code that might be helpful to others. Currently there are a number of different files available for you to download. I hope to have some helpful "WaveFilter Guy Help Documents" that show how to include a few key features in LightWave plugins. I'll add stuff here as requests come in and as I run across stuff that I think folks might find interesting. 

Here is the C source code as supplied to me by NewTek. It includes the shipping version of WaveFilter Image as well as the start of the ports of WaveFilter Shader and WaveFilter Volume. Both Shader and Volume included interfaces that the current version of LightWave Panels simply can not accommodate and thus they are not complete.


My current work is in the Artificial Intelligence and Natural Language fields and my current project was to create an Internet centric knowledge base server called [Q]Server and a Web based front end called My[Q]Box

This product included the need to have the answers spoken aloud, so I wrote a very quick interface to allow Visual BASIC to use the Microsoft SAPI5 (Speech) SDK which normally only supports C++. I have given the VBSAPI5.dll to many folks to help them integrate this cool feature in their software as well. From day one of this project, the source code has always been available for those who request it. I include it here just because it's cool and fun to play with. It is also a good starting point to help VB programmers work with Microsoft's latest Text-To-Speech engine.


All you need to use the .DLL is SAPI 5.0, a sound card and VB installed. Put the DLL in your system32 folder. You may want to test SAPI 5.0 via it's samples to assure that it's working before you continue.

Here is a step by step to getting a quick example up and running:

Start VB, create a new project. Open the Project->References panel from the VB menus. Click the Browse button and select the new DLL from your system32 folder. Click OK and the panel will close. Double click the main form which will open the Form_Load() procedure. Type (don't copy paste or you'll miss the IntelliType) the following line of code into the procedure. 

Text2Wav "Hello World", "" 

Now turn up your speakers and hit run. That's it!

To write to a file, make the second parameter a valid filename with a .wav extension. In that case the command will write to a file rather than speak the text.

I tried to make this as simple as possible, I hope you agree that it's very simple to use. One caveat to remember, SAPI 5.0 requires a sound card to be present and fully configured even if you write the sound to a file and it never touches the sound card.

Here is the DLL you will need if poking around in the C++ code doesn't sound like any fun. VBSAPI5.dll

This is the Visual BASIC source code for the WaveFilter Tools. These were written to work with LightWave 5.6 but several of the tools are generic in nature and are useful for any 3D program or even video editing in general. I'd love to see the evolver updated to use the new object format. That is was one handy utility! These utilities were written in Visual BASIC 5.0 but should load and  work fine in Visual BASIC 5.0. 


Gareth Shikles who once worked for me and now works for NewTek in Texas ported WaveFilter Net+ to work on the Amiga version of LightWave 3D that ships as part of the original Video Toaster. Here is his version of WaveFilter Net+. Gareth used an interface library to completely rewrite the interface portion of the code. Gareth ported this in a few weeks in his spare time. Yes, he is an Amiga master!

Net+ was the version of WaveFilter that included the DOF Filter that used null objects to control the focus.


Mark Smerchek ported WaveFilter Image to 3D Studio Max. This is the source code that he derived from my original code. Mark took a couple of weeks, in his spare time to port this. Mark read my code and ported it to a completely different platform that used floating point vs. 24 bit color and used completely different buffer layouts. Mark, of course, is a very cool coder.