the code i put above using open() still waits for the external command to finish. ommitted error checking I know but the oggenc.exe opens ok. i've come across another problem too. the actual output at the end of it isn't even the full output of the program anyway! i think i may be barking up the wrong tree here, I think I need to find out how to interface to the ogg vorbis encoder DLL library. there is an ogg::vorbis library but this doesn't support encoding which is obviously what I'm after.
It may be the wrong approach since if it does
produce a spinning slash, you will have to wade through a
ton of garbage to find what you want. You might want to try
putting a "$|++;" at the top of your program to see if this
helps (as you may have a buffering problem see
Suffering from Buffering? by our own Dominus).
As far as the console (DOS) window, here is a good
thread
with many viable solutions.