repair default keyframe load, tweak init default histogram threshold
[goodguy/history.git] / cinelerra-5.1 / cinelerra / clippopup.C
index 96e60c01eb258eaa537f6fad17a64e634eea614f..4027b8190a148b75898b637e4ca89820fd40d7d4 100644 (file)
@@ -32,6 +32,7 @@
 #include "edit.h"
 #include "edits.h"
 #include "edl.h"
+#include "edlsession.h"
 #include "filexml.h"
 #include "language.h"
 #include "localsession.h"
@@ -174,7 +175,7 @@ ClipPopupSort::~ClipPopupSort()
 
 int ClipPopupSort::handle_event()
 {
-       mwindow->awindow->gui->sort_assets(0);
+       mwindow->awindow->gui->sort_assets();
        return 1;
 }
 
@@ -429,7 +430,10 @@ int ClipPopupNest::handle_event()
 {
        MWindowGUI *gui = mwindow->gui;
        gui->lock_window("ClipPopupNest::handle_event 1");
-       if( mwindow->session->drag_clips->total > 0 ) {
+       if( mwindow->edl->session->proxy_scale != 1 ) {
+               eprintf("Nesting not allowed when proxy scale != 1");
+       }
+       else if( mwindow->session->drag_clips->total > 0 ) {
                EDL *edl = mwindow->edl;
                time_t dt;      time(&dt);
                struct tm dtm;  localtime_r(&dt, &dtm);
@@ -440,7 +444,7 @@ int ClipPopupNest::handle_event()
                EDL *clip = mwindow->session->drag_clips->values[0];
                EDL *nested = edl->new_nested(clip, path);
                EDL *new_clip = edl->create_nested_clip(nested);
-               new_clip->awindow_folder = AW_CLIP_FOLDER;
+               new_clip->folder_no = 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,
@@ -488,7 +492,9 @@ int ClipPopupUnNest::handle_event()
                nested_edl = edit && !edit->next && !edit->asset ? edit->nested_edl : 0;
                while( nested_edl && (track=track->next)!=0 ) {
                        Edit *edit = track->edits->first;
-                       if( !edit || edit->next || edit->nested_edl != nested_edl )
+                       if( !edit || edit->next ||
+                           ( edit->nested_edl != nested_edl &&
+                             strcmp(edit->nested_edl->path, nested_edl->path) ) )
                                nested_edl = 0;
                }
                if( nested_edl ) {
@@ -496,7 +502,7 @@ int ClipPopupUnNest::handle_event()
                        EDL *new_clip = new EDL(edl);
                        new_clip->create_objects();
                        new_clip->copy_all(nested_edl);
-                       new_clip->awindow_folder = AW_CLIP_FOLDER;
+                       new_clip->folder_no = AW_CLIP_FOLDER;
                        int idx = edl->clips.number_of(clip);
                        if( idx >= 0 ) {
                                edl->clips[idx] = new_clip;