You can do all of it but it’s going to be finicky, especially with enforcing the aspect ratio.
There’s a really good thread on how to resize widgets with a drag (Resize dynamic panel with drag), so I won’t do a whole lot of explaining about that here. The big difference is that, in this case, you only want to resize if the width is going to be divisible by 16 (assuming you’re using 16:9). The logic would look something like:
IF [[x % 16]] equals "0" then Set Size
You then would want to resize the videos by the percentage difference between their size and the container’s size.
One of the biggest problems with using the “Drag” event is that it’s pretty easy to drag the widget faster than it can run the logic so things get out of sync quickly.
There’s a lot going on with what you’re trying to do, so be prepared to tweak a lot to get it to work exactly right: Keep_Aspect_Ratio.rp (118.9 KB)