Just for fun, I’m pleased to announce a working version of QtMosaic.
It allows to create a mosaics database and then generate a photomosaic from this database.
For instance, here is an original image:
The used database is freely available on the Internet, and the photomosaic is generated with 18×24 thumbnails:
The code is available on GitHub, as usual, and it has been tested on Windows and Linux.
I’m pleased to announce the release of my first VST plugin (Windows 32bits), based on the simple overdrive prototype.
It is a mono filter, with an oversampling of 2 to 32, based on polyphase filters, and the undersampling is done after an 8th order Butterworth lowpass filter with a cut frequency of 22kHz.
The source code will be available (under the GPL) in the future if there is interest in the plugin and its support. The exact way it works will be explained in a future blog post.
The audio plugin is available on Sourceforge: https://sourceforge.net/projects/qtvst/files/QtSimpleOverdrive/
If you find any issue, please submit it on Github: https://github.com/mbrucher/qtvst
Please note that the oversampling can be quite CPU intensive (on my laptop, an Intel Core2 T7200, using an oversampling of 4 at 96kHz uses the full power of one core).
I’ve set up a SourceForge project where I will put all the binaries for this project.
The source code is still on Github (https://github.com/mbrucher/QtVST), but it won’t always contain the source code for each VST plugin. The next plugin I’m working on is based on the overdrive I’ve blogged about some months ago.
The download page: https://sourceforge.net/projects/qtvst/files/
Some months ago, I’ve modified the AGain plugin sample from the VST SDK to add a Qt window. At that time, I encountered an issue with Vsthost, which is a common VST host. The issue was that in windowed mode, the plugin’s UI wasn’t displayed. With Traktion, I didn’t have this problem, but the minihost (a sample from the SDK) also didn’t use the UI size.
When developing pyvst, I has to implement the retrieval of the size of the plugin, and I’ve decided to add this to QtAGain. I was surprised to see that it actually work with just giving back the UI size (so fixing this was less than 5 lines).
So now, I know that to impelment an UI for a VST plugin, I have to implement:
- but also getRect()
Don’t make the same mistake as I did, do implement all three of them, even if your favorite VST host can live without getRect().
P.S.: Mixing Qt for VST UIs and wxPython for pyvst works really fine!
I’ve searched if someone has already used this new version to create a VST plugin. The only blog post I’ve found does not use the Qt Solution and is not perfect. According to the documentation what is missing in this solution is precisely what the Solution should do. So let’s try it.
Contrary to what the title may hint to, this book is an introduction to C++ and the Qt library. And in the process, the authors tried to teach some good practices through design patterns. So if you’re a good C++ or Qt programer, this book is not for you. If you’re a beginner, the answer is in my review.