--- /dev/null
+#ifndef __DVDCREATE_H__
+#define __DVDCREATE_H__
+
+#include "arraylist.h"
+#include "batchrender.h"
+#include "bcwindowbase.h"
+#include "bcbutton.h"
+#include "bcdialog.h"
+#include "bcmenuitem.h"
+#include "bctextbox.h"
+#include "mwindow.h"
+
+#include "dvdcreate.inc"
+
+
+class CreateDVD_MenuItem : public BC_MenuItem
+{
+public:
+ CreateDVD_MenuItem(MWindow *mwindow);
+ int handle_event();
+ MWindow *mwindow;
+};
+
+
+class CreateDVD_Thread : public BC_DialogThread
+{
+ static const int64_t DVD_SIZE;
+ static const int DVD_STREAMS, DVD_WIDTH, DVD_HEIGHT;
+ static const double DVD_ASPECT_WIDTH, DVD_ASPECT_HEIGHT;
+ static const double DVD_WIDE_ASPECT_WIDTH, DVD_WIDE_ASPECT_HEIGHT;
+ static const int DVD_MAX_BITRATE, DVD_CHANNELS, DVD_WIDE_CHANNELS;
+ static const double DVD_FRAMERATE, DVD_SAMPLERATE, DVD_KAUDIO_RATE;
+public:
+ CreateDVD_Thread(MWindow *mwindow);
+ ~CreateDVD_Thread();
+ void handle_close_event(int result);
+ BC_Window* new_gui();
+ int option_presets();
+ int create_dvd_jobs(ArrayList<BatchRenderJob*> *jobs,
+ const char *tmp_path, const char *asset_title);
+ int insert_video_plugin(const char *title, KeyFrame *default_keyframe);
+ int resize_tracks();
+
+ MWindow *mwindow;
+ CreateDVD_GUI *gui;
+ char asset_title[BCTEXTLEN];
+ 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_histogram, use_label_chapters;
+ int use_ffmpeg;
+};
+
+class CreateDVD_OK : public BC_OKButton
+{
+public:
+ CreateDVD_OK(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_OK();
+ int button_press_event();
+ int keypress_event();
+
+ CreateDVD_GUI *gui;
+};
+
+class CreateDVD_Cancel : public BC_CancelButton
+{
+public:
+ CreateDVD_Cancel(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_Cancel();
+ int button_press_event();
+
+ CreateDVD_GUI *gui;
+};
+
+
+class CreateDVD_DiskSpace : public BC_Title
+{
+public:
+ CreateDVD_DiskSpace(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_DiskSpace();
+ int64_t tmp_path_space();
+ void update();
+
+ CreateDVD_GUI *gui;
+};
+
+class CreateDVD_TmpPath : public BC_TextBox
+{
+public:
+ CreateDVD_TmpPath(CreateDVD_GUI *gui, int x, int y, int w);
+ ~CreateDVD_TmpPath();
+ int handle_event();
+
+ CreateDVD_GUI *gui;
+};
+
+
+class CreateDVD_AssetTitle : public BC_TextBox
+{
+public:
+ CreateDVD_AssetTitle(CreateDVD_GUI *gui, int x, int y, int w);
+ ~CreateDVD_AssetTitle();
+
+ CreateDVD_GUI *gui;
+};
+
+class CreateDVD_Deinterlace : public BC_CheckBox
+{
+public:
+ CreateDVD_Deinterlace(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_Deinterlace();
+ int handle_event();
+
+ CreateDVD_GUI *gui;
+};
+
+class CreateDVD_InverseTelecine : public BC_CheckBox
+{
+public:
+ CreateDVD_InverseTelecine(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_InverseTelecine();
+ int handle_event();
+
+ 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_ResizeTracks(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_ResizeTracks();
+
+ CreateDVD_GUI *gui;
+};
+
+class CreateDVD_Histogram : public BC_CheckBox
+{
+public:
+ CreateDVD_Histogram(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_Histogram();
+
+ CreateDVD_GUI *gui;
+};
+
+class CreateDVD_LabelChapters : public BC_CheckBox
+{
+public:
+ CreateDVD_LabelChapters(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_LabelChapters();
+
+ CreateDVD_GUI *gui;
+};
+
+class CreateDVD_WideAudio : public BC_CheckBox
+{
+public:
+ CreateDVD_WideAudio(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_WideAudio();
+
+ 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:
+ CreateDVD_UseFFMpeg(CreateDVD_GUI *gui, int x, int y);
+ ~CreateDVD_UseFFMpeg();
+
+ CreateDVD_GUI *gui;
+};
+
+class CreateDVD_GUI : public BC_Window
+{
+public:
+ CreateDVD_GUI(CreateDVD_Thread *thread,
+ int x, int y, int w, int h);
+ ~CreateDVD_GUI();
+
+ void create_objects();
+ int resize_event(int w, int h);
+ int translation_event();
+ int close_event();
+
+ 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;
+ CreateDVD_DiskSpace *disk_space;
+ 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;
+ int cancel_x, cancel_y, cancel_w, cancel_h;
+ CreateDVD_Cancel *cancel;
+};
+
+#endif