X-Git-Url: http://git.cinelerra-gg.org/git/?p=goodguy%2Fhistory.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fdvdcreate.h;h=cfb9b00b63638ed251f186373838a5bace8c3fac;hp=a0d331f7f8fa87eec178d91b6d86efa366674dcf;hb=a19a685a46ddc630010788707d9e5b9d2342af46;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd diff --git a/cinelerra-5.1/cinelerra/dvdcreate.h b/cinelerra-5.1/cinelerra/dvdcreate.h index a0d331f7..cfb9b00b 100644 --- a/cinelerra-5.1/cinelerra/dvdcreate.h +++ b/cinelerra-5.1/cinelerra/dvdcreate.h @@ -6,13 +6,15 @@ #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 "dvdcreate.inc" - class CreateDVD_MenuItem : public BC_MenuItem { public: @@ -36,8 +38,7 @@ public: void handle_close_event(int result); BC_Window* new_gui(); int option_presets(); - int create_dvd_jobs(ArrayList *jobs, - const char *tmp_path, const char *asset_title); + int create_dvd_jobs(ArrayList *jobs, const char *asset_path); int insert_video_plugin(const char *title, KeyFrame *default_keyframe); int resize_tracks(); @@ -47,9 +48,20 @@ 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_ffmpeg; + int use_ffmpeg, use_standard; + + int64_t dvd_size; + int dvd_width; + int dvd_height; + double dvd_aspect_width; + double dvd_aspect_height; + double dvd_framerate; + int dvd_samplerate; + int dvd_max_bitrate; + double dvd_kaudio_rate; + int max_w, max_h; }; class CreateDVD_OK : public BC_OKButton @@ -101,6 +113,7 @@ class CreateDVD_AssetTitle : public BC_TextBox public: CreateDVD_AssetTitle(CreateDVD_GUI *gui, int x, int y, int w); ~CreateDVD_AssetTitle(); + int handle_event(); CreateDVD_GUI *gui; }; @@ -125,15 +138,6 @@ public: 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: @@ -170,15 +174,6 @@ public: 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: @@ -199,22 +194,25 @@ public: int resize_event(int w, int h); int translation_event(); int close_event(); + void update(); - 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; + BrowseButton *btmp_path; CreateDVD_DiskSpace *disk_space; + CreateDVD_Format *standard; + CreateDVD_Scale *scale; + ArrayList media_sizes; + CreateDVD_MediaSize *media_size; 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; @@ -222,4 +220,60 @@ public: CreateDVD_Cancel *cancel; }; +class CreateDVD_FormatItem : public BC_MenuItem +{ +public: + int handle_event(); + CreateDVD_FormatItem(CreateDVD_Format *popup, int standard, const char *text); + ~CreateDVD_FormatItem(); + + CreateDVD_Format *popup; + int standard; +}; + +class CreateDVD_Format : public BC_PopupMenu +{ +public: + void create_objects(); + int handle_event(); + CreateDVD_Format(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_Format(); + void set_value(int v) { set_text(get_item(v)->get_text()); } + + CreateDVD_GUI *gui; +}; + +class CreateDVD_ScaleItem : public BC_MenuItem +{ +public: + int handle_event(); + CreateDVD_ScaleItem(CreateDVD_Scale *popup, int scale, const char *text); + ~CreateDVD_ScaleItem(); + + CreateDVD_Scale *popup; + int scale; +}; + +class CreateDVD_Scale : public BC_PopupMenu +{ +public: + void create_objects(); + int handle_event(); + CreateDVD_Scale(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_Scale(); + + CreateDVD_GUI *gui; + void set_value(int v) { set_text(Rescale::scale_types[v]); } +}; + +class CreateDVD_MediaSize : public BC_PopupTextBox +{ +public: + CreateDVD_MediaSize(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_MediaSize(); + int handle_event(); + + CreateDVD_GUI *gui; +}; + #endif