X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fbdcreate.h;h=f69ee1aa78d21291e5c5b879c43d516fd0e46681;hb=a985e771ecfb00f01c6405c7aa4fb958a780e558;hp=cdea066577dd507fc42ed0bef46517d68e8dcf56;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/bdcreate.h b/cinelerra-5.1/cinelerra/bdcreate.h index cdea0665..f69ee1aa 100644 --- a/cinelerra-5.1/cinelerra/bdcreate.h +++ b/cinelerra-5.1/cinelerra/bdcreate.h @@ -6,15 +6,16 @@ #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 "bdcreate.inc" - - class CreateBD_MenuItem : public BC_MenuItem { public: @@ -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,8 +51,21 @@ 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; + + int64_t bd_size; + int bd_width; + int bd_height; + double bd_aspect_width; + double bd_aspect_height; + double bd_framerate; + 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 @@ -102,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; }; @@ -126,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: @@ -171,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: @@ -191,21 +189,25 @@ public: int resize_event(int w, int h); int translation_event(); int close_event(); + void update(); - int64_t needed_disk_space; CreateBD_Thread *thread; int at_x, at_y; 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; @@ -213,4 +215,60 @@ public: CreateBD_Cancel *cancel; }; +class CreateBD_FormatItem : public BC_MenuItem +{ +public: + int handle_event(); + CreateBD_FormatItem(CreateBD_Format *popup, int standard, const char *name); + ~CreateBD_FormatItem(); + + CreateBD_Format *popup; + int standard; +}; + +class CreateBD_Format : public BC_PopupMenu +{ +public: + void create_objects(); + 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 +{ +public: + CreateBD_MediaSize(CreateBD_GUI *gui, int x, int y); + ~CreateBD_MediaSize(); + int handle_event(); + + CreateBD_GUI *gui; +}; + #endif