X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fmwindowedit.C;h=ca3475edb94716c44e4d2d658f671378b41e2fff;hb=d079f6253a75cc8cfedbab636ad0bc7f5dc9c5f5;hp=b406c7b207f12c4d421eedb58e25b045e3292519;hpb=7ead44762b23da404eee89b63e0474153fdf58a1;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/mwindowedit.C b/cinelerra-5.1/cinelerra/mwindowedit.C index b406c7b2..ca3475ed 100644 --- a/cinelerra-5.1/cinelerra/mwindowedit.C +++ b/cinelerra-5.1/cinelerra/mwindowedit.C @@ -1207,17 +1207,16 @@ if( debug ) printf("MWindow::load_assets %d\n", __LINE__); EDL *new_edl = new EDL; new_edl->create_objects(); new_edl->copy_session(edl); - new_edls.append(new_edl); - if( !indexable->is_asset ) { EDL *nested_edl = (EDL*)indexable; - new_edl->to_nested(nested_edl); - new_edl->local_session->set_clip_path(nested_edl); + new_edl->create_nested(nested_edl); + new_edl->set_path(indexable->path); } else { Asset *asset = (Asset*)indexable; asset_to_edl(new_edl, asset); } + new_edls.append(new_edl); if( labels ) { for( RecordLabel *label=labels->first; label; label=label->next ) { @@ -1559,7 +1558,7 @@ int MWindow::paste_edls(ArrayList *new_edls, int load_mode, edl->add_clip(new_edl->clips[j]); } for( int j=0; jnested_edls.size(); ++j ) { - edl->nested_edls.get_copy(new_edl->nested_edls[j]); + edl->nested_edls.get_nested(new_edl->nested_edls[j]); } if( new_edl->total_vwindow_edls() ) { @@ -2380,6 +2379,18 @@ void MWindow::set_proxy(int use_scaler, int new_scale, int auto_scale, } } } + for( int j=0,m=edl->clips.size(); jclips[j]; + for( Track *track=clip->tracks->first; track; track=track->next ) { + if( track->data_type != TRACK_VIDEO ) continue; + for( Edit *edit=track->edits->first; edit; edit=edit->next ) { + if( !edit->asset ) continue; + if( !strcmp(edit->asset->path, orig_assets->get(i)->path) ) { + edit->asset = proxy_asset; + } + } + } + } } }