modify folder segv fix, opengl pbfr resource conflict fix
[goodguy/history.git] / cinelerra-5.1 / cinelerra / edl.C
index 4411bf4bd0c652d0a065bb72f85e32ffbb7648f8..154f929ae01e7964286043748126174a792059e8 100644 (file)
@@ -410,7 +410,7 @@ void EDL::copy_session(EDL *edl, int session_only)
                session->copy(edl->session);
        }
 
-       if( !session_only ) {
+       if( session_only <= 0 ) {
                local_session->copy_from(edl->local_session);
        }
 }
@@ -1226,7 +1226,7 @@ const char *EDL::get_folder_name(int no)
        return !fp ? "" : fp->title;
 }
 
-int EDL::new_folder(const char *title)
+int EDL::new_folder(const char *title, int is_clips)
 {
        if( !title[0] ) return 1;
        int ret = get_folder_number(title);
@@ -1237,7 +1237,7 @@ int EDL::new_folder(const char *title)
                int no = fp->awindow_folder;
                if( no >= idx ) idx = no+1;
        }
-       folders.append(new BinFolder(idx, title));
+       folders.append(new BinFolder(idx, is_clips, title));
        return 0;
 }
 
@@ -1402,7 +1402,6 @@ int64_t EDL::get_video_frames()
                session->frame_rate);
 }
 
-
 void EDL::remove_vwindow_edls()
 {
        for( int i=0; i<total_vwindow_edls(); ++i ) {
@@ -1609,6 +1608,12 @@ void EDL::add_proxy(int use_scaler,
        }
 }
 
+Asset *EDL::get_proxy_asset()
+{
+       return awindow_folder == AW_PROXY_FOLDER ?
+               tracks->first->edits->first->asset : 0;
+}
+
 double EDL::get_cursor_position(int cursor_x, int pane_no)
 {
        return (double)cursor_x * local_session->zoom_sample / session->sample_rate +