X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fawindowgui.C;h=e3271ccdbd456c8a65b8ecc8d4ac0f46457fb628;hb=fe342c90022bff98669b5cc96817cafe98c4e768;hp=a8e86742041e885f2ca4470223aa27e5428abf47;hpb=02a79c110b1bce1d500849c82b2098863cd60424;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/awindowgui.C b/cinelerra-5.1/cinelerra/awindowgui.C index a8e86742..e3271ccd 100644 --- a/cinelerra-5.1/cinelerra/awindowgui.C +++ b/cinelerra-5.1/cinelerra/awindowgui.C @@ -1699,8 +1699,12 @@ EDL *AWindowGUI::collect_proxy(Indexable *indexable) proxy_edl->session->audio_tracks = unproxy_asset->channels; proxy_edl->create_default_tracks(); double length = proxy_asset->frame_rate > 0 ? - (double)proxy_asset->video_length / proxy_asset->frame_rate : - 1.0 / mwindow->edl->session->frame_rate; + ( proxy_asset->video_length >= 0 ? + ( proxy_asset->video_length / proxy_asset->frame_rate ) : + ( proxy_edl->session->si_useduration ? + proxy_edl->session->si_duration : + 1.0 / proxy_asset->frame_rate ) ) : + 1.0 / proxy_edl->session->frame_rate; Track *current = proxy_edl->tracks->first; for( int vtrack=0; current; current=NEXT ) { if( current->data_type != TRACK_VIDEO ) continue; @@ -2088,7 +2092,7 @@ int AWindowFolders::drag_stop() ArrayList *drags = folder->is_clips ? ((ArrayList *)mwindow->session->drag_clips) : ((ArrayList *)mwindow->session->drag_assets); - if( folder && drags && !folder->add_patterns(drags) ) + if( folder && drags && !folder->add_patterns(drags, shift_down()) ) flicker(1,30); mwindow->session->current_operation = ::NO_OPERATION; result = 1;