just to share this abstraction I'm using in my recent patches.
Mediagrid is a graphical file chooser.
It is based on videogrid external from Sergi Lario and Lluis Gomez i Bigorda.
Apart to be an abstraction and not an external, the main difference is
that mediagrid is cross-platform and you can manage audio file also
and no just video or images.
Here more infos and download: