Code::Blocks & ResourceManager Texture/SoundBuffer

I've gone back to Code::Blocks as I was having issues with code lite and
how it worked, the only downside is that Code::Blocks auto complete is
absolute shit.

I've implemented texture loading and made a start on sound, I need to
think more about how to implement it though because there is a rough
limit of 256 sound+music objects allowed, I don't think there will be
much need to have more than a few music objects and they can easily be
recycled anyway.

The problem is in who owns/creates the sound objects. If I have 10 bombs
that cause 10 explosions they each need 10 separate sound objects that
will last throughout the lifetime of that object, therefore I can't use
sound as it is needed and because of the 256 limit it doesn't seem like
a good idea to give each bomb its own sound object.

My current thoughts are include sounds as a resource where the 'client'
merely says which buffer to use and any settings then the manager will
play it. once a sound has ended it will be removed and will have to be
reconstructed again. The problem is that there can't be a unique ID for
each sound due to the nature of this design which means clients won't be
able to access it afterwards. This doesn't really seem to fit with the
interface of the ResourceManager but at the moment it's the best thing I
can think of and I want to make a functional game, not worry about every
design decision.