There is an excellent sampler architecture in the pdmtl abstractions called the sample_id format. It probably does what you need. Download the release here: http://wiki.dataflow.ws/PdMtlAbstractions
Try out the examples in pdmtl/examples/sample_id
It can preload samples, load them in real time, send them to multiple targets, visualize the sample. change the play region, etc...
Tom