7 #include "bitspopup.inc"
8 #include "browsebutton.h"
9 #include "formatpopup.h"
14 #define _(String) gettext(String)
15 #define gettext_noop(String) String
16 #define N_(String) gettext_noop (String)
18 class AssetEditTCStartTextBox
;
19 class AssetEditReelNumber
;
20 class AssetEditReelName
;
21 class AssetEditByteOrderHILO
;
22 class AssetEditByteOrderLOHI
;
24 class AssetEditPathText
;
25 class AssetEditWindow
;
27 class AssetEdit
: public Thread
30 AssetEdit(MWindow
*mwindow
);
33 void edit_asset(Asset
*asset
);
34 int set_asset(Asset
*asset
);
37 Asset
*asset
, *new_asset
;
39 AssetEditWindow
*window
;
44 // Pcm is the only format users should be able to fix.
45 // All other formats display information about the file in read-only.
47 class AssetEditWindow
: public BC_Window
50 AssetEditWindow(MWindow
*mwindow
, AssetEdit
*asset_edit
);
55 AssetEditPathText
*path_text
;
56 AssetEditPath
*path_button
;
57 AssetEditByteOrderHILO
*hilo
;
58 AssetEditByteOrderLOHI
*lohi
;
62 AssetEdit
*asset_edit
;
66 class AssetEditPath
: public BrowseButton
69 AssetEditPath(MWindow
*mwindow
, AssetEditWindow
*fwindow
, BC_TextBox
*textbox
, int y
, char *text
, char *window_title
= "2000: Path", char *window_caption
= _("Select a file"));
72 AssetEditWindow
*fwindow
;
76 class AssetEditPathText
: public BC_TextBox
79 AssetEditPathText(AssetEditWindow
*fwindow
, int y
);
83 AssetEditWindow
*fwindow
;
88 class AssetEditFormat
: public FormatPopup
91 AssetEditFormat(AssetEditWindow
*fwindow
, char* default_
, int y
);
95 AssetEditWindow
*fwindow
;
99 class AssetEditChannels
: public BC_TumbleTextBox
102 AssetEditChannels(AssetEditWindow
*fwindow
, char *text
, int x
, int y
);
106 AssetEditWindow
*fwindow
;
109 class AssetEditRate
: public BC_TextBox
112 AssetEditRate(AssetEditWindow
*fwindow
, char *text
, int x
, int y
);
116 AssetEditWindow
*fwindow
;
119 class AssetEditFRate
: public BC_TextBox
122 AssetEditFRate(AssetEditWindow
*fwindow
, char *text
, int x
, int y
);
126 AssetEditWindow
*fwindow
;
129 class Interlaceautofix
: public BC_CheckBox
132 Interlaceautofix(MWindow
*mwindow
,AssetEditWindow
*fwindow
, int x
, int y
);
136 void showhideotherwidgets();
138 AssetEditWindow
* fwindow
;
141 BC_TextBox
*ilacemode_textbox
;
142 BC_ListBox
*ilacemode_listbox
;
143 BC_TextBox
*ilacefixmethod_textbox
;
144 BC_ListBox
*ilacefixmethod_listbox
;
146 char string
[BCTEXTLEN
];
149 class AssetEditILaceautofixoption
: public BC_TextBox
152 AssetEditILaceautofixoption(AssetEditWindow
*fwindow
, char *text
, int thedefault
, int x
, int y
, int w
);
156 AssetEditWindow
*fwindow
;
159 class AssetEditILacemode
: public BC_TextBox
162 AssetEditILacemode(AssetEditWindow
*fwindow
, char *text
, int thedefault
, int x
, int y
, int w
);
165 AssetEditWindow
*fwindow
;
168 class AssetEditInterlacemodePulldown
: public BC_ListBox
171 AssetEditInterlacemodePulldown(MWindow
*mwindow
,
172 BC_TextBox
*output_text
,
174 ArrayList
<BC_ListBoxItem
*> *data
,
175 Interlaceautofix
*fixoption_chkbox
,
179 char* interlacemode_to_text();
181 BC_TextBox
*output_text
;
183 Interlaceautofix
*fixoption_chkbox
;
185 char string
[BCTEXTLEN
];
188 class AssetEditILacefixmethod
: public BC_TextBox
191 AssetEditILacefixmethod(AssetEditWindow
*fwindow
, char *text
, int thedefault
, int x
, int y
, int w
);
195 AssetEditWindow
*fwindow
;
198 class AssetEditHeader
: public BC_TextBox
201 AssetEditHeader(AssetEditWindow
*fwindow
, char *text
, int x
, int y
);
205 AssetEditWindow
*fwindow
;
208 class AssetEditByteOrderLOHI
: public BC_Radial
211 AssetEditByteOrderLOHI(AssetEditWindow
*fwindow
, int value
, int x
, int y
);
215 AssetEditWindow
*fwindow
;
218 class AssetEditByteOrderHILO
: public BC_Radial
221 AssetEditByteOrderHILO(AssetEditWindow
*fwindow
, int value
, int x
, int y
);
225 AssetEditWindow
*fwindow
;
228 class AssetEditSigned
: public BC_CheckBox
231 AssetEditSigned(AssetEditWindow
*fwindow
, int value
, int x
, int y
);
235 AssetEditWindow
*fwindow
;
238 class AssetEditReelName
: public BC_TextBox
241 AssetEditReelName(AssetEditWindow
*fwindow
, int x
, int y
);
242 ~AssetEditReelName();
246 AssetEditWindow
*fwindow
;
249 class AssetEditReelNumber
: public BC_TextBox
252 AssetEditReelNumber(AssetEditWindow
*fwindow
, int x
, int y
);
253 ~AssetEditReelNumber();
257 AssetEditWindow
*fwindow
;
260 class AssetEditTCStartTextBox
: public BC_TextBox
263 AssetEditTCStartTextBox(AssetEditWindow
*fwindow
, int value
, int x
, int y
, int multiplier
);
264 ~AssetEditTCStartTextBox();
267 AssetEditWindow
*fwindow
;
268 // Multiplier is the # of frames for whatever unit of time this is.
269 // fps dependent, and unit dependent