Skip to main content
Participating Frequently
September 25, 2013
Question

libsndfile and Photoshop

  • September 25, 2013
  • 1 reply
  • 947 views

Hi

i'm trying to compile a 64 bits version of my 32 bits plugin which works ok on CS2

i came to a point where when i add in my code any libsndfile related function (sf_open, sfinfo, sf_read_double) the plugin don't show anymore on the plugin list.

If i remove them, the plugin shows back.

So how come ?

I've tried to put a boolean before the code to false, and modify to true when the function is used but it doesn't work. The only thing that works, is when i put "if (false) {}" between the functions.

I don't understand how Photoshop works: Is it testing the plugin in some ways ? If so, the code part where i put a boolean to false, should not work, though should make the plugin appear...

please enlighten me.

Jeff

This topic has been closed for replies.

1 reply

Tom Ruark
Inspiring
September 25, 2013

It sounds to me that you are using libsndfile as a dll and the OS cannot find all the necessary pieces when LoadLibrary is called by Photoshop on your plugin.

Are all the DLL's that your plugin needs next to the Photoshop.exe?

Are they the correct platform (64 or 32)?

I use depends.exe to figure out the missing pieces. http://support.microsoft.com/kb/198038

ion_oneAuthor
Participating Frequently
September 26, 2013

thank you for your answer

i usually put the libsndfile-1.dll in the same folder as the plugin and it's usually working, but here i had to put it in the windows folder for it to work, and the plugin then shows. Only issue, i don't want to put the dll in the windows folder (for example 32 bits and 64 bits dlls of libsndfile have the same name)

so how do i sort it out ?

thanks

Jeff

ion_oneAuthor
Participating Frequently
September 26, 2013

oh, there was already a version of libsndfile-1.dll in my sysWOW64 folder, so it was working that way

i don't need to put the dll with my plugin, i have to install it to system32 or sysWOW64 on 64 bit windows (even if it's a 32 bits library).

so all is fine now, except that i don't like to put dlls inside a public folder where i can be overwritten, etc.

but hey it's windows hun.