X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fcinelerra%2Ffilelist.h;fp=cinelerra-5.0%2Fcinelerra%2Ffilelist.h;h=0000000000000000000000000000000000000000;hb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;hp=d35c21119c5e36e046dc12d3c316ac0f686cfcaf;hpb=52fcc46226f9df46f9ce9d0566dc568455a7db0b;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/cinelerra/filelist.h b/cinelerra-5.0/cinelerra/filelist.h deleted file mode 100644 index d35c2111..00000000 --- a/cinelerra-5.0/cinelerra/filelist.h +++ /dev/null @@ -1,162 +0,0 @@ - -/* - * CINELERRA - * Copyright (C) 2008 Adam Williams - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - * - */ - -#ifndef FILELIST_H -#define FILELIST_H - -#include "file.inc" -#include "filebase.h" -#include "filelist.inc" -#include "loadbalance.h" -#include "mutex.inc" -#include "vframe.inc" - -// Any file which is a list of frames. -// FileList handles both frame files and indexes of frame files. - - - - - - -class FileList : public FileBase -{ -public: - FileList(Asset *asset, - File *file, - const char *list_prefix, - const char *file_extension, - int frame_type, - int list_type); - virtual ~FileList(); - -// basic commands for every file interpreter - int open_file(int rd, int wr); - int close_file(); - - char* calculate_path(int number, char *string); - char* create_path(int number_override); - void add_return_value(int amount); - - int read_list_header(); - virtual int read_frame_header(char *path) { return 1; }; - int read_frame(VFrame *frame); - -// subclass returns whether the asset format is a list or single file - virtual int read_frame(VFrame *frame, VFrame *data) { return 0; }; - virtual int read_frame(VFrame *frame, char *path) { return 0; }; - virtual int write_frame(VFrame *frame, VFrame *data, FrameWriterUnit *unit) { return 0; }; -// Return 1 if read frame should use the path instead of the compressed data - virtual int use_path(); - - int write_list_header(); - int write_frames(VFrame ***frames, int len); - VFrame* read_frame(int use_alpha, int use_float); - virtual int64_t get_memory_usage(); -// Get the total writer units for calculating memory usage - int get_units(); -// Get a writer unit for retrieving temporary usage. - FrameWriterUnit* get_unit(int number); - - virtual FrameWriterUnit* new_writer_unit(FrameWriter *writer); - -// Temp storage for compressed data - VFrame *data; -// Storage for single frame - VFrame *temp; - -private: - int read_raw(VFrame *frame, - float in_x1, float in_y1, float in_x2, float in_y2, - float out_x1, float out_y1, float out_x2, float out_y2, - int alpha, int use_alpha, int use_float, int interpolate); - int reset_parameters_derived(); - ArrayList path_list; // List of files - const char *list_prefix; - const char *file_extension; - int frame_type; - int list_type; - Mutex *table_lock; - FrameWriter *writer; - int return_value; - int first_number; - int number_start; - int number_digits; -}; - - - - -class FrameWriterPackage : public LoadPackage -{ -public: - FrameWriterPackage(); - ~FrameWriterPackage(); - - - VFrame *input; - - char *path; -}; - - - - -class FrameWriterUnit : public LoadClient -{ -public: - FrameWriterUnit(FrameWriter *server); - virtual ~FrameWriterUnit(); - - void process_package(LoadPackage *package); - - FrameWriter *server; - VFrame *output; -}; - - - - - -class FrameWriter : public LoadServer -{ -public: - FrameWriter(FileList *file, int cpus); - ~FrameWriter(); - - void write_frames(VFrame ***frames, int len); - void init_packages(); - LoadClient* new_client(); - LoadPackage* new_package(); - - FileList *file; - VFrame ***frames; - int len; -}; - - - - - - - - -#endif