Okay, in windows I get an unexceptional memory error evertyime I use a callback function. With I hack it into your glue.cpp everything works fine (weird...)
void CALLBACK downproc(const void * buffer, DWORD length, void * user) { if (!file) file=fopen("test.mp3", "wb"); // create the file if (!buffer) fclose(file); // finished downloading else fwrite(buffer, 1, length, file); } HSTREAM bmx_bass_streamcreateurlncb( char *url, DWORD offset, DWORD flags, void *user) { // return BASS_StreamCreateURL(url, offset, flags, NULL, user); return BASS_StreamCreateURL(url, offset, flags, &downproc, user); }