Now I don't have Pd, so can not try.
But I fairly remember a bug (in Windows?) where .aiff files won't output a bang on the right outlet of [readsf~] when done, while .wav files do? Not sure.
I think the patch should loop, I can not see anything wrong.
Try to debug with [print pleaseplaythatfile] attached to [open $1, start(
and [print done] to the right outlet of [readsf~].
If this is the case, you could start a timer to restart the sample when done.
or even more elegant:
If the soundfiles are not very long, you could load them into arrays with [soundfiler] (i.e. loading from HD to RAM)
and loop the array with [tabread~] or [tabread4~] or [tabosc~] or [tabplay~]
Each time you [open( a file with [readsf~] it loads from harddrive.
... Pd is fairly low-level and has some quirks.
(For beginners I recommend sticking to Vanilla:
learn all its' objects little by little, read the helpfiles
and dive a bit into the first few doc patches of Vanilla installation, but don't get confused by their names.)
Others prefer to start right away with libraries. I am sure there are looping samplers somewhere.
PlugData comes with Cyclone, doesn't it? I think Cyclone probably has something easy?
A cleanup (only visually and not related to the issue):
Delete the cable from
[text get $0-dirfiles] to [open $1, start(
because on hot inlet [symbol] saves and outputs immediately.