{
AssetPicon *asset_picon = (AssetPicon *)get_selection(0, 0);
if( !asset_picon ) return 0;
+ Indexable *picon_idxbl = asset_picon->indexable;
+ EDL *picon_edl = asset_picon->edl;
+ int proxy = 0;
+ VWindow *vwindow = 0;
switch( mwindow->edl->session->awindow_folder ) {
case AW_AEFFECT_FOLDER:
case AW_VEFFECT_FOLDER:
case AW_ATRANSITION_FOLDER:
case AW_VTRANSITION_FOLDER: return 1;
+ case AW_PROXY_FOLDER:
+ proxy = 1; // fall thru
+ default:
+ if( mwindow->vwindows.size() > DEFAULT_VWINDOW )
+ vwindow = mwindow->vwindows.get(DEFAULT_VWINDOW);
+ break;
}
- VWindow *vwindow = mwindow->vwindows.size() > DEFAULT_VWINDOW ?
- mwindow->vwindows.get(DEFAULT_VWINDOW) : 0;
if( !vwindow || !vwindow->is_running() ) return 1;
+ if( proxy && picon_idxbl ) {
+ picon_edl = gui->collect_proxy(picon_idxbl);
+ picon_idxbl = 0;
+ }
- if( asset_picon->indexable )
- vwindow->change_source(asset_picon->indexable);
- else if( asset_picon->edl )
- vwindow->change_source(asset_picon->edl);
+ if( picon_idxbl ) vwindow->change_source(picon_idxbl);
+ else if( picon_edl ) vwindow->change_source(picon_edl);
return 1;
}