I draw your attention to the fact that the other command I mentioned, see(1), will actually in turn call play(1) (at least on my system). You probably want your programs to call see(1) and not play(1) directly, as this gives the user more control over the commands run. This is why I said that calling play(1) explicitly and directly from a program is probably the wrong thing to do.