X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fdvdcreate.C;h=527228414c9a18adc43b6eed254c36e30ce91161;hb=02fe8e44992e30bdd98a1949506b54460c5f2f96;hp=8779e3c9345bce4120d951aec81aca5525955f02;hpb=0df48ad2d876409c5beeae2e21933a728ea76c33;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/dvdcreate.C b/cinelerra-5.1/cinelerra/dvdcreate.C index 8779e3c9..52722841 100644 --- a/cinelerra-5.1/cinelerra/dvdcreate.C +++ b/cinelerra-5.1/cinelerra/dvdcreate.C @@ -1,3 +1,23 @@ +/* + * CINELERRA + * Copyright (C) 2016-2020 William Morrow + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published + * by the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 + * USA + */ + #include "asset.h" #include "bchash.h" #include "clip.h" @@ -24,9 +44,22 @@ #include #include #include +#if !defined(__FreeBSD__) #include +#if !defined(__NetBSD__) #include +#endif +#else +#include +#include +#endif +#if defined(__NetBSD__) +#include +#ifndef statfs +#define statfs statvfs +#endif +#endif #define DVD_PAL_4x3 0 #define DVD_PAL_16x9 1 @@ -177,7 +210,7 @@ char *DVD_BatchRenderJob::create_script(EDL *edl, ArrayList *idxbls int file_seq = farmed || labeled ? 1 : 0; if( !muxed ) { if( file_seq ) { - fprintf(fp, "cat > $dir/dvd.m2v $dir/dvd.m2v0*\n"); + fprintf(fp, "cat > $dir/dvd.m2v $dir/dvd.m2v[0-9]*\n"); fprintf(fp, "mplex -M -f 8 -o $dir/dvd.mpg $dir/dvd.m2v $dir/dvd.ac3\n"); file_seq = 0; } @@ -486,7 +519,7 @@ void CreateDVD_Thread::handle_close_event(int result) Tracks *tracks = mwindow->edl->tracks; for( Track *vtrk=tracks->first; vtrk; vtrk=vtrk->next ) { if( vtrk->data_type != TRACK_VIDEO ) continue; - if( !vtrk->record ) continue; + if( !vtrk->is_armed() ) continue; vtrk->expand_view = 1; PluginSet *plugin_set = new PluginSet(mwindow->edl, vtrk); vtrk->plugin_set.append(plugin_set); @@ -614,7 +647,7 @@ BC_Window* CreateDVD_Thread::new_gui() int scr_x = mwindow->gui->get_screen_x(0, -1); int scr_w = mwindow->gui->get_screen_w(0, -1); int scr_h = mwindow->gui->get_screen_h(0, -1); - int w = xS(520), h = yS(280); + int w = xS(560), h = yS(280); int x = scr_x + scr_w/2 - w/2, y = scr_h/2 - h/2; gui = new CreateDVD_GUI(this, x, y, w, h); @@ -645,7 +678,7 @@ int CreateDVD_OK::button_press_event() int CreateDVD_OK::keypress_event() { - return 0; + return context_help_check_and_show(); } @@ -873,6 +906,8 @@ CreateDVD_GUI::CreateDVD_GUI(CreateDVD_Thread *thread, int x, int y, int w, int need_farmed = 0; ok = 0; cancel = 0; +// *** CONTEXT_HELP *** + context_help_set_keyword("DVD and Bluray Creation"); } CreateDVD_GUI::~CreateDVD_GUI() @@ -881,7 +916,7 @@ CreateDVD_GUI::~CreateDVD_GUI() void CreateDVD_GUI::create_objects() { - int xs10 = xS(10), xs30 = xS(30), xs35 = xS(35), xs170 = xS(170); + int xs10 = xS(10), xs35 = xS(35), xs170 = xS(170); int ys5 = yS(5), ys10 = yS(10); lock_window("CreateDVD_GUI::create_objects"); int pady = BC_TextBox::calculate_h(this, MEDIUMFONT, 0, 1) + ys5; @@ -922,7 +957,7 @@ void CreateDVD_GUI::create_objects() standard = new CreateDVD_Format(this, title->get_w() + padx, y); add_subwindow(standard); standard->create_objects(); - x0 -= xs30; + x0 -= xS(60); title = new BC_Title(x0, y, _("Scale:"), MEDIUMFONT, YELLOW); add_subwindow(title); x1 = x0+title->get_w()+padx; @@ -1015,7 +1050,7 @@ insert_video_plugin(const char *title, KeyFrame *default_keyframe) Tracks *tracks = mwindow->edl->tracks; for( Track *vtrk=tracks->first; vtrk; vtrk=vtrk->next ) { if( vtrk->data_type != TRACK_VIDEO ) continue; - if( !vtrk->record ) continue; + if( !vtrk->is_armed() ) continue; vtrk->expand_view = 1; PluginSet *plugin_set = new PluginSet(mwindow->edl, vtrk); vtrk->plugin_set.append(plugin_set); @@ -1039,7 +1074,7 @@ resize_tracks() if( trk_h < dvd_height ) trk_h = dvd_height; for( Track *vtrk=tracks->first; vtrk; vtrk=vtrk->next ) { if( vtrk->data_type != TRACK_VIDEO ) continue; - if( !vtrk->record ) continue; + if( !vtrk->is_armed() ) continue; vtrk->track_w = trk_w; vtrk->track_h = trk_h; } @@ -1072,7 +1107,7 @@ option_presets() max_w = 0; max_h = 0; int has_deinterlace = 0, has_scale = 0; for( Track *trk=tracks->first; trk; trk=trk->next ) { - if( !trk->record ) continue; + if( !trk->is_armed() ) continue; Edits *edits = trk->edits; switch( trk->data_type ) { case TRACK_VIDEO: @@ -1111,7 +1146,7 @@ option_presets() if( max_h != dvd_height ) use_resize_tracks = 1; } for( Track *trk=tracks->first; trk && !use_resize_tracks; trk=trk->next ) { - if( !trk->record ) continue; + if( !trk->is_armed() ) continue; switch( trk->data_type ) { case TRACK_VIDEO: if( trk->track_w != max_w ) use_resize_tracks = 1; @@ -1205,7 +1240,7 @@ int CreateDVD_ScaleItem::handle_event() CreateDVD_Scale::CreateDVD_Scale(CreateDVD_GUI *gui, int x, int y) - : BC_PopupMenu(x, y, xS(100), "", 1) + : BC_PopupMenu(x, y, xS(140), "", 1) { this->gui = gui; }