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

menueffects.h

Go to the documentation of this file.
00001 #ifndef MENUEFFECTS_H
00002 #define MENUEFFECTS_H
00003 
00004 #include "asset.inc"
00005 #include "bitspopup.h"
00006 #include "browsebutton.h"
00007 #include "compresspopup.h"
00008 #include "formatpopup.h"
00009 #include "formattools.h"
00010 #include "loadmode.inc"
00011 #include "mainmenu.inc"
00012 #include "mwindow.inc"
00013 #include "pluginarray.inc"
00014 #include "pluginserver.inc"
00015 #include "thread.h"
00016 
00017 class MenuEffectThread;
00018 class MenuEffects : public BC_MenuItem
00019 {
00020 public:
00021         MenuEffects(MWindow *mwindow);
00022         virtual ~MenuEffects();
00023 
00024         int handle_event();
00025 
00026         MWindow *mwindow;
00027         MenuEffectThread *thread;
00028 };
00029 
00030 
00031 
00032 class MenuEffectPacket
00033 {
00034 public:
00035         MenuEffectPacket(char *path, int64_t start, int64_t end);
00036         ~MenuEffectPacket();
00037 
00038 // Path of output without remote prefix
00039         char path[BCTEXTLEN];
00040         
00041         int64_t start;
00042         int64_t end;
00043 };
00044 
00045 
00046 class MenuEffectThread : public Thread
00047 {
00048 public:
00049         MenuEffectThread(MWindow *mwindow);
00050         virtual ~MenuEffectThread();
00051 
00052         void run();
00053         int set_title(char *text);  // set the effect to be run by a menuitem
00054         virtual int get_recordable_tracks(Asset *asset) { return 0; };
00055         virtual int get_derived_attributes(Asset *asset, Defaults *defaults) { return 0; };
00056         virtual int save_derived_attributes(Asset *asset, Defaults *defaults) { return 0; };
00057         virtual PluginArray* create_plugin_array() { return 0; };
00058         virtual int64_t to_units(double position, int round) { return 0; };
00059         virtual int fix_menu(char *title) {};
00060         int test_existence(Asset *asset);
00061 
00062         MWindow *mwindow;
00063         char title[1024];
00064         int dither, realtime, load_mode;
00065         int strategy;
00066 };
00067 
00068 
00069 class MenuEffectItem : public BC_MenuItem
00070 {
00071 public:
00072         MenuEffectItem(MenuEffects *menueffect, char *string);
00073         virtual ~MenuEffectItem() {};
00074         int handle_event();
00075         MenuEffects *menueffect;
00076 };
00077 
00078 
00079 
00080 
00081 
00082 
00083 class MenuEffectWindowOK;
00084 class MenuEffectWindowCancel;
00085 class MenuEffectWindowList;
00086 class MenuEffectWindowToTracks;
00087 
00088 
00089 class MenuEffectWindow : public BC_Window
00090 {
00091 public:
00092         MenuEffectWindow(MWindow *mwindow, 
00093                 MenuEffectThread *menueffects, 
00094                 ArrayList<BC_ListBoxItem*> *plugin_list, 
00095                 Asset *asset);
00096         virtual ~MenuEffectWindow();
00097 
00098         int create_objects();
00099         int resize_event(int w, int h);
00100 
00101         BC_Title *list_title;
00102         MenuEffectWindowList *list;
00103         LoadMode *loadmode;
00104         BC_Title *file_title;
00105         FormatTools *format_tools;
00106         MenuEffectThread *menueffects;
00107         MWindow *mwindow;
00108         ArrayList<BC_ListBoxItem*> *plugin_list;
00109         Asset *asset;
00110 
00111         int result;
00112 };
00113 
00114 class MenuEffectWindowOK : public BC_OKButton
00115 {
00116 public:
00117         MenuEffectWindowOK(MenuEffectWindow *window);
00118         
00119         int handle_event();
00120         int keypress_event();
00121         
00122         MenuEffectWindow *window;
00123 };
00124 
00125 class MenuEffectWindowCancel : public BC_CancelButton
00126 {
00127 public:
00128         MenuEffectWindowCancel(MenuEffectWindow *window);
00129 
00130         int handle_event();
00131         int keypress_event();
00132 
00133         MenuEffectWindow *window;
00134 };
00135 
00136 class MenuEffectWindowList : public BC_ListBox
00137 {
00138 public:
00139         MenuEffectWindowList(MenuEffectWindow *window, 
00140                 int x, 
00141                 int y, 
00142                 int w, 
00143                 int h, 
00144                 ArrayList<BC_ListBoxItem*> *plugin_list);
00145 
00146         int handle_event();
00147         MenuEffectWindow *window;
00148 };
00149 
00150 
00151 class MenuEffectPromptOK;
00152 class MenuEffectPromptCancel;
00153 
00154 
00155 class MenuEffectPrompt : public BC_Window
00156 {
00157 public:
00158         MenuEffectPrompt(MWindow *mwindow);
00159 
00160         static int calculate_w(BC_WindowBase *gui);
00161         static int calculate_h(BC_WindowBase *gui);     
00162         int create_objects();
00163 
00164         MenuEffectPromptOK *ok;
00165         MenuEffectPromptCancel *cancel;
00166 };
00167 
00168 
00169 #endif

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