Check file system contrainst before copying files

Hi,

I recently tried to copy a file > 4 GB in size to a FAT32 formatted USB stick. The copy failed during the process after copying about 4 GB as FAT32 cannot handle single files as large as that. While that's more or less expected, it's a pity that Opus does not check for such constraints before copying the file. I'd really like to see this added as a feature.

Not a bad idea. This happened to me once, too.

I'll use this as another oppty to say that support for something like OnCopy and OnCopyConflict events would make this fairly easy...

That said, you could probably create a script command that could proxy copy operations. Problem here is similar to that in the linked thread... there's alot of work to get to a progress dialog that could give you access to per file stats like filename and size info that you would need in order to handle the scenario you have. If there are enough people who want copy handling features, I'd be willing to write a copy proxy script - but again, it's alot of work to do relatively simple things, and will run into limitations pretty fast.

For large/batch copy jobs of multiple files (entire directories with sub-folders and files all over the place), I'd love for a future 'OnCopy' event to provide a way for the script to set some type of interrupt flag and criteria that could be used in order to specify some condition that would cause Opus to call back into the event handler in order to make complex decisions... so maybe a 'sidecar' event like OnCopyCallback or similar that the script could implement.

For instance, having a custom script have to look at EVERY item in a large copy operation - which could include THOUSANDS of very small files - processing every single file to check for something the script cares about could be a MASSIVE amount of overhead and performance impact... So for something like this, in the case where the destination is FAT/FAT32, a script could instead set some type of 'interrupt' or 'callback' flag such that after letting Opus begin the copy operation as it normally would, if any single item being copied is ~4GB in size, or a particular extension, or a variety of other attributes that you might have reason to want to provide special handling for... it could call BACK into the script and allow the script to take action.

I sometimes get accused of hijacking threads to press my own agenda :wink:... but I only ever do that when I think what I'm proposing is the best way of handling someones "ask". And I think that's the case here.