If built --without-audio g_SoundManager is a DummySoundManager. For DummySoundManager there are the same functions implemented as for CSoundManager but they are noop's.
ISoundManager.h does #include DummySoundManager if built --without-audio or SoundManager.h respectifly.
"Normaly" g_SoundManager is still a CSoundManager* didn't change anything there.
ISoundManager is now a namespace
The advantage of this designe is that there is no inheritance no virtual functions and less casts.