#include "bcwindowbase.h"
#include "bcbutton.h"
#include "bcdialog.h"
+#include "bclistboxitem.inc"
#include "bcmenuitem.h"
#include "bctextbox.h"
+#include "browsebutton.h"
#include "mwindow.h"
+#include "rescale.h"
#include "dvdcreate.inc"
-
class CreateDVD_MenuItem : public BC_MenuItem
{
public:
char tmp_path[BCTEXTLEN];
int use_deinterlace, use_inverse_telecine;
int use_scale, use_resize_tracks;
- int use_wide_audio, use_wide_aspect;
+ int use_wide_audio;
int use_histogram, use_label_chapters;
- int use_ffmpeg;
+ int use_ffmpeg, use_standard;
+
+ int64_t dvd_size;
+ int dvd_width;
+ int dvd_height;
+ double dvd_aspect_width;
+ double dvd_aspect_height;
+ double dvd_framerate;
+ int dvd_samplerate;
+ int dvd_max_bitrate;
+ double dvd_kaudio_rate;
+ int max_w, max_h;
};
class CreateDVD_OK : public BC_OKButton
CreateDVD_GUI *gui;
};
-class CreateDVD_Scale : public BC_CheckBox
-{
-public:
- CreateDVD_Scale(CreateDVD_GUI *gui, int x, int y);
- ~CreateDVD_Scale();
-
- CreateDVD_GUI *gui;
-};
-
class CreateDVD_ResizeTracks : public BC_CheckBox
{
public:
CreateDVD_GUI *gui;
};
-class CreateDVD_WideAspect : public BC_CheckBox
-{
-public:
- CreateDVD_WideAspect(CreateDVD_GUI *gui, int x, int y);
- ~CreateDVD_WideAspect();
-
- CreateDVD_GUI *gui;
-};
-
class CreateDVD_UseFFMpeg : public BC_CheckBox
{
public:
int resize_event(int w, int h);
int translation_event();
int close_event();
+ void update();
- int64_t needed_disk_space;
CreateDVD_Thread *thread;
int at_x, at_y;
CreateDVD_AssetTitle *asset_title;
int tmp_x, tmp_y;
CreateDVD_TmpPath *tmp_path;
+ BrowseButton *btmp_path;
CreateDVD_DiskSpace *disk_space;
+ CreateDVD_Format *standard;
+ CreateDVD_Scale *scale;
+ ArrayList<BC_ListBoxItem *> media_sizes;
+ CreateDVD_MediaSize *media_size;
CreateDVD_Deinterlace *need_deinterlace;
CreateDVD_InverseTelecine *need_inverse_telecine;
- CreateDVD_Scale *need_scale;
CreateDVD_UseFFMpeg *need_use_ffmpeg;
CreateDVD_ResizeTracks *need_resize_tracks;
CreateDVD_Histogram *need_histogram;
CreateDVD_WideAudio *need_wide_audio;
- CreateDVD_WideAspect *need_wide_aspect;
CreateDVD_LabelChapters *need_label_chapters;
int ok_x, ok_y, ok_w, ok_h;
CreateDVD_OK *ok;
CreateDVD_Cancel *cancel;
};
+class CreateDVD_FormatItem : public BC_MenuItem
+{
+public:
+ int handle_event();
+ CreateDVD_FormatItem(CreateDVD_Format *popup, int standard, const char *text);
+ ~CreateDVD_FormatItem();
+
+ CreateDVD_Format *popup;
+ int standard;
+};
+
+class CreateDVD_Format : public BC_PopupMenu
+{
+public:
+ void create_objects();
+ int handle_event();
+ CreateDVD_Format(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_Format();
+ void set_value(int v) { set_text(get_item(v)->get_text()); }
+
+ CreateDVD_GUI *gui;
+};
+
+class CreateDVD_ScaleItem : public BC_MenuItem
+{
+public:
+ int handle_event();
+ CreateDVD_ScaleItem(CreateDVD_Scale *popup, int scale, const char *text);
+ ~CreateDVD_ScaleItem();
+
+ CreateDVD_Scale *popup;
+ int scale;
+};
+
+class CreateDVD_Scale : public BC_PopupMenu
+{
+public:
+ void create_objects();
+ int handle_event();
+ CreateDVD_Scale(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_Scale();
+
+ CreateDVD_GUI *gui;
+ void set_value(int v) { set_text(Rescale::scale_types[v]); }
+};
+
+class CreateDVD_MediaSize : public BC_PopupTextBox
+{
+public:
+ CreateDVD_MediaSize(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_MediaSize();
+ int handle_event();
+
+ CreateDVD_GUI *gui;
+};
+
#endif