X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.0%2Fcinelerra%2Fdvdcreate.h;fp=cinelerra-5.0%2Fcinelerra%2Fdvdcreate.h;h=a0d331f7f8fa87eec178d91b6d86efa366674dcf;hb=91efd376233a15f6572e6f68d28a5bee69797e87;hp=0000000000000000000000000000000000000000;hpb=8596efc40093b9581099e7c72d8be3857e390242;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.0/cinelerra/dvdcreate.h b/cinelerra-5.0/cinelerra/dvdcreate.h new file mode 100644 index 00000000..a0d331f7 --- /dev/null +++ b/cinelerra-5.0/cinelerra/dvdcreate.h @@ -0,0 +1,225 @@ +#ifndef __DVDCREATE_H__ +#define __DVDCREATE_H__ + +#include "arraylist.h" +#include "batchrender.h" +#include "bcwindowbase.h" +#include "bcbutton.h" +#include "bcdialog.h" +#include "bcmenuitem.h" +#include "bctextbox.h" +#include "mwindow.h" + +#include "dvdcreate.inc" + + +class CreateDVD_MenuItem : public BC_MenuItem +{ +public: + CreateDVD_MenuItem(MWindow *mwindow); + int handle_event(); + MWindow *mwindow; +}; + + +class CreateDVD_Thread : public BC_DialogThread +{ + static const int64_t DVD_SIZE; + static const int DVD_STREAMS, DVD_WIDTH, DVD_HEIGHT; + static const double DVD_ASPECT_WIDTH, DVD_ASPECT_HEIGHT; + static const double DVD_WIDE_ASPECT_WIDTH, DVD_WIDE_ASPECT_HEIGHT; + static const int DVD_MAX_BITRATE, DVD_CHANNELS, DVD_WIDE_CHANNELS; + static const double DVD_FRAMERATE, DVD_SAMPLERATE, DVD_KAUDIO_RATE; +public: + CreateDVD_Thread(MWindow *mwindow); + ~CreateDVD_Thread(); + 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 insert_video_plugin(const char *title, KeyFrame *default_keyframe); + int resize_tracks(); + + MWindow *mwindow; + CreateDVD_GUI *gui; + char asset_title[BCTEXTLEN]; + 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_histogram, use_label_chapters; + int use_ffmpeg; +}; + +class CreateDVD_OK : public BC_OKButton +{ +public: + CreateDVD_OK(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_OK(); + int button_press_event(); + int keypress_event(); + + CreateDVD_GUI *gui; +}; + +class CreateDVD_Cancel : public BC_CancelButton +{ +public: + CreateDVD_Cancel(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_Cancel(); + int button_press_event(); + + CreateDVD_GUI *gui; +}; + + +class CreateDVD_DiskSpace : public BC_Title +{ +public: + CreateDVD_DiskSpace(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_DiskSpace(); + int64_t tmp_path_space(); + void update(); + + CreateDVD_GUI *gui; +}; + +class CreateDVD_TmpPath : public BC_TextBox +{ +public: + CreateDVD_TmpPath(CreateDVD_GUI *gui, int x, int y, int w); + ~CreateDVD_TmpPath(); + int handle_event(); + + CreateDVD_GUI *gui; +}; + + +class CreateDVD_AssetTitle : public BC_TextBox +{ +public: + CreateDVD_AssetTitle(CreateDVD_GUI *gui, int x, int y, int w); + ~CreateDVD_AssetTitle(); + + CreateDVD_GUI *gui; +}; + +class CreateDVD_Deinterlace : public BC_CheckBox +{ +public: + CreateDVD_Deinterlace(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_Deinterlace(); + int handle_event(); + + CreateDVD_GUI *gui; +}; + +class CreateDVD_InverseTelecine : public BC_CheckBox +{ +public: + CreateDVD_InverseTelecine(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_InverseTelecine(); + int handle_event(); + + 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: + CreateDVD_ResizeTracks(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_ResizeTracks(); + + CreateDVD_GUI *gui; +}; + +class CreateDVD_Histogram : public BC_CheckBox +{ +public: + CreateDVD_Histogram(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_Histogram(); + + CreateDVD_GUI *gui; +}; + +class CreateDVD_LabelChapters : public BC_CheckBox +{ +public: + CreateDVD_LabelChapters(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_LabelChapters(); + + CreateDVD_GUI *gui; +}; + +class CreateDVD_WideAudio : public BC_CheckBox +{ +public: + CreateDVD_WideAudio(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_WideAudio(); + + 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: + CreateDVD_UseFFMpeg(CreateDVD_GUI *gui, int x, int y); + ~CreateDVD_UseFFMpeg(); + + CreateDVD_GUI *gui; +}; + +class CreateDVD_GUI : public BC_Window +{ +public: + CreateDVD_GUI(CreateDVD_Thread *thread, + int x, int y, int w, int h); + ~CreateDVD_GUI(); + + void create_objects(); + int resize_event(int w, int h); + int translation_event(); + int close_event(); + + 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; + CreateDVD_DiskSpace *disk_space; + 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; + int cancel_x, cancel_y, cancel_w, cancel_h; + CreateDVD_Cancel *cancel; +}; + +#endif