Thanks @joreg, I have had a brief look at them before and just again now, but I think they do too much of what I am already doing anyways, like actually reading the whole file and then playing it back.
The problem with that is, that putting in the bpm by myself is not good. The bpm is stored in the file already and it should use the stored bpm.
Mainly my patch uses live midi note input from different midi instruments, but it can switch to using the midi notes from a midi file being played (sort of like a demo mode).
I have made a midi-note-recorder with lots of help from @tonfilm to record the live midi coming in and might as well use the same to sort of re-record the midi coming from a file.
So what I am really just looking for is a Filestream component that is more reliable. As far as I can see Filestream(VAudio) doesnt play back midi files. Also using LoopBe1 to route midi out of vvvv and straight back into vvvv seems like an unnecessary hack - especially since LoopBe is pretty quick to switch to mute since it detects coming in and out of the same software, which then mutes the midi, if too many notes are playing at the same time.
In the end I would like to just get the same output as MidiNote (ie. just a spread of note velocities), but coming from a midi file being played, without routing midi out and back in to vvvv.
Its starting to look like an external player will be more reliable, since that DShow9 Filestream is so unreliable. Not sure if this is an audio driver issue or what, since I cant see any pattern when and why it would fail to play back some midi files, but might be due to having 2 filestreams simultaneously. Unfortunately thats the only way to output to 2 different midi ports as far as I can tell.