Ok!
Here it is then.
This wrapper only contains that calls what I needed and tested currently.
This is how to use (the zip contains it also):
Simple mp3 playback:
LOCAL OK, OKs, play
//FMOD Init
OK = FMOD_Init(32,0)
//load mp3
LOCAL Snd%
OKs = FMOD_CreateSound("wave.mp3",0,Snd%)
//play on channel 1
LOCAL chan%
LOCAL chan2%
play = FMOD_PlaySound(0,Snd%,0,chan%)
//loop
WHILE KEY(2)=0
PRINT "Press Space to play the mp3 on the second chanel",0,0
PRINT "FMOD_INIT: " + OK,10,15
PRINT "FMOD_CreateSound: " + OKs,10,30
PRINT "SOUND: " + Snd,10,45
PRINT "FMOD_PlaySound: " + play,10,60
PRINT "Channel 1: " + chan%,10,75
PRINT "Channel 2: " + chan2%,10,90
PRINT "FMOD_SYSTEM running", 20, 185, TRUE
PRINT "press '1' TO test quit", 20, 200, TRUE
SHOWSCREEN
//keyboard
IF (KEY(57)) THEN play = FMOD_PlaySound(1,Snd%,0,chan2) //play on channel 2
WEND
//FMOD close
FMOD_Close()
EventSystem (using .fev and .fsb files exported from FMOD Designer)
// ----- EVENTSYSTEM -----
LOCAL OKES, OKsES, OKevent, OKparam, playES, OKupdate, OKstate
//EventSystem init
OKES = FMOD_ES_Init(64,0)
//load .fev
LOCAL SndES%=0
OKsES = FMOD_ES_CreateSound("sanyiteszt.fev",0,SndES%)
IF (OKsES<>0)
PRINT "CreateSound ERROR:" + OKsES, 50, 200
SHOWSCREEN
MOUSEWAIT
ENDIF
//load some events
LOCAL event%[]
DIM event%[5]
LOCAL group%
OKevent = FMOD_ES_GetEvent("sanyiteszt/random/wingflap_randoms", 0, event%[0])
OKevent = FMOD_ES_GetEvent("sanyiteszt/random/bird_randoms", 0, event%[1])
OKevent = FMOD_ES_GetEvent("sanyiteszt/loop/forest_calm", 0, event%[2])
OKevent = FMOD_ES_GetEvent("sanyiteszt/loop/fire_01", 0, event%[3])
OKevent = FMOD_ES_GetEvent("sanyiteszt/loop/cave_ambience", 0, event%[4])
IF (OKevent<>0)
PRINT "GetEvent ERROR:" + OKevent, 50, 200
SHOWSCREEN
MOUSEWAIT
ENDIF
LOCAL state%=0
LOCAL Statestr$
LOCAL param0%
LOCAL db%
// Query parameters count for one event
OKparam = FMOD_E_GetNumParameters(event%[3], db%)
IF (OKparam<>0)
PRINT "GetNumParameters ERROR:" + OKparam, 50, 200
SHOWSCREEN
MOUSEWAIT
ENDIF
//display
PRINT "GetNumParameters:" + db%, 00, 200
PRINT "click to continue", 00, 250, TRUE
SHOWSCREEN
MOUSEWAIT
// Get parameter
OKparam = FMOD_E_GetParameter(event%[3], "temp_parameter", param0%)
IF (OKparam<>0)
PRINT "GetParameter ERROR:" + OKparam, 50, 200
SHOWSCREEN
MOUSEWAIT
ENDIF
//loop
WHILE KEY(1)=0
//display statuses
PRINT "INIT: "+OKES,10,0
PRINT "LOAD: "+OKsES,10,15
PRINT "PROJECT:"+SndES,10,30
//PRINT "GetGroup:"+OKgroup,10,40
PRINT "GetEvent:"+OKevent,10,45
PRINT "Start:"+playES,10,60
OKupdate = FMOD_ES_Update()
PRINT "update: "+OKupdate,150,10
//display the 5 events status
FOR I=0 TO 4
OKstate = FMOD_E_GetState(event%[I], state%)
PRINT "getstate "+I+": "+OKstate + " state: "+state%,10,100+15*I
Statestr$=""
IF bAND(state%,1) THEN Statestr$=Statestr$+"Ready "
IF bAND(state%,2) THEN Statestr$=Statestr$+"Loading "
IF bAND(state%,4) THEN Statestr$=Statestr$+"Error "
IF bAND(state%,8) THEN Statestr$=Statestr$+"Playing "
IF bAND(state%,16) THEN Statestr$=Statestr$+"CHANNELSACTIVE "
IF bAND(state%,32) THEN Statestr$=Statestr$+"INFOONLY "
IF bAND(state%,64) THEN Statestr$=Statestr$+"STARVING "
PRINT Statestr$,350,100+15*I
NEXT
//display instructions
PRINT "FMOD_EVENTSYSTEM running, 1-5 to play", 20, 185, TRUE
PRINT "press ESC TO quit", 20, 200, TRUE
PRINT "Press left/right to test SetValue/GetValue", 20, 230, TRUE
//keyboard
IF (KEY(2)) THEN playES = FMOD_ES_PlaySound(event%[0])
IF (KEY(3)) THEN playES = FMOD_ES_PlaySound(event%[1])
IF (KEY(4)) THEN playES = FMOD_ES_PlaySound(event%[2])
IF (KEY(5)) THEN playES = FMOD_ES_PlaySound(event%[3])
IF (KEY(6)) THEN playES = FMOD_ES_PlaySound(event%[4])
IF (KEY(205))
LOCAL v
FMOD_EP_GetValue(param0%, v) //Test read parameter
INC v,0.01
FMOD_EP_SetValue(param0%, v); //Test write parameter
//Write to the screen
FMOD_EP_GetValue(param0%, v)
PRINT "PARAM: " + v, 10, 250
ENDIF
IF (KEY(203))
LOCAL v
FMOD_EP_GetValue(param0%, v) //Test read parameter
DEC v,0.01
FMOD_EP_SetValue(param0%, v); //Test write parameter
//Write to the screen
FMOD_EP_GetValue(param0%, v)
PRINT "PARAM: " + v, 10, 250
ENDIF
SHOWSCREEN
WEND
//EventSystem_Unload?
//EventSystem_Release?