The other issue is the the module starts playing from where it left off instead of the start, this is odd.
I added...
ModPlug_SetCurrentPosition%(pPlugin%, nPos%)
to the .decls file and...
ModPlug_SetCurrentPosition(ModPlug, 0)
...to the Blitz code just before starting to play the track.
By the way, for B3D ( I don't have B+) it's a little different to initialise (ta Sarge):
AppTitle "test" Global ModPlug ModPlug = ModPlug_CreateEx("loop|true|vucolor|#ff00ff|") TheWindow = api_FindWindow("Blitz Runtime Class", "test") ModPlug_SetWindow(ModPlug,TheWindow) sp$ = "an-path.xm" ModPlug_Load(ModPlug, sp) ModPlug_SetCurrentPosition(ModPlug, 0) ModPlug_Play(ModPlug) WaitKey ModPlug_Destroy(ModPlug)