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
35 MenuEffectPacket(char *path
, int64_t start
, int64_t end
);
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_GC asset
) { return 0; };
55 virtual int get_derived_attributes(Asset_GC asset
, BC_Hash
*defaults
) { return 0; };
56 virtual int save_derived_attributes(Asset_GC asset
, BC_Hash
*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_GC 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 int resize_event(int w
, int h
);
101 BC_Title
*list_title
;
102 MenuEffectWindowList
*list
;
104 BC_Title
*file_title
;
105 FormatTools
*format_tools
;
106 MenuEffectThread
*menueffects
;
108 ArrayList
<BC_ListBoxItem
*> *plugin_list
;
114 class MenuEffectWindowOK
: public BC_OKButton
117 MenuEffectWindowOK(MenuEffectWindow
*window
);
120 int keypress_event();
122 MenuEffectWindow
*window
;
125 class MenuEffectWindowCancel
: public BC_CancelButton
128 MenuEffectWindowCancel(MenuEffectWindow
*window
);
131 int keypress_event();
133 MenuEffectWindow
*window
;
136 class MenuEffectWindowList
: public BC_ListBox
139 MenuEffectWindowList(MenuEffectWindow
*window
,
144 ArrayList
<BC_ListBoxItem
*> *plugin_list
);
147 MenuEffectWindow
*window
;
151 class MenuEffectPromptOK
;
152 class MenuEffectPromptCancel
;
155 class MenuEffectPrompt
: public BC_Window
158 MenuEffectPrompt(MWindow
*mwindow
);
160 static int calculate_w(BC_WindowBase
*gui
);
161 static int calculate_h(BC_WindowBase
*gui
);
162 int create_objects();
164 MenuEffectPromptOK
*ok
;
165 MenuEffectPromptCancel
*cancel
;
173 // c-file-style: "linux"