undo/redo mixer, freds vp9, next/prev kfrm, ruleof3rds
[goodguy/history.git] / cinelerra-5.1 / cinelerra / assetpopup.C
index f5a3be2a37627b7b27cded03c82eb14b2a59b416..47cc7f2ada894d6fc01dc66307d3c29b7d631fdf 100644 (file)
@@ -271,6 +271,8 @@ AssetPopupMixer::~AssetPopupMixer()
 
 int AssetPopupMixer::handle_event()
 {
+       ArrayList<ZWindow *>new_mixers;
+
        mwindow->select_zwindow(0);
        for( int i=0; i<mwindow->session->drag_assets->total; ++i ) {
                Indexable *indexable = mwindow->session->drag_assets->values[i];
@@ -283,6 +285,9 @@ int AssetPopupMixer::handle_event()
                ZWindow *zwindow = mwindow->get_mixer(mixer);
                while( track ) {
                        track->play = track->record = 0;
+                       if( track->data_type == TRACK_VIDEO ) {
+                               sprintf(track->title, _("Mixer %d"), zwindow->idx);
+                       }
                        mixer->mixer_ids.append(track->get_mixer_id());
                        track = track->next;
                }
@@ -290,9 +295,14 @@ int AssetPopupMixer::handle_event()
                char *tp = strrchr(path, '/');
                if( !tp ) tp = path; else ++tp;
                zwindow->set_title(tp);
-               zwindow->start();
+               new_mixers.append(zwindow);
        }
-        mwindow->queue_mixers(mwindow->edl,CURRENT_FRAME,0,0,1,0);
+
+       mwindow->tile_mixers();
+       for( int i=0; i<new_mixers.size(); ++i )
+               new_mixers[i]->start();
+
+       mwindow->refresh_mixers();
        mwindow->resync_guis();
        return 1;
 }