1 #ifndef PACKAGEDISPATCHER_H
2 #define PACKAGEDISPATCHER_H
10 #include "packagerenderer.inc"
11 #include "preferences.inc"
12 #include "packagingengine.h"
16 // Allocates fragments given a total start and total end.
17 // Checks the existence of every file.
18 // Adjusts package size for load.
19 class PackageDispatcher
25 int create_packages(MWindow
*mwindow
,
27 Preferences
*preferences
,
33 // Supply a frame rate of the calling node. If the client number is -1
34 // the frame rate isn't added to the preferences table.
35 RenderPackage
* get_package(double frames_per_second
,
38 ArrayList
<Asset
*>* get_asset_list();
39 void get_package_paths(ArrayList
<char*> *path_list
);
41 int get_total_packages();
42 int64_t get_progress_max();
43 int packages_are_done();
47 int64_t audio_position
;
48 int64_t video_position
;
56 Preferences
*preferences
;
57 int current_number
; // The number being injected into the filename.
58 int number_start
; // Character in the filename path at which the number begins
59 int total_digits
; // Total number of digits including padding the user specified.
60 double package_len
; // Target length of a single package
61 double min_package_len
; // Minimum package length after load balancing
62 int64_t total_packages
; // Total packages to base calculations on
63 int64_t total_allocated
; // Total packages to test the existence of
66 RenderPackage
**packages
;
70 PackagingEngine
*packaging_engine
;