X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fbdcreate.C;h=de8042b3e9b6d772b89eb6775ecdaf646ab16aa2;hb=9f344ea7acc2f3e077a4f736e2f99eaeff81d66b;hp=1bf6dac843d2adff54b09224112ed671a84dc510;hpb=ddabb22a495f457ece1d845fe2c32ddf2fc27b58;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/bdcreate.C b/cinelerra-5.1/cinelerra/bdcreate.C index 1bf6dac8..de8042b3 100644 --- a/cinelerra-5.1/cinelerra/bdcreate.C +++ b/cinelerra-5.1/cinelerra/bdcreate.C @@ -17,6 +17,7 @@ #include "mwindowgui.h" #include "plugin.h" #include "pluginset.h" +#include "preferences.h" #include "rescale.h" #include "track.h" #include "tracks.h" @@ -42,15 +43,14 @@ static struct bd_format { // framerates are frames, not fields, per second, *=not standard { "1920x1080 29.97i", 1920,1080, 29.97, 1, ILACE_MODE_TOP_FIRST }, { "1920x1080 29.97p*", 1920,1080, 29.97, 1, ILACE_MODE_NOTINTERLACED }, - { "1920x1080 24p", 1920,1080, 50., 1, ILACE_MODE_NOTINTERLACED }, - { "1920x1080 25i", 1920,1080, 25., 1, ILACE_MODE_TOP_FIRST }, { "1920x1080 24p", 1920,1080, 24., 1, ILACE_MODE_NOTINTERLACED }, + { "1920x1080 25i", 1920,1080, 25., 1, ILACE_MODE_TOP_FIRST }, { "1920x1080 23.976p", 1920,1080, 23.976, 1, ILACE_MODE_NOTINTERLACED }, - { "1440x1080 29.97i", 1440,1080, 59.94, 0, ILACE_MODE_TOP_FIRST }, - { "1440x1080 25i", 1440,1080, 50., 0, ILACE_MODE_TOP_FIRST }, + { "1440x1080 29.97i", 1440,1080, 29.97, 0, ILACE_MODE_TOP_FIRST }, + { "1440x1080 25i", 1440,1080, 25., 0, ILACE_MODE_TOP_FIRST }, { "1440x1080 24p", 1440,1080, 24., 0, ILACE_MODE_NOTINTERLACED }, { "1440x1080 23.976p", 1440,1080, 23.976, 0, ILACE_MODE_NOTINTERLACED }, - { "1280x720 29.97p", 1280,720, 59.94, 1, ILACE_MODE_NOTINTERLACED }, + { "1280x720 59.94p", 1280,720, 59.94, 1, ILACE_MODE_NOTINTERLACED }, { "1280x720 50p", 1280,720, 50., 1, ILACE_MODE_NOTINTERLACED }, { "1280x720 23.976p", 1280,720, 23.976, 1, ILACE_MODE_NOTINTERLACED }, { "1280x720 24p", 1280,720, 24., 1, ILACE_MODE_NOTINTERLACED }, @@ -121,8 +121,7 @@ CreateBD_Thread::~CreateBD_Thread() close_window(); } -int CreateBD_Thread::create_bd_jobs(ArrayList *jobs, - const char *asset_dir, const char *asset_title) +int CreateBD_Thread::create_bd_jobs(ArrayList *jobs, const char *asset_dir) { EDL *edl = mwindow->edl; if( !edl || !edl->session ) { @@ -366,7 +365,7 @@ void CreateBD_Thread::handle_close_event(int result) sprintf(asset_dir, "%s/%s", tmp_path, asset_title); sprintf(jobs_path, "%s/bd.jobs", asset_dir); mwindow->batch_render->reset(jobs_path); - int ret = create_bd_jobs(&mwindow->batch_render->jobs, asset_dir, asset_title); + int ret = create_bd_jobs(&mwindow->batch_render->jobs, asset_dir); mwindow->undo->update_undo_after(_("create bd"), LOAD_ALL); mwindow->resync_guis(); if( ret ) return; @@ -428,6 +427,12 @@ BC_Window* CreateBD_Thread::new_gui() gui = new CreateBD_GUI(this, x, y, w, h); gui->create_objects(); + + if( getuid() != 0 ) { + mwindow->show_warning( + &mwindow->preferences->bd_warn_root, + _("Must be root to mount UDFS images\n")); + } return gui; } @@ -490,7 +495,7 @@ CreateBD_DiskSpace::~CreateBD_DiskSpace() int64_t CreateBD_DiskSpace::tmp_path_space() { - const char *path = gui->tmp_path->get_text(); + const char *path = gui->thread->tmp_path; if( access(path,R_OK+W_OK) ) return 0; struct statfs sfs; if( statfs(path, &sfs) ) return 0; @@ -531,13 +536,15 @@ CreateBD_TmpPath::~CreateBD_TmpPath() int CreateBD_TmpPath::handle_event() { + get_text(); gui->disk_space->update(); return 1; } CreateBD_AssetTitle::CreateBD_AssetTitle(CreateBD_GUI *gui, int x, int y, int w) - : BC_TextBox(x, y, w, 1, 0, gui->thread->asset_title, 1, MEDIUMFONT) + : BC_TextBox(x, y, w, 1, -(int)sizeof(gui->thread->asset_title), + gui->thread->asset_title, 1, MEDIUMFONT) { this->gui = gui; } @@ -546,6 +553,11 @@ CreateBD_AssetTitle::~CreateBD_AssetTitle() { } +int CreateBD_AssetTitle::handle_event() +{ + get_text(); + return 1; +} CreateBD_Deinterlace::CreateBD_Deinterlace(CreateBD_GUI *gui, int x, int y) : BC_CheckBox(x, y, &gui->thread->use_deinterlace, _("Deinterlace")) @@ -953,7 +965,6 @@ void CreateBD_Format::create_objects() } submenu->add_submenuitem(new CreateBD_FormatItem(this, i, bd_formats[i].name)); } - set_value(gui->thread->use_standard); } int CreateBD_Format::handle_event()