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=f13bee747f6c4ece8b19394c34b0c3c2a36eeb6a;hb=2e48b660e37eb5c661264d601211e16cb6cd6e89;hpb=2f28632d8209ef735de1698a596bc94fa9613497 diff --git a/cinelerra-5.1/cinelerra/bdcreate.h b/cinelerra-5.1/cinelerra/bdcreate.h index f13bee74..f69ee1aa 100644 --- a/cinelerra-5.1/cinelerra/bdcreate.h +++ b/cinelerra-5.1/cinelerra/bdcreate.h @@ -11,6 +11,7 @@ #include "bctextbox.h" #include "browsebutton.h" #include "mwindow.h" +#include "rescale.h" #include "bdcreate.inc" @@ -32,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(); @@ -49,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; @@ -62,6 +64,7 @@ public: int bd_samplerate; int bd_max_bitrate; double bd_kaudio_rate; + int bd_interlace_mode; int max_w, max_h; }; @@ -114,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; }; @@ -138,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: @@ -183,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: @@ -213,15 +199,15 @@ public: 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; @@ -247,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