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

packagedispatcher.h

Go to the documentation of this file.
00001 #ifndef PACKAGEDISPATCHER_H
00002 #define PACKAGEDISPATCHER_H
00003 
00004 
00005 #include "arraylist.h"
00006 #include "assets.inc"
00007 #include "edl.inc"
00008 #include "mutex.inc"
00009 #include "mwindow.inc"
00010 #include "packagerenderer.inc"
00011 #include "preferences.inc"
00012 
00013 
00014 
00015 // Allocates fragments given a total start and total end.
00016 // Checks the existence of every file.
00017 // Adjusts package size for load.
00018 class PackageDispatcher
00019 {
00020 public:
00021         PackageDispatcher();
00022         ~PackageDispatcher();
00023 
00024         int create_packages(MWindow *mwindow,
00025                 EDL *edl,
00026                 Preferences *preferences,
00027                 int strategy, 
00028                 Asset *default_asset, 
00029                 double total_start, 
00030                 double total_end,
00031                 int test_overwrite);
00032 // Supply a frame rate of the calling node.  If the client number is -1
00033 // the frame rate isn't added to the preferences table.
00034         RenderPackage* get_package(double frames_per_second, 
00035                 int client_number,
00036                 int use_local_rate);
00037         ArrayList<Asset*>* get_asset_list();
00038         RenderPackage* get_package(int number);
00039         int get_total_packages();
00040 
00041         EDL *edl;
00042         int64_t audio_position;
00043         int64_t video_position;
00044         int64_t audio_end;
00045         int64_t video_end;
00046         double total_start;
00047         double total_end;
00048         double total_len;
00049         int strategy;
00050         Asset *default_asset;
00051         Preferences *preferences;
00052         int current_number;    // The number being injected into the filename.
00053         int number_start;      // Character in the filename path at which the number begins
00054         int total_digits;      // Total number of digits including padding the user specified.
00055         double package_len;    // Target length of a single package
00056         double min_package_len; // Minimum package length after load balancing
00057         int64_t total_packages;   // Total packages to base calculations on
00058         int64_t total_allocated;  // Total packages to test the existence of
00059         int nodes;
00060         MWindow *mwindow;
00061         RenderPackage **packages;
00062         int current_package;
00063         Mutex *package_lock;
00064 };
00065 
00066 
00067 #endif
00068 
00069 

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