
I have some ideas about the way clipboards and editing would work...

Utopian Ideal:

There would be one single pool file for all working space.  All CSound objects would use this one pool file.  All non-system clipboards
would use this pool file to store data.  What this would allow, is being able to use TPoolFile::moveData in the cases of cut then paste.
And it would speed copy/paste except the copy could be delayed until the region that was copied needs to be modified.  But a copy 
followed by a paste would only take as long as the paste.

If there were some notion that the user could express that the data they are cutting is only going to be pasted once, then I could use
move data all together.  Also, I suppose that I could use move data on the first paste, and then it would become a watched region and
on the first modify if the clipboard still needs that data, then it could make a copy or ask the user if the clipboard data can be
discarded.... this is however, less transparent

Another advantage would be a single working space rather than multiple files scattered out with the input files.

---------------------------------------

Something I could do for the moment to at least speed cut/paste would be for the clipboard class to gain a reference to the CSound
object and would be able to probe into it's temp audio pools to get 'cutted' data.  The reference would imply a reference count so
that if they cut from then close the file, the data would still be available.  The clipboard would release the reference when something
else was copied to it, or the clipboard was destroyed.  Also CSoundWindow should then use this reference idea.


--------------------------------------

But, currently, ASoundClipboard is the base class for all clipboards it has pure virtual methods,
		// read data out of the CSound object and put onto the clipboard
	copyFrom(CSound *, start, length)
		// write data in to the CSound object from existing clipboard data
	copyTo(CSound *, start, length, mixMethod)
		// returns true if copyFrom can be called
	bool isReadOnly() const

	which are overloaded to use whatever resource that derivation is for.

	Some derivations might be:
		use the system clipboard area for copying data between applications
		use a application specific clipboard for having multiple application clipboards to choose from
		use a recording source as the clipboard data to paste from
		use a file/url as the clipboard data to paste from

	Also, in this generic interface to the idea of a clipboard should be sample rate conversion when reading from the clipboard


