How does your program get the CPU time necessary to do the recording when another program is running?