Fixed initialisation of tf in file_open(). Without setting the memory to 0,
[cinelerra_cv/mob.git] / plugins / burn / burn.h
blobc122d6d355344ac72bebb80a833910931b1b342b
1 #ifndef BURN_H
2 #define BURN_H
4 class BurnMain;
6 #include "bchash.h"
7 #include "effecttv.inc"
8 #include "loadbalance.h"
9 #include "mutex.h"
10 #include "plugincolors.inc"
11 #include "pluginvclient.h"
12 #include "burnwindow.h"
13 #include <sys/types.h>
15 class BurnConfig
17 public:
18 BurnConfig();
19 int threshold;
20 int decay;
21 double recycle; // Seconds to a recycle
24 class BurnPackage : public LoadPackage
26 public:
27 BurnPackage();
29 int row1, row2;
32 class BurnServer : public LoadServer
34 public:
35 BurnServer(BurnMain *plugin, int total_clients, int total_packages);
37 LoadClient* new_client();
38 LoadPackage* new_package();
39 void init_packages();
40 BurnMain *plugin;
43 class BurnClient : public LoadClient
45 public:
46 BurnClient(BurnServer *server);
48 void process_package(LoadPackage *package);
50 BurnMain *plugin;
54 class BurnMain : public PluginVClient
56 public:
57 BurnMain(PluginServer *server);
58 ~BurnMain();
60 // required for all realtime plugins
61 int process_realtime(VFrame *input_ptr, VFrame *output_ptr);
62 int is_realtime();
63 char* plugin_title();
64 int show_gui();
65 void raise_window();
66 int set_string();
67 void load_configuration();
68 void save_data(KeyFrame *keyframe);
69 void read_data(KeyFrame *keyframe);
71 int load_defaults();
72 int save_defaults();
73 VFrame* new_picon();
78 void HSItoRGB(double H,
79 double S,
80 double I,
81 int *r,
82 int *g,
83 int *b,
84 int color_model);
85 void make_palette(int color_model);
87 // a thread for the GUI
88 BurnThread *thread;
89 BurnServer *burn_server;
90 BurnConfig config;
92 int palette[3][256];
93 unsigned char *buffer;
95 int total;
97 EffectTV *effecttv;
98 BC_Hash *defaults;
99 VFrame *input_ptr, *output_ptr;
100 YUV *yuv;
112 #endif