7 #include "bitspopup.inc"
8 #include "browsebutton.h"
9 #include "formatpopup.h"
15 class AssetEditTCStartTextBox
;
16 class AssetEditReelNumber
;
17 class AssetEditReelName
;
18 class AssetEditByteOrderHILO
;
19 class AssetEditByteOrderLOHI
;
21 class AssetEditPathText
;
22 class AssetEditWindow
;
24 class AssetEdit
: public Thread
27 AssetEdit(MWindow
*mwindow
);
30 void edit_asset(Asset
*asset
);
31 int set_asset(Asset
*asset
);
34 Asset
*asset
, *new_asset
;
36 AssetEditWindow
*window
;
41 // Pcm is the only format users should be able to fix.
42 // All other formats display information about the file in read-only.
44 class AssetEditWindow
: public BC_Window
47 AssetEditWindow(MWindow
*mwindow
, AssetEdit
*asset_edit
);
52 AssetEditPathText
*path_text
;
53 AssetEditPath
*path_button
;
54 AssetEditByteOrderHILO
*hilo
;
55 AssetEditByteOrderLOHI
*lohi
;
59 AssetEdit
*asset_edit
;
63 class AssetEditPath
: public BrowseButton
66 AssetEditPath(MWindow
*mwindow
,
67 AssetEditWindow
*fwindow
,
71 char *window_title
= _(PROGRAM_NAME
" Path"),
72 char *window_caption
= _("Select a file"));
75 AssetEditWindow
*fwindow
;
79 class AssetEditPathText
: public BC_TextBox
82 AssetEditPathText(AssetEditWindow
*fwindow
, int y
);
86 AssetEditWindow
*fwindow
;
91 class AssetEditFormat
: public FormatPopup
94 AssetEditFormat(AssetEditWindow
*fwindow
, char* default_
, int y
);
98 AssetEditWindow
*fwindow
;
102 class AssetEditChannels
: public BC_TumbleTextBox
105 AssetEditChannels(AssetEditWindow
*fwindow
, char *text
, int x
, int y
);
109 AssetEditWindow
*fwindow
;
112 class AssetEditRate
: public BC_TextBox
115 AssetEditRate(AssetEditWindow
*fwindow
, char *text
, int x
, int y
);
119 AssetEditWindow
*fwindow
;
122 class AssetEditFRate
: public BC_TextBox
125 AssetEditFRate(AssetEditWindow
*fwindow
, char *text
, int x
, int y
);
129 AssetEditWindow
*fwindow
;
132 class Interlaceautofix
: public BC_CheckBox
135 Interlaceautofix(MWindow
*mwindow
,AssetEditWindow
*fwindow
, int x
, int y
);
139 void showhideotherwidgets();
141 AssetEditWindow
* fwindow
;
144 BC_TextBox
*ilacemode_textbox
;
145 BC_ListBox
*ilacemode_listbox
;
146 BC_TextBox
*ilacefixmethod_textbox
;
147 BC_ListBox
*ilacefixmethod_listbox
;
149 char string
[BCTEXTLEN
];
152 class AssetEditILaceautofixoption
: public BC_TextBox
155 AssetEditILaceautofixoption(AssetEditWindow
*fwindow
, char *text
, int thedefault
, int x
, int y
, int w
);
159 AssetEditWindow
*fwindow
;
162 class AssetEditILacemode
: public BC_TextBox
165 AssetEditILacemode(AssetEditWindow
*fwindow
, char *text
, int thedefault
, int x
, int y
, int w
);
168 AssetEditWindow
*fwindow
;
171 class AssetEditInterlacemodePulldown
: public BC_ListBox
174 AssetEditInterlacemodePulldown(MWindow
*mwindow
,
175 BC_TextBox
*output_text
,
177 ArrayList
<BC_ListBoxItem
*> *data
,
178 Interlaceautofix
*fixoption_chkbox
,
182 char* interlacemode_to_text();
184 BC_TextBox
*output_text
;
186 Interlaceautofix
*fixoption_chkbox
;
188 char string
[BCTEXTLEN
];
191 class AssetEditILacefixmethod
: public BC_TextBox
194 AssetEditILacefixmethod(AssetEditWindow
*fwindow
, char *text
, int thedefault
, int x
, int y
, int w
);
198 AssetEditWindow
*fwindow
;
201 class AssetEditHeader
: public BC_TextBox
204 AssetEditHeader(AssetEditWindow
*fwindow
, char *text
, int x
, int y
);
208 AssetEditWindow
*fwindow
;
211 class AssetEditByteOrderLOHI
: public BC_Radial
214 AssetEditByteOrderLOHI(AssetEditWindow
*fwindow
, int value
, int x
, int y
);
218 AssetEditWindow
*fwindow
;
221 class AssetEditByteOrderHILO
: public BC_Radial
224 AssetEditByteOrderHILO(AssetEditWindow
*fwindow
, int value
, int x
, int y
);
228 AssetEditWindow
*fwindow
;
231 class AssetEditSigned
: public BC_CheckBox
234 AssetEditSigned(AssetEditWindow
*fwindow
, int value
, int x
, int y
);
238 AssetEditWindow
*fwindow
;
241 class AssetEditReelName
: public BC_TextBox
244 AssetEditReelName(AssetEditWindow
*fwindow
, int x
, int y
);
245 ~AssetEditReelName();
249 AssetEditWindow
*fwindow
;
252 class AssetEditReelNumber
: public BC_TextBox
255 AssetEditReelNumber(AssetEditWindow
*fwindow
, int x
, int y
);
256 ~AssetEditReelNumber();
260 AssetEditWindow
*fwindow
;
263 class AssetEditTCStartTextBox
: public BC_TextBox
266 AssetEditTCStartTextBox(AssetEditWindow
*fwindow
, int value
, int x
, int y
, int multiplier
);
267 ~AssetEditTCStartTextBox();
270 AssetEditWindow
*fwindow
;
271 // Multiplier is the # of frames for whatever unit of time this is.
272 // fps dependent, and unit dependent