r499: This commit was manufactured by cvs2svn to create tag 'r1_2_1-last'.
[cinelerra_cv/mob.git] / hvirtual / cinelerra / assetedit.h
blobec21187c27a884bdac3b7e7225102e8e6df05854
1 #ifndef ASSETEDIT_H
2 #define ASSETEDIT_H
4 #include "asset.inc"
5 #include "awindow.inc"
6 #include "guicast.h"
7 #include "bitspopup.inc"
8 #include "browsebutton.h"
9 #include "formatpopup.h"
10 #include "mwindow.h"
11 #include "thread.h"
13 #include <libintl.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;
23 class AssetEditPath;
24 class AssetEditPathText;
25 class AssetEditWindow;
27 class AssetEdit : public Thread
29 public:
30 AssetEdit(MWindow *mwindow);
31 ~AssetEdit();
33 void edit_asset(Asset *asset);
34 int set_asset(Asset *asset);
35 void run();
37 Asset *asset, *new_asset;
38 MWindow *mwindow;
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
49 public:
50 AssetEditWindow(MWindow *mwindow, AssetEdit *asset_edit);
51 ~AssetEditWindow();
53 int create_objects();
54 Asset *asset;
55 AssetEditPathText *path_text;
56 AssetEditPath *path_button;
57 AssetEditByteOrderHILO *hilo;
58 AssetEditByteOrderLOHI *lohi;
59 BitsPopup *bitspopup;
60 int allow_edits;
61 MWindow *mwindow;
62 AssetEdit *asset_edit;
66 class AssetEditPath : public BrowseButton
68 public:
69 AssetEditPath(MWindow *mwindow, AssetEditWindow *fwindow, BC_TextBox *textbox, int y, char *text, char *window_title = "2000: Path", char *window_caption = _("Select a file"));
70 ~AssetEditPath();
72 AssetEditWindow *fwindow;
76 class AssetEditPathText : public BC_TextBox
78 public:
79 AssetEditPathText(AssetEditWindow *fwindow, int y);
80 ~AssetEditPathText();
81 int handle_event();
83 AssetEditWindow *fwindow;
88 class AssetEditFormat : public FormatPopup
90 public:
91 AssetEditFormat(AssetEditWindow *fwindow, char* default_, int y);
92 ~AssetEditFormat();
94 int handle_event();
95 AssetEditWindow *fwindow;
99 class AssetEditChannels : public BC_TumbleTextBox
101 public:
102 AssetEditChannels(AssetEditWindow *fwindow, char *text, int x, int y);
104 int handle_event();
106 AssetEditWindow *fwindow;
109 class AssetEditRate : public BC_TextBox
111 public:
112 AssetEditRate(AssetEditWindow *fwindow, char *text, int x, int y);
114 int handle_event();
116 AssetEditWindow *fwindow;
119 class AssetEditFRate : public BC_TextBox
121 public:
122 AssetEditFRate(AssetEditWindow *fwindow, char *text, int x, int y);
124 int handle_event();
126 AssetEditWindow *fwindow;
129 class AssetEditHeader : public BC_TextBox
131 public:
132 AssetEditHeader(AssetEditWindow *fwindow, char *text, int x, int y);
134 int handle_event();
136 AssetEditWindow *fwindow;
139 class AssetEditByteOrderLOHI : public BC_Radial
141 public:
142 AssetEditByteOrderLOHI(AssetEditWindow *fwindow, int value, int x, int y);
144 int handle_event();
146 AssetEditWindow *fwindow;
149 class AssetEditByteOrderHILO : public BC_Radial
151 public:
152 AssetEditByteOrderHILO(AssetEditWindow *fwindow, int value, int x, int y);
154 int handle_event();
156 AssetEditWindow *fwindow;
159 class AssetEditSigned : public BC_CheckBox
161 public:
162 AssetEditSigned(AssetEditWindow *fwindow, int value, int x, int y);
164 int handle_event();
166 AssetEditWindow *fwindow;
169 class AssetEditReelName : public BC_TextBox
171 public:
172 AssetEditReelName(AssetEditWindow *fwindow, int x, int y);
173 ~AssetEditReelName();
175 int handle_event();
177 AssetEditWindow *fwindow;
180 class AssetEditReelNumber : public BC_TextBox
182 public:
183 AssetEditReelNumber(AssetEditWindow *fwindow, int x, int y);
184 ~AssetEditReelNumber();
186 int handle_event();
188 AssetEditWindow *fwindow;
191 class AssetEditTCStartTextBox : public BC_TextBox
193 public:
194 AssetEditTCStartTextBox(AssetEditWindow *fwindow, int value, int x, int y, int multiplier);
195 ~AssetEditTCStartTextBox();
196 int handle_event();
198 AssetEditWindow *fwindow;
199 // Multiplier is the # of frames for whatever unit of time this is.
200 // fps dependent, and unit dependent
201 int multiplier;
202 int previous;
204 #endif