[PD-dev] Modified [partconv~] and issues with fftw3
Christof Ressi
info at christofressi.com
Wed Apr 7 12:45:45 CEST 2021
Hi Gloria,
generally, it is very much recommended to use
https://github.com/pure-data/pd-lib-builder for building Pd externals.
As Lucas' example shows, pd-lib-builder is very easy to use (only three
lines!) and it allows other people to build your external for all the
major platforms (Windows [with MinGW], macOS, Linux) simply by typing
"make" :-). Only use another build system if you really need to!
Christof
On 07.04.2021 09:44, Lucas Cordiviola wrote:
> This is the Makefile from my Deken pkg (with sources) for Windows-amd64:
>
> bsaylor[v0.1.4](Windows-amd64-32)(Sources).dek
> Uploaded by lucarda @ 2018-09-29 11:33:54
>
>
>
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
> class.sources = aenv~.c partconv~.c pvoc~.c susloop~.c svf~.c zhzxh~.c
>
>
> ldlibs = -lfftw3 -lfftw3f -lpthread
>
>
>
>
> include pd-lib-builder/Makefile.pdlibbuilder
>
> #
> #
> #
> # sources from https://packages.debian.org/source/stable/pd-bsaylor
> #
> # Source Package: pd-bsaylor (0.1-4)
> #
> #
> # patched from pd-bsaylor_0.1-4.debian.tar.xz
> #
> # MinGW needs this package:
> # mingw64/mingw-w64-x86_64-fftw
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>
>
>
>
> You have to install (from the msys2 shell) the fftw library (check
> which arch to install) with:
>
> pacman -Ss fftw
>
> then to install do (to install the amd64 version):
>
> pacman -S mingw64/mingw-w64-x86_64-fftw
>
> Then you can build directly from the MinGW64 shell (or MinGW32 shell
> if you build for i386) with:
>
> make
>
> Or if you are using your makefile add the linker flags "-lfftw3
> -lfftw3f -lpthread". (i can't remember how to do this with
> code::blocks but I'm sure you can).
>
> PS: then you need to copy files "libfftw3-3.dll libfftw3f-3.dll" from
> somewhere in your compiler folder to the same folder as your externals.
>
>
> Hope it helps.
>
> :)
>
> Mensaje telepatico asistido por maquinas.
>
> On 4/7/2021 3:54 AM, Gloria Dal Santo wrote:
>>
>> Hi everyone!
>>
>> I’m trying to create a sort of 3d audio reproduction system by
>> convolving the dry sound with the BRIRs of a room.
>>
>> The patch I’m working on will be connected to a head-tracker so that
>> I can change BRIR depending on the position of the listener.
>>
>> To achieve this I tried to use bsaylor’s [partconv~] but
>> unfortunately, when I set a new impulse response, I have a short dead
>> time. To fix this I tried to cross fade the output of two [partconv~]
>> but this messes up the binaural cues, it is not the right approach.
>>
>> My idea is that of modifying the .c code of the external to get what
>> I need. Usually, I work on Code::Blocks, MinGW compiler, Win10. I’ve
>> already built some super simple externals, but this time I’m facing a
>> problem that I’ve never encountered before: to perform the Fourier
>> transform, partconv~.c uses the fftw3 library, and I couldn’t find a
>> way to add it to the Linker Options.
>>
>> From what I’ve understood online, fftw3 is a dynamic library,
>> therefore there’s no .lib file. On Code::Blocks Settings -> Compiler
>> -> Linker Settings -> Link libraries I cannot load a .dll dynamic
>> library. I tried different solutions that I found online but none of
>> those worked. I get “undefined reference to” errors when calling all
>> the fftw3 functions.
>>
>> Can any of you help me somehow? If you were able to write an external
>> that referred to the fftw3 library, how was your setup?
>>
>> Moreover, I saw that in the bsaylor’s library folder there are also
>> files of the type .dsp, .dsw, .o. Once I modify the .c code, should I
>> update those as well?
>>
>> I hope that I stated my issue clearly, if now please ask me for
>> further details.
>>
>> Thank you in advance for your time.
>>
>> Gloria
>>
>>
>> _______________________________________________
>> Pd-dev mailing list
>> Pd-dev at lists.iem.at
>> https://lists.puredata.info/listinfo/pd-dev
>
>
>
> _______________________________________________
> Pd-dev mailing list
> Pd-dev at lists.iem.at
> https://lists.puredata.info/listinfo/pd-dev
More information about the Pd-dev
mailing list