clip folder bug on reload, expander user folder drag/drop segv, remove libfdk src...
[goodguy/history.git] / cinelerra-5.1 / cinelerra / edl.C
index a756e6e576bae9999d136b7d27ffe2ef6666c318..21abfd7b99c95524e7d54020228b5f881b313840 100644 (file)
@@ -342,6 +342,7 @@ int EDL::save_xml(FileXML *file, const char *output_path)
 int EDL::copy_all(EDL *edl)
 {
        if( this == edl ) return 0;
+       folder_no = edl->folder_no;
        update_index(edl);
        copy_session(edl);
        copy_assets(edl);
@@ -402,7 +403,6 @@ void EDL::copy_session(EDL *edl, int session_only)
 
        if( !session_only ) {
                strcpy(this->path, edl->path);
-               awindow_folder = edl->awindow_folder;
                folders.copy_from(&edl->folders);
        }
 
@@ -1029,6 +1029,7 @@ EDL* EDL::add_clip(EDL *edl)
        EDL *new_edl = new EDL(this);
        new_edl->create_objects();
        new_edl->copy_all(edl);
+       new_edl->folder_no = AW_CLIP_FOLDER;
        clips.append(new_edl);
        return new_edl;
 }
@@ -1540,11 +1541,11 @@ void EDL::set_proxy(int new_scale, int use_scaler,
                rescale_proxy(orig_scale, new_scale);
 
 // change original assets to proxy assets
-       int awindow_folder = use_scaler || new_scale != 1 ? AW_PROXY_FOLDER : AW_MEDIA_FOLDER;
+       int folder_no = use_scaler || new_scale != 1 ? AW_PROXY_FOLDER : AW_MEDIA_FOLDER;
        for( int i=0,n=proxy_assets->size(); i<n; ++i ) {
                const char *orig_path = orig_assets->get(i)->path;
                Indexable *proxy_idxbl = proxy_assets->get(i);
-               proxy_idxbl->awindow_folder = awindow_folder;
+               proxy_idxbl->folder_no = folder_no;
                Asset *proxy_asset = proxy_idxbl->is_asset ? assets->update((Asset *)proxy_idxbl) : 0;
                if( proxy_asset && proxy_idxbl ) {
                        proxy_asset->width = proxy_idxbl->get_w();
@@ -1598,7 +1599,7 @@ void EDL::add_proxy(int use_scaler,
 // change original assets to proxy assets
        for( int i=0,n=proxy_assets->size(); i<n; ++i ) {
                Asset *proxy_asset = assets->update((Asset *)proxy_assets->get(i));
-               proxy_asset->awindow_folder = AW_PROXY_FOLDER;
+               proxy_asset->folder_no = AW_PROXY_FOLDER;
 // replace track contents
                for( Track *track=tracks->first; track; track=track->next ) {
                        if( track->data_type != TRACK_VIDEO ) continue;
@@ -1614,7 +1615,7 @@ void EDL::add_proxy(int use_scaler,
 
 Asset *EDL::get_proxy_asset()
 {
-       return awindow_folder == AW_PROXY_FOLDER ?
+       return folder_no == AW_PROXY_FOLDER ?
                tracks->first->edits->first->asset : 0;
 }