#include "bclistboxitem.inc"
#include "bcmenuitem.h"
#include "bctextbox.h"
+#include "browsebutton.h"
#include "mwindow.h"
+#include "rescale.h"
#include "bdcreate.inc"
static const double BD_WIDE_ASPECT_WIDTH, BD_WIDE_ASPECT_HEIGHT;
static const int BD_MAX_BITRATE, BD_CHANNELS, BD_WIDE_CHANNELS;
static const double BD_FRAMERATE, BD_SAMPLERATE, BD_KAUDIO_RATE;
+ static const int BD_INTERLACE_MODE;
+ static int get_udfs_mount(char *udfs, char *mopts, char *mntpt);
public:
CreateBD_Thread(MWindow *mwindow);
~CreateBD_Thread();
void handle_close_event(int result);
BC_Window* new_gui();
int option_presets();
- int create_bd_jobs(ArrayList<BatchRenderJob*> *jobs,
- const char *tmp_path, const char *asset_title);
+ int create_bd_jobs(ArrayList<BatchRenderJob*> *jobs, const char *asset_dir);
int insert_video_plugin(const char *title, KeyFrame *default_keyframe);
int resize_tracks();
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_standard;
int bd_samplerate;
int bd_max_bitrate;
double bd_kaudio_rate;
+ int bd_interlace_mode;
+ int max_w, max_h;
};
class CreateBD_OK : public BC_OKButton
public:
CreateBD_AssetTitle(CreateBD_GUI *gui, int x, int y, int w);
~CreateBD_AssetTitle();
+ int handle_event();
CreateBD_GUI *gui;
};
CreateBD_GUI *gui;
};
-class CreateBD_Scale : public BC_CheckBox
-{
-public:
- CreateBD_Scale(CreateBD_GUI *gui, int x, int y);
- ~CreateBD_Scale();
-
- CreateBD_GUI *gui;
-};
-
class CreateBD_ResizeTracks : public BC_CheckBox
{
public:
CreateBD_GUI *gui;
};
-class CreateBD_WideAspect : public BC_CheckBox
-{
-public:
- CreateBD_WideAspect(CreateBD_GUI *gui, int x, int y);
- ~CreateBD_WideAspect();
-
- CreateBD_GUI *gui;
-};
-
class CreateBD_GUI : public BC_Window
{
public:
CreateBD_AssetTitle *asset_title;
int tmp_x, tmp_y;
CreateBD_TmpPath *tmp_path;
+ BrowseButton *btmp_path;
CreateBD_DiskSpace *disk_space;
CreateBD_Format *standard;
+ CreateBD_Scale *scale;
ArrayList<BC_ListBoxItem *> media_sizes;
CreateBD_MediaSize *media_size;
CreateBD_Deinterlace *need_deinterlace;
CreateBD_InverseTelecine *need_inverse_telecine;
- CreateBD_Scale *need_scale;
CreateBD_ResizeTracks *need_resize_tracks;
CreateBD_Histogram *need_histogram;
+ BC_Title *non_standard;
CreateBD_WideAudio *need_wide_audio;
- CreateBD_WideAspect *need_wide_aspect;
CreateBD_LabelChapters *need_label_chapters;
int ok_x, ok_y, ok_w, ok_h;
CreateBD_OK *ok;
int handle_event();
CreateBD_Format(CreateBD_GUI *gui, int x, int y);
~CreateBD_Format();
+ void set_value(int v) { set_text(get_item(v)->get_text()); }
+
+ CreateBD_GUI *gui;
+};
+
+class CreateBD_ScaleItem : public BC_MenuItem
+{
+public:
+ int handle_event();
+ CreateBD_ScaleItem(CreateBD_Scale *popup, int scale, const char *text);
+ ~CreateBD_ScaleItem();
+
+ CreateBD_Scale *popup;
+ int scale;
+};
+
+class CreateBD_Scale : public BC_PopupMenu
+{
+public:
+ void create_objects();
+ int handle_event();
+ CreateBD_Scale(CreateBD_GUI *gui, int x, int y);
+ ~CreateBD_Scale();
CreateBD_GUI *gui;
+ void set_value(int v) { set_text(Rescale::scale_types[v]); }
};
class CreateBD_MediaSize : public BC_PopupTextBox