Destructive AudioFormatWriter

I have been tasked with providing a destructive audio recorder.  I envisage this as an enhancement to the AudioFormatWriter by the addition of 3 additional functions.

A locate function to move to a position within a file by sample number.

A punchin function much like the write, but that would do a linear crossfade with the existing data over the number of samples specified.

A punchout function that would crossfade out across the specified number of samples.

I would like to know if this has been done before, or if there would be any interest in it becoming a part of JUCE.

It's not something that would fit very well with AudioFormatWriter, as clearly only a subset of formats can be written like that.

Also.. Surely just blasting over the existing file is a bad idea..? What are you going to do about undo/redo? I'd have thought that with today's fast CPUs and big storage, it'd be smarter to record into new files and then render the results, keeping the intermediate files for undo purposes (?)

Thanks for the advice!