AudioTK library
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
Yeah, I should probably have a simple toy example plugin and then explain how it is built on a blog post. I'll plan it soon.
Thanks!
Thanks!
-
- KVRAF
- 2550 posts since 13 Mar, 2004
Ugh..the quest continues...
Release builds work fine now, but I've tried to do a debug build:
I guess this means I also have to do a debug build of the ATK library first right ? (I've only done a release build so far).
If so, how do I do the ATK lib folder structure ?
Currently I have:
ATK_root
- 32
release build
- 64
release build
Where do I put the debug builds ?
Or need I just to switch a setting in visual studio ?
Release builds work fine now, but I've tried to do a debug build:
I guess this means I also have to do a debug build of the ATK library first right ? (I've only done a release build so far).
If so, how do I do the ATK lib folder structure ?
Currently I have:
ATK_root
- 32
release build
- 64
release build
Where do I put the debug builds ?
Or need I just to switch a setting in visual studio ?
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
Most definitely. A debug build for your application should always be matched with a debug build of the libraries.
It's a switch setting in VS, just select the Debug build instead of release.
It's a switch setting in VS, just select the Debug build instead of release.
-
- KVRAF
- 2550 posts since 13 Mar, 2004
Thanks.
But when doing a debug build of the ATK library, where shall I put the binaries ?
Can I make it so that in future VS picks up the correct version of the library automatically depending on if I do a debug or release build of a plugin ?
But when doing a debug build of the ATK library, where shall I put the binaries ?
Can I make it so that in future VS picks up the correct version of the library automatically depending on if I do a debug or release build of a plugin ?
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
By default, VS will build the libraries in a Release or Debug folder. If you are installing them somewhere and use the installed version, then you must pay attention to which version you installed before (Release or Debug), VS can't do this for you, unfortunately.
If you want to pick up the proper library, then you may want to modify the debug name by postfixing a 'd' for instance. I don't remember the name of the cmake function to do so.
If you want to pick up the proper library, then you may want to modify the debug name by postfixing a 'd' for instance. I don't remember the name of the cmake function to do so.
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
I've started releasing binaries on github (compiled automatically by travis-ci).
I have a plan for a future tutorial, as No_Use suggested. Perhaps in the next couple of weeks.
I have a plan for a future tutorial, as No_Use suggested. Perhaps in the next couple of weeks.
-
- KVRAF
- 2550 posts since 13 Mar, 2004
While building the ATKStereoUniversalDelay example (using Master branch) I think I found a small bug / quirk:
In resource.h images are specified as
while in resources/img/ there are contained:
Thanks btw. for keeping my tutorial suggestion in mind.
edit:
About the tutorial, I'll list my beginner's pitfalls here maybe you find it useful for mentioning in the tutorial (for building plugins on Win):
CMake:
- Enable static libraries
- set MSVC_Runtime to static
- make 32/64 install versions by choosing the appropriate generator
VisualStudio:
- build debug and release versions of the library if you want to build debug and release versions of plugins
- For building the ATK-plugins, make an environment variable "ATKROOT" (this is mentioned on the GitHub page already).
Folder structure should look like this:
%(ATKROOT)
/32
//include
// lib
/64
//include
//lib
In resource.h images are specified as
Code: Select all
#define UNIVERSALDELAY_FN "resources/img/Background.png"
#define KNOB_FN "resources/img/uni-small.png"
#define KNOB1_FN "resources/img/bi-small.png"
Code: Select all
bi-small.png
metal.png
uni-small.png
edit:
About the tutorial, I'll list my beginner's pitfalls here maybe you find it useful for mentioning in the tutorial (for building plugins on Win):
CMake:
- Enable static libraries
- set MSVC_Runtime to static
- make 32/64 install versions by choosing the appropriate generator
VisualStudio:
- build debug and release versions of the library if you want to build debug and release versions of plugins
- For building the ATK-plugins, make an environment variable "ATKROOT" (this is mentioned on the GitHub page already).
Folder structure should look like this:
%(ATKROOT)
/32
//include
// lib
/64
//include
//lib
Last edited by No_Use on Fri Mar 10, 2017 2:26 pm, edited 3 times in total.
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
Oh, I didn't recompile the Windows plugins, so indeed, there may be several of these discrepancies, as I recreated all the OS X projects. Some Windows files may have been changed in the process (probably the end of the alphabet :/).
Thanks!
There should be a small tutorial on my blog next Tuesday.
Thanks!
There should be a small tutorial on my blog next Tuesday.
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
Actually, that's a plugin that I will soon release properly.
For 2.0.0, I refactored lots of things and added the option of having complex filters (useful for adaptive filtering). Soon out...
For 2.0.0, I refactored lots of things and added the option of having complex filters (useful for adaptive filtering). Soon out...
-
- KVRAF
- 3388 posts since 29 May, 2001 from New York, NY
Is there any chance you would also release windows debug binaries on github ? The release binaries work great, but they can't be used in debug builds of my app.
Thanks !
Thanks !
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
Hi,
I could add this on the CI builds, but it's quite cumbersome. Also please note that these builds are not complete and lack some tools that the CI don't provide (like working patched VS2017).
If you are using JUCE, you can directly use the source code and add the modules inside JUCE, or you can also compile the library yourself if the need is urgent (I don't have plans at the moment for a new release, but I'll consider adding the 64bits debug builds for VS2017).
I could add this on the CI builds, but it's quite cumbersome. Also please note that these builds are not complete and lack some tools that the CI don't provide (like working patched VS2017).
If you are using JUCE, you can directly use the source code and add the modules inside JUCE, or you can also compile the library yourself if the need is urgent (I don't have plans at the moment for a new release, but I'll consider adding the 64bits debug builds for VS2017).
-
- KVRAF
- 3388 posts since 29 May, 2001 from New York, NY
I managed to build it myself but it was quite painful... I had to patch some of the cmake files to get it through the build.
Also, things like this did not compile with VS2017:
and I had to change them to this:
Also, things like this did not compile with VS2017:
Code: Select all
boost::math::tools::polynomial<DataType> poly1({-z[i].real(), 1});
Code: Select all
const std::vector<DataType> d{-z[i].real(), 1};
boost::math::tools::polynomial<DataType> poly1(d);
-
- KVRAF
- 3388 posts since 29 May, 2001 from New York, NY
On an unrelated note - in your TS9 example, you oversample x4 and then filter to 48000 before decimating. Shouldn't it filter at nyquist instead ?
Also, in some cases the TS9 overdrive generated NaN, given valid input samples. Do you have any ideas why that would be ? I couldn't get it to happen after changing the oversampling to x8, but it makes me a bit nervous that it can happen under unknown conditions....
Also, in some cases the TS9 overdrive generated NaN, given valid input samples. Do you have any ideas why that would be ? I couldn't get it to happen after changing the oversampling to x8, but it makes me a bit nervous that it can happen under unknown conditions....
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
Strange, my only Windows platform is VS2017 and I didn't have issues? Which Boost versiona re you using?Big Tick wrote:I managed to build it myself but it was quite painful... I had to patch some of the cmake files to get it through the build.
Also, things like this did not compile with VS2017:
and I had to change them to this:Code: Select all
boost::math::tools::polynomial<DataType> poly1({-z[i].real(), 1});
Code: Select all
const std::vector<DataType> d{-z[i].real(), 1}; boost::math::tools::polynomial<DataType> poly1(d);
What are the changes you had to do? The CMake GUI should have made it possible to configure everything without changing anything inside the code (at least that's what happens on appveyor).
-
- KVRian
- 1379 posts since 26 Apr, 2004 from UK
Strange, I thought it couldn't generate NaN, it should have output constant data if the convergence failed. I'll have to look at it again during the holidays.Big Tick wrote:On an unrelated note - in your TS9 example, you oversample x4 and then filter to 48000 before decimating. Shouldn't it filter at nyquist instead ?
Also, in some cases the TS9 overdrive generated NaN, given valid input samples. Do you have any ideas why that would be ? I couldn't get it to happen after changing the oversampling to x8, but it makes me a bit nervous that it can happen under unknown conditions....
What's the link for the TS9 example? In the test folders, everything seems to cut at 20kHz, not 48kHz? I must be looking at the wrong page.