No religios discussions here ;-)
It looks like Björn knows what to do.
I'm sure he does. Everything else about the VST plug-in is great and very easy to use. It was not meant as a 'religious' comment, just me wondering why this is so, trying to understand the reason for the otherwise illogical declaration
The cast to a void-pointer is just a generic way to avoid type-mismatches which will happen under OSX, since there no HWND datatype does exist - that is a Windows only datatype.
I guess HWND is a Windows thing, though OSX would have something similar. But couldn't you typedef youself out of that with some conditional defines, adding the missing type on OSX? Unless BASS_VST_EmbedEditor changes the parent window handle, and I can't see why, the handle should be passable as a value, even on OSX.
Take a look at native BASS. Ian is already using a lot of void-pointers, which is simply a generic pointer to any kind of object - a stupid address so to say.
I have only been using the Delphi version and to this day never seen a function using pointers unless it made sense. Like for instance passing a filename or a function address, which could not be parsed as a value.
Anyway, this is not meant as criticism in any negative way. I'm very greatfull to all participating in developing BASS, plug-ins for BASS and keeping the Delphi wrappers up-to-date. I realize the amount of work going into this is big, being a fulltime developer my self.