Quick note: I am not a programmer, however when you want a feature bad enough you gotta at least try to do the work yourself
I am working on implementing the FMOD Core API into NetHack to replace the barebones win32api that it currently uses by default for sound playback.
I have had success before in getting FMOD to work, but after some internal code changes to the game I am unable to get FMOD to play any sound. The glue-code has already been merged and can be viewed here:
Your code seems fine at a glance, though on an unrelated note I would recommend releasing created Sounds with Sound::release when you’re done with them.
To get more information on any issues you’re encountering, you can do two things:
Almost all API functions return FMOD_RESULT, which will provide you with more information on the error if one occurred. Try checking the results of the API functions you’re calling and see which ones are having issues.
It’s slightly more complex, but Debug_Initialize can be used to have FMOD output debugging information. Setting the debugging level to FMOD_DEBUG_LEVEL_LOG will provide fairly comprehensive information about the FMOD System’s operations, including any warnings and errors. Note that you’ll need to be using the logging version of the FMOD library (i.e. fmodL.dll instead of fmod.dll) in order for this work.
Give those a shot and let me know whether you’ve been able to track down the issue. If you’re unable to figure out the problem, please provide me with the entire output of Debug_Initialize with the debug level set to log so I can help to diagnose it.