void Movie_paintOneImageInside (Movie me, Graphics graphics, long frameNumber, double xmin, double xmax, double ymin, double ymax) { try { if (frameNumber < 1) Melder_throw (U"Specified frame number is ", frameNumber, U" but should be at least 1."); if (frameNumber > my nx) Melder_throw (U"Specified frame number is ", frameNumber, U" but there are only ", my nx, U"frames."); Melder_assert (my d_fileNames != 0); Melder_assert (my d_fileNames -> numberOfStrings == my nx); struct structMelderDir folder; Melder_pathToDir (my d_folderName, & folder); struct structMelderFile file; MelderDir_getFile (& folder, my d_fileNames -> strings [frameNumber], & file); Graphics_imageFromFile (graphics, Melder_fileToPath (& file), xmin, xmax, ymin, ymax); } catch (MelderError) { Melder_throw (me, U": image ", frameNumber, U" not painted."); } }
autoFileInMemorySet FileInMemorySet_createFromDirectoryContents (const char32 *dirpath, const char32 *fileGlobber) { try { structMelderDir parent { { 0 } }; Melder_pathToDir (dirpath, &parent); autoStrings thee = Strings_createAsFileList (Melder_cat (dirpath, U"/", fileGlobber)); if (thy numberOfStrings < 1) { Melder_throw (U"No files found."); } autoFileInMemorySet me = FileInMemorySet_create (); for (long i = 1; i <= thy numberOfStrings; i ++) { structMelderFile file = { 0 }; MelderDir_getFile (& parent, thy strings [i], & file); autoFileInMemory fim = FileInMemory_create (& file); my addItem_move (fim.move()); } return me; } catch (MelderError) { Melder_throw (U"FileInMemorySet not created from directory \"", dirpath, U"\" for files that match \"", fileGlobber, U"\"."); } }
FilesInMemory FilesInMemory_createFromDirectoryContents (const wchar_t *dirpath, const wchar *fileGlobber) { try { structMelderDir parent = { { 0 } }; Melder_pathToDir (dirpath, &parent); autoMelderString path; MelderString_append (&path, dirpath, L"/", fileGlobber); autoStrings thee = Strings_createAsFileList (path.string); if (thy numberOfStrings < 1) { Melder_throw ("No files found."); } autoFilesInMemory me = FilesInMemory_create (); for (long i = 1; i <= thy numberOfStrings; i++) { structMelderFile file = { 0 }; MelderDir_getFile (&parent, thy strings[i], &file); autoFileInMemory fim = FileInMemory_create (&file); Collection_addItem (me.peek(), fim.transfer()); } return me.transfer(); } catch (MelderError) { Melder_throw ("FilesInMemory not created from directory \"", dirpath, "\" for files that match \"", fileGlobber, "\"."); } }