PsychError SCREENFinalizeMovie(void) { static char useString[] = "Screen('FinalizeMovie', moviePtr);"; static char synopsisString[] = "Finish creating a new movie file with handle 'moviePtr' and store it to filesystem.\n"; static char seeAlsoString[] = "CreateMovie AddFrameToMovie CloseMovie PlayMovie GetMovieImage GetMovieTimeIndex SetMovieTimeIndex"; int moviehandle = -1; // All sub functions should have these two lines PsychPushHelp(useString, synopsisString, seeAlsoString); if(PsychIsGiveHelp()) {PsychGiveHelp(); return(PsychError_none);}; PsychErrorExit(PsychCapNumInputArgs(1)); // Max. 3 input args. PsychErrorExit(PsychRequireNumInputArgs(1)); // Min. 2 input args required. PsychErrorExit(PsychCapNumOutputArgs(0)); // Max. 1 output args. // Get the moviehandle: PsychCopyInIntegerArg(1, kPsychArgRequired, &moviehandle); // Finalize the movie: if (!PsychFinalizeNewMovieFile(moviehandle)) { PsychErrorExitMsg(PsychError_user, "FinalizeMovie failed for reason mentioned above."); } return(PsychError_none); }
void PsychDeleteAllMovieWriters(void) { int i; for (i = 0; i < PSYCH_MAX_MOVIEWRITERDEVICES; i++) { if (moviewriterRecordBANK[i].Movie) PsychFinalizeNewMovieFile(i); } }