Getting a bit bored of this now but made some progress on the Shell mpv command handling.
it takes an argument that sets up a pipe file socket server --input-ipc-server
after lots of doc reading and experimenting i've finally got control of the shell player
So this version does not use the libmpv is uses just the mpv binary player
then uses gb.net Socket class to send the player messages
I've not added things like an event when the fie ends or things like that but attached is a working class that will load a video and give relative control via a Command() call or a SetOptionString()
So if you know how to use mpv commands/options you should be able to modify this to your hearts content.
It probably needs better error handling and possibly some other tweaks, like i said i've got a bit bored of it.