Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

indexfile.h

Go to the documentation of this file.
00001 #ifndef INDEXFILE_H
00002 #define INDEXFILE_H
00003 
00004 #include "asset.inc"
00005 #include "edit.inc"
00006 #include "file.inc"
00007 #include "guicast.h"
00008 #include "indexthread.inc"
00009 #include "mainprogress.inc"
00010 #include "mwindow.inc"
00011 #include "preferences.inc"
00012 #include "resourcepixmap.inc"
00013 #include "bctimer.inc"
00014 #include "tracks.inc"
00015 
00016 class IndexFile
00017 {
00018 public:
00019         IndexFile(MWindow *mwindow);
00020         IndexFile(MWindow *mwindow, Asset *asset);
00021         ~IndexFile();
00022 
00023         int open_index(Asset *asset);
00024         int open_index(MWindow *mwindow, Asset *asset);
00025         int create_index(Asset *asset, MainProgressBar *progress);
00026         int create_index(MWindow *mwindow, Asset *asset, MainProgressBar *progress);
00027         int interrupt_index();
00028         static void delete_index(Preferences *preferences, Asset *asset);
00029         static int get_index_filename(char *source_filename, 
00030                 char *index_directory, 
00031                 char *index_filename, 
00032                 char *input_filename);
00033         void update_edl_asset();
00034         int redraw_edits(int force);
00035         int draw_index(ResourcePixmap *pixmap, Edit *edit, int x, int w);
00036         int close_index();
00037         int remove_index();
00038         int read_info(Asset *test_asset = 0);
00039         int write_info();
00040 
00041         MWindow *mwindow;
00042         char index_filename[BCTEXTLEN], source_filename[BCTEXTLEN];
00043         Asset *asset;
00044         Timer *redraw_timer;
00045 
00046 private:
00047         void update_mainasset();
00048 
00049         int open_file();
00050         int open_source(File *source);
00051         int64_t get_required_scale(File *source);
00052         FILE *file;
00053         int64_t file_length;   // Length of index file in bytes
00054         int interrupt_flag;    // Flag set when index building is interrupted
00055 };
00056 
00057 #endif

Generated on Sun Jan 8 13:38:56 2006 for Cinelerra-svn by  doxygen 1.4.4