SUBJECT: Need help with PD externals

Hi,

  1. I have written some code in C/C++. I would now like to create a pd external and be able to run my C/C++ code in pd (windows environment). I would like my PD object to have say 3-4 inlets and 2-3 outlets.
    Furthermore at least one of the inlets would contain compound data, something like an array of 10-15 floats.
    Thus my external would be a bit more complex than the 'very basic one', which has a single float as inlet, & a single float as outlet.

  2. I work in the windows environment (currently my operating environment has pentium machines with windows operating systems installed on them (windows XP, or windows 2000 Professional).
    I am using a the free DevCPP or DevC++ compiler (version 4.9.9.2) the IDE, (which uses the gnu C compiler MinGW at its base). Furthermore, I am using: Pd version 0.38.4-extended-RC8 (windows platform). I wonder if someone has already developed externals in a same (or similar, i.e. Windows) environment.

  1. If someone has, can you please mail me a simple compilable code that you might have had prepared, and guide me through the exact steps which one must follow to make a pd external.
  1. I wish to know, if in the Windows/DevCPP compiler environment, whether it is possbile to create a PD external without creating a dll in windows, or is it always necessary to first create a dll, even in the simplest case?
  1. Last, but not the least, I must mention here that I don't have "a lot" of experience in pd, so I will appreciate if someone could explain things in an easy to understand style.
    But in any case, I will ask again, in case I don't understand something. ;)
    I hope that should work.

Thanks and regards,

ps:

The following should actually have been posted as a separate thread, but since its related to the topic above, i continue to write it here:

In addition to what I have asked for above, I would also like some feedback on the following...

SUBJECT2: Creating/Compiling PD externals

My previous unsucessful attempts at creating/understanding the PD external:
I had tried to read through, and tried to implement the sample code in the tutorial, named:
"How to write an External for puredata" available at the iem site...

But I am facing a few problems, and here are some specific queries related to that:

A.) While in the windows environment, must one always need to create a dll first, or is it possible to create a PD external in any other way as well?

B.) If one must do it by first creating a dll, then the code as mentioned in the tutorial would need to be modified and can't just be copy+pasted & compiled directly. I.e.
i) One needs to paste the data declaration part in the header;
ii) Also one must declare all the subroutine (i.e. procedures/methods) names in the header file as well, while their definition or implementation goes in another main file, which must include our earlier created header file; and finally
iii) One must insert a special prefix before all the methods when are required for the dll...

Am I right about the 3 above mentioned points?

Thanks yet again,