X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fbdcreate.h;h=f69ee1aa78d21291e5c5b879c43d516fd0e46681;hp=289c30264b962ed6872ed3d76df3f625a4ada502;hb=2e48b660e37eb5c661264d601211e16cb6cd6e89;hpb=198530fac4797a9338e91f342939468efffa4eb2 diff --git a/cinelerra-5.1/cinelerra/bdcreate.h b/cinelerra-5.1/cinelerra/bdcreate.h index 289c3026..f69ee1aa 100644 --- a/cinelerra-5.1/cinelerra/bdcreate.h +++ b/cinelerra-5.1/cinelerra/bdcreate.h @@ -9,7 +9,9 @@ #include "bclistboxitem.inc" #include "bcmenuitem.h" #include "bctextbox.h" +#include "browsebutton.h" #include "mwindow.h" +#include "rescale.h" #include "bdcreate.inc" @@ -31,14 +33,15 @@ class CreateBD_Thread : public BC_DialogThread 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 *jobs, - const char *tmp_path, const char *asset_title); + int create_bd_jobs(ArrayList *jobs, const char *asset_dir); int insert_video_plugin(const char *title, KeyFrame *default_keyframe); int resize_tracks(); @@ -48,7 +51,7 @@ 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_standard; @@ -61,6 +64,8 @@ public: 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 @@ -112,6 +117,7 @@ class CreateBD_AssetTitle : public BC_TextBox public: CreateBD_AssetTitle(CreateBD_GUI *gui, int x, int y, int w); ~CreateBD_AssetTitle(); + int handle_event(); CreateBD_GUI *gui; }; @@ -136,15 +142,6 @@ public: 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: @@ -181,15 +178,6 @@ 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: @@ -208,17 +196,18 @@ 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 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; @@ -244,8 +233,32 @@ public: 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