You can thank Oomek for this, it'll render the snap, maintain it's aspect ratio and place a border around it. You need Attract Mode + and inertia installed
local snap = fe.add_artwork( "snap",358, 220, 1200, 480);
snap.preserve_aspect_ratio = true;
snap.zorder = 5;
local flw = fe.layout.width
local flh = fe.layout.height
local frame = fe.add_rectangle( -30 ,210, 0, 0)
frame.zorder = 4
frame.outline = 5
frame.alpha = 100
// position the frame at the centre of the artwork, to avoid troublesome x offset calculations
frame.anchor = Anchor.Centre
frame.x = snap.x + snap.width / 2
frame.y = snap.y + snap.height / 2
frame.height = snap.height
frame = Inertia( frame, 1000, "alpha");
fe.add_transition_callback( "snap_transition" )
function snap_transition( ttype, var, ttime )
{
if ( ttype == Transition.ToNewList || ttype == Transition.FromOldSelection )
{
// pixel aspect ratio of the artwork
local par = snap.texture_width.tofloat() / snap.texture_height.tofloat() * snap.sample_aspect_ratio
frame.width = snap.height * par
frame.tween_alpha = Tween.Quint;
frame.loop_alpha = false;
frame.set_alpha = 0;
frame.to_alpha = 255;
frame.delay_alpha = 1000;
}
if( ttype == Transition.ToNewSelection){
frame.alpha = 0
}
}