I had an idea for a project but I’m not a very proficient coder so I’m trying to get some advice on how to proceed. What I want to do is output video from the arcade video game emulator Final Burn Alpha as a spout sender that can be interpreted by a video mixing software. Ideally, it would have low enough latency to still be playable through the receiver. Is this something that is technically feasible?
Yes it’s technically possible in terms of latency. Latency is less that 1 msec for a single sender/receiver pair. If the video mixing software is the only receiver, you should be OK. As more receivers are added, the latency increases. The other thing that can influence framerate is the overhead of the game itself. If that consumes a lot of resources, the lag can increase.
I had a brief look at the source code and it looks like it is using DirectDraw. This is not a simple project, but might be possible. If there is a backbuffer you can access, you could use that. I see reference to DirectX9. If this is used, you would need to lock into D3DFMT_A8R8G8B8 of D3DFMT_X8R8G8B8. There is no OpenGL as far as I can see, so a context would need to be created. It reminds me of the Winamp Milkdrop plugin project, so you might get some ideas from that :