bass 2.3 → 2.4 でいくつかの関数の引数や返り値が64bitになっているのでそのせいだと思います。
BASS_StreamCreateFile の 3,4番目の引数が QWORD(64bit) です。
HSPで登録するときに int を 2つ続けるか、double でいけると思います。
; bass 2.4
#uselib "bass.dll"
#func BASS_Init "BASS_Init" int, int, int ,int, int
#func BASS_Free "BASS_Free"
#cfunc BASS_StreamCreateFile "BASS_StreamCreateFile" int, sptr, int,int, int,int, int
;#cfunc BASS_StreamCreateFile "BASS_StreamCreateFile" int, sptr, double, double, int
#func BASS_StreamFree "BASS_StreamFree" int
#func BASS_ChannelPlay "BASS_ChannelPlay" int, int
BASS_Init -1, 44100, 0, hwnd, 0
objsize 160
chkbox "mono (mp1/2/3 only)", mn
chkbox "loop", lp
button gosub "Load", *load
onexit goto *bye
stop
*load
dialog "", 16
if (stat) {
if (h) {
BASS_StreamFree h
}
h = BASS_StreamCreateFile(0, refstr, 0,0, 0,0, mn*2 + lp*4)
; h = BASS_StreamCreateFile(0, refstr, 0, 0, mn*2 + lp*4)
BASS_ChannelPlay h
}
return
*bye
BASS_Free
end
ただHSPから64bitの引数に渡すときはうまく変換しないといけないかもしれません…