X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fasset.C;h=9cf4a3055e69c9f61010d901ad077585dd28f633;hb=f30a92d2f983d5ec09c8fd8db48c9bcb7ec76763;hp=5350004cd4dbfe5285602b5db1d479b349e88561;hpb=50a589b1decdd353a984d8a710e064ebaf8b4f7b;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/asset.C b/cinelerra-5.1/cinelerra/asset.C index 5350004c..9cf4a305 100644 --- a/cinelerra-5.1/cinelerra/asset.C +++ b/cinelerra-5.1/cinelerra/asset.C @@ -21,6 +21,7 @@ #include "asset.h" #include "assets.h" +#include "awindowgui.h" #include "bchash.h" #include "bcsignals.h" #include "clip.h" @@ -90,9 +91,9 @@ int Asset::init_values() jpeg_quality = 80; aspect_ratio = -1; - interlace_autofixoption = BC_ILACE_AUTOFIXOPTION_AUTO; - interlace_mode = BC_ILACE_MODE_UNDETECTED; - interlace_fixmethod = BC_ILACE_FIXMETHOD_NONE; + interlace_autofixoption = ILACE_AUTOFIXOPTION_AUTO; + interlace_mode = ILACE_MODE_UNDETECTED; + interlace_fixmethod = ILACE_FIXMETHOD_NONE; ampeg_bitrate = 256; ampeg_derivative = 3; @@ -154,6 +155,7 @@ void Asset::reset_video() actual_width = width = 0; actual_height = height = 0; video_length = 0; + single_frame = 0; vmpeg_cmodel = BC_YUV420P; frame_rate = 0; program = -1; @@ -191,8 +193,8 @@ void Asset::copy_from(Asset *asset, int do_index) void Asset::copy_location(Asset *asset) { - strcpy(this->path, asset->path); - strcpy(this->folder, asset->folder); + strcpy(path, asset->path); + awindow_folder = asset->awindow_folder; } void Asset::copy_format(Asset *asset, int do_index) @@ -235,7 +237,7 @@ void Asset::copy_format(Asset *asset, int do_index) this->audio_length = asset->audio_length; this->video_length = asset->video_length; - + this->single_frame = asset->single_frame; ampeg_bitrate = asset->ampeg_bitrate; ampeg_derivative = asset->ampeg_derivative; @@ -463,7 +465,9 @@ int Asset::read(FileXML *file, else if(file->tag.title_is("FOLDER")) { - strcpy(folder, file->read_text()); + const char *string = file->tag.get_property("NUMBER"); + awindow_folder = string ? atoi(string) : + AWindowGUI::folder_number(file->read_text()); } else if(file->tag.title_is("VIDEO")) @@ -532,14 +536,15 @@ int Asset::read_video(FileXML *file) file->tag.get_property("VCODEC", vcodec); video_length = file->tag.get_property("VIDEO_LENGTH", (int64_t)0); + single_frame = file->tag.get_property("SINGLE_FRAME", (int64_t)0); interlace_autofixoption = file->tag.get_property("INTERLACE_AUTOFIX",0); - ilacemode_to_xmltext(string, BC_ILACE_MODE_NOTINTERLACED); - interlace_mode = ilacemode_from_xmltext(file->tag.get_property("INTERLACE_MODE",string), BC_ILACE_MODE_NOTINTERLACED); + ilacemode_to_xmltext(string, ILACE_MODE_NOTINTERLACED); + interlace_mode = ilacemode_from_xmltext(file->tag.get_property("INTERLACE_MODE",string), ILACE_MODE_NOTINTERLACED); - ilacefixmethod_to_xmltext(string, BC_ILACE_FIXMETHOD_NONE); - interlace_fixmethod = ilacefixmethod_from_xmltext(file->tag.get_property("INTERLACE_FIXMETHOD",string), BC_ILACE_FIXMETHOD_NONE); + ilacefixmethod_to_xmltext(string, ILACE_FIXMETHOD_NONE); + interlace_fixmethod = ilacefixmethod_from_xmltext(file->tag.get_property("INTERLACE_FIXMETHOD",string), ILACE_FIXMETHOD_NONE); file->tag.get_property("REEL_NAME", reel_name); reel_number = file->tag.get_property("REEL_NUMBER", reel_number); @@ -591,8 +596,8 @@ int Asset::write(FileXML *file, file->append_newline(); file->tag.set_title("FOLDER"); + file->tag.set_property("NUMBER", awindow_folder); file->append_tag(); - file->append_text(folder); file->tag.set_title("/FOLDER"); file->append_tag(); file->append_newline(); @@ -692,6 +697,7 @@ int Asset::write_video(FileXML *file) file->tag.set_property("VCODEC", vcodec); file->tag.set_property("VIDEO_LENGTH", video_length); + file->tag.set_property("SINGLE_FRAME", single_frame); file->tag.set_property("INTERLACE_AUTOFIX", interlace_autofixoption); @@ -799,6 +805,7 @@ void Asset::load_defaults(BC_Hash *defaults, layers = GET_DEFAULT("LAYERS", layers); if(EQUIV(frame_rate, 0)) frame_rate = GET_DEFAULT("FRAMERATE", frame_rate); video_length = GET_DEFAULT("VIDEO_LENGTH", (int64_t)0); + single_frame = GET_DEFAULT("SINGLE_FRAME", (int64_t)0); } ampeg_bitrate = GET_DEFAULT("AMPEG_BITRATE", ampeg_bitrate); @@ -827,9 +834,9 @@ void Asset::load_defaults(BC_Hash *defaults, jpeg_quality = GET_DEFAULT("JPEG_QUALITY", jpeg_quality); aspect_ratio = GET_DEFAULT("ASPECT_RATIO", aspect_ratio); - interlace_autofixoption = BC_ILACE_AUTOFIXOPTION_AUTO; - interlace_mode = BC_ILACE_MODE_UNDETECTED; - interlace_fixmethod = BC_ILACE_FIXMETHOD_UPONE; + interlace_autofixoption = ILACE_AUTOFIXOPTION_AUTO; + interlace_mode = ILACE_MODE_UNDETECTED; + interlace_fixmethod = ILACE_FIXMETHOD_UPONE; // MPEG format information vmpeg_iframe_distance = GET_DEFAULT("VMPEG_IFRAME_DISTANCE", vmpeg_iframe_distance); @@ -983,6 +990,7 @@ void Asset::save_defaults(BC_Hash *defaults, UPDATE_DEFAULT("LAYERS", layers); UPDATE_DEFAULT("FRAMERATE", frame_rate); UPDATE_DEFAULT("VIDEO_LENGTH", video_length); + UPDATE_DEFAULT("SINGLE_FRAME", single_frame); } @@ -1026,7 +1034,7 @@ int Asset::dump(FILE *fp) vcodec, aspect_ratio,string); fprintf(fp," reel_name %s reel_number %i tcstart %jd tcend %jd tcf %d\n", reel_name, reel_number, tcstart, tcend, tcformat); - fprintf(fp," video_length %jd \n", video_length); + fprintf(fp," video_length %jd repeat %d\n", video_length, single_frame); return 0;