I found some time and added headkaze's logic to my software and have some problems:
1) Inside the JukePlugIn class there is a routine called "GetPluginInfo()" which calls "CallFuncPtr()". I just confirmed the "CallFuncPtr()" routine does not populate the name, author or version information at all. Whatever value these text strings have before the call to "CallFuncPtr()", they have after the call to "CallFuncPtr()", although they are always padded with trailing "space" characters until the length of the text string is 256.
Are the parameters being passed by reference (like they should be) or are they perhaps being passed by value instead (which would be incorrect)?
2) Why is the PluginInfoType and SongInfoType structures defined with a "* 256" value next to each field?
3) Why are you using "strncpy" to copy the name, artist and album plugin information? I do not think this appends the null terminator to the end of the string. Am I wrong?
4) I updated the SongStart routine to have three input parameters (ie: name, artist and album). Now, when a song is started in my software, the SongStart routine of the plugin is called and a MessageBox is displayed which shows the song which has been started. When I click on the "OK" box on the MessageBox, then my
VisualBasic project closes automatically. No crashes or anything .... just disappears.
Any idea what is going on here?
I can not proceed any further until this questions have been resolved.....
