6 #include "browsebutton.h"
7 #include "compresspopup.h"
8 #include "formatpopup.h"
9 #include "formattools.h"
10 #include "loadmode.inc"
11 #include "mainmenu.inc"
12 #include "mwindow.inc"
13 #include "pluginarray.inc"
14 #include "pluginserver.inc"
17 class MenuEffectThread
;
18 class MenuEffects
: public BC_MenuItem
21 MenuEffects(MWindow
*mwindow
);
22 virtual ~MenuEffects();
27 MenuEffectThread
*thread
;
32 class MenuEffectPacket
38 // Path of output without remote prefix
46 class MenuEffectThread
: public Thread
49 MenuEffectThread(MWindow
*mwindow
);
50 virtual ~MenuEffectThread();
53 int set_title(char *text
); // set the effect to be run by a menuitem
54 virtual int get_recordable_tracks(Asset
*asset
) { return 0; };
55 virtual int get_derived_attributes(Asset
*asset
, Defaults
*defaults
) { return 0; };
56 virtual int save_derived_attributes(Asset
*asset
, Defaults
*defaults
) { return 0; };
57 virtual PluginArray
* create_plugin_array() { return 0; };
58 virtual int64_t to_units(double position
, int round
) { return 0; };
59 virtual int fix_menu(char *title
) {};
60 int test_existence(Asset
*asset
);
64 int dither
, realtime
, load_mode
;
69 class MenuEffectItem
: public BC_MenuItem
72 MenuEffectItem(MenuEffects
*menueffect
, char *string
);
73 virtual ~MenuEffectItem() {};
75 MenuEffects
*menueffect
;
83 class MenuEffectWindowOK
;
84 class MenuEffectWindowCancel
;
85 class MenuEffectWindowList
;
86 class MenuEffectWindowToTracks
;
89 class MenuEffectWindow
: public BC_Window
92 MenuEffectWindow(MWindow
*mwindow
,
93 MenuEffectThread
*menueffects
,
94 ArrayList
<BC_ListBoxItem
*> *plugin_list
,
96 virtual ~MenuEffectWindow();
99 * static int calculate_w(int use_plugin_list);
100 * static int calculate_h(int use_plugin_list);
102 int create_objects();
103 int resize_event(int w
, int h
);
105 BC_Title
*list_title
;
106 MenuEffectWindowList
*list
;
108 BC_Title
*file_title
;
109 FormatTools
*format_tools
;
110 MenuEffectThread
*menueffects
;
112 ArrayList
<BC_ListBoxItem
*> *plugin_list
;
118 class MenuEffectWindowOK
: public BC_OKButton
121 MenuEffectWindowOK(MenuEffectWindow
*window
);
124 int keypress_event();
126 MenuEffectWindow
*window
;
129 class MenuEffectWindowCancel
: public BC_CancelButton
132 MenuEffectWindowCancel(MenuEffectWindow
*window
);
135 int keypress_event();
137 MenuEffectWindow
*window
;
140 class MenuEffectWindowList
: public BC_ListBox
143 MenuEffectWindowList(MenuEffectWindow
*window
,
148 ArrayList
<BC_ListBoxItem
*> *plugin_list
);
151 MenuEffectWindow
*window
;
155 class MenuEffectPromptOK
;
156 class MenuEffectPromptCancel
;
159 class MenuEffectPrompt
: public BC_Window
162 MenuEffectPrompt(MWindow
*mwindow
);
165 int create_objects();
167 MenuEffectPromptOK
*ok
;
168 MenuEffectPromptCancel
*cancel
;