X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fclippopup.C;h=96e60c01eb258eaa537f6fad17a64e634eea614f;hb=d079f6253a75cc8cfedbab636ad0bc7f5dc9c5f5;hp=ef291f195c3c58e2cc56ac88a4028e9c314412cb;hpb=214bd0ba9e21635e03d0c0e2b2ae1a7e9170583c;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/clippopup.C b/cinelerra-5.1/cinelerra/clippopup.C index ef291f19..96e60c01 100644 --- a/cinelerra-5.1/cinelerra/clippopup.C +++ b/cinelerra-5.1/cinelerra/clippopup.C @@ -431,36 +431,33 @@ int ClipPopupNest::handle_event() gui->lock_window("ClipPopupNest::handle_event 1"); if( mwindow->session->drag_clips->total > 0 ) { EDL *edl = mwindow->edl; + time_t dt; time(&dt); + struct tm dtm; localtime_r(&dt, &dtm); + char path[BCSTRLEN]; + sprintf(path, _("Nested_%02d%02d%02d-%02d%02d%02d"), + dtm.tm_year+1900, dtm.tm_mon+1, dtm.tm_mday, + dtm.tm_hour, dtm.tm_min, dtm.tm_sec); EDL *clip = mwindow->session->drag_clips->values[0]; - EDL *new_clip = new EDL(edl); - new_clip->create_objects(); - new_clip->copy_all(clip); + EDL *nested = edl->new_nested(clip, path); + EDL *new_clip = edl->create_nested_clip(nested); new_clip->awindow_folder = AW_CLIP_FOLDER; + sprintf(new_clip->local_session->clip_icon, + "clip_%02d%02d%02d-%02d%02d%02d.png", + dtm.tm_year+1900, dtm.tm_mon+1, dtm.tm_mday, + dtm.tm_hour, dtm.tm_min, dtm.tm_sec); snprintf(new_clip->local_session->clip_title, sizeof(new_clip->local_session->clip_title), _("Nested: %s"), clip->local_session->clip_title); strcpy(new_clip->local_session->clip_notes, clip->local_session->clip_notes); - time_t dt; time(&dt); - struct tm dtm; localtime_r(&dt, &dtm); - sprintf(new_clip->local_session->clip_icon, - "clip_%02d%02d%02d-%02d%02d%02d.png", - dtm.tm_year+1900, dtm.tm_mon+1, dtm.tm_mday, - dtm.tm_hour, dtm.tm_min, dtm.tm_sec); - char path[BCSTRLEN]; - sprintf(path, _("Nested_%02d%02d%02d-%02d%02d%02d"), - dtm.tm_year+1900, dtm.tm_mon+1, dtm.tm_mday, - dtm.tm_hour, dtm.tm_min, dtm.tm_sec); - EDL *clip_edl = edl->new_nested(new_clip, path); - new_clip->remove_user(); int idx = edl->clips.number_of(clip); if( idx >= 0 ) { - edl->clips[idx] = clip_edl; + edl->clips[idx] = new_clip; clip->remove_user(); } else - edl->clips.append(clip_edl); - mwindow->mainindexes->add_next_asset(0, clip_edl); + edl->clips.append(new_clip); + mwindow->mainindexes->add_next_asset(0, nested); mwindow->mainindexes->start_build(); popup->gui->async_update_assets(); }