The reason I need to do this is to implement custom multi sounds.
I am working on a game which features a time-rewind mechanic (think Braid), and we wanted to be able to have sounds that can be dynamically played in reverse and at a variable speed. This was not supported by the FMOD Studio front-end, so we’ve written a low-level implementation of FMOD in C# to handle this.
I’ve organized our sounds into folders, so the keys look like this:
“SFX/footstep_concrete_walk/footstep_concrete_walk_00”
“SFX/footstep_concrete_walk/footstep_concrete_walk_01”
“SFX/footstep_concrete_walk/footstep_concrete_walk_02”
etc…
If I can get the list of keys I can implement multi sounds without re-writing the database myself and ending up with a tonne of boiler-plate code that I have to revisit every time I want to add some sounds.
It might be possible to implement rewindable sounds in a way that would let us keep nice front-end features like multi sounds, but my co-worker has already implemented things this way, so (thanks for reading but) please don’t answer with “Why do you want to do it this way?”
Making things go backwards is hard, that’s why. I got deadlines man. The wolves are at ol’ Gils’ door.