I was thinking something similar but I dont necessarily have to stream it if that would be easier. Lets say that I have a data file where there are a series of pairs of numbers(both could be 8 bit). The first number indicates which switches should be on/off and the second number indicates the delay in ms until the next change in the switches . This is what I was trying to do in real time with my program using a simple loop.
So here is my new idea. First I would load the entire data file into some memory on my circuit. Once it is loaded I would have a switch that starts the whole sequence. I would have 2 8-bit registers, one register would hold the pattern for the switches and the other one would have the delay(ms). Then I would also have a timer with a 1khz frequency which outputs to a counter. Once the counter reaches the number in the delay it would reset and both registers would load the next byte respectively and repeat the process.
It seems simple enough for me to do but I am unsure about what specific parts to buy, especially the memory. I was also considering switching to usb instead of parallel but still keeping the same basic idea.