Originally Posted by banjomike
So with option 3 when I connect my Sony, if I edit and re-convert a book in Calibre it will update the metadata on the Sony of the OLD version of the book that is currently on the Sony and then I will still have to send the book to the Sony. Am I reading that right?
I am not sure I understand the sequence you are considering. I see two possibilities:
Possibility 1: editing and sending metadata
Re-converting a book has no effect on the process. Editing the metadata before the reconversion is the event of interest.
1) If you edit the metadata when the device is not connected, then the new metadata will be sent to the Sony in the first few seconds of the connection. Note that 'On Device' must be true for metadata to be sent.
2) If you edit the metadata while the device is connected, then the metadata is sent if/when you send the book.
3) If after case 2 you disconnect and reconnect, then we revert to case 1; the updated metadata will be sent to the device during the connection handshake.
The automatic metadata send happens once, in the first few seconds after the device is recognized. From that point on (while the device is connected), the behavior is the same as option 2 ('only on send').
Possibility 2: you want to 'sync' books as well as metadata.
If what you want is to have the reconverted book on your sony (such as when you update the cover), then yes, you must resend the book. The current automatic process does not ever change the book (more accurately, the file representing the book) on the Sony. It changes sony's database and calibre's cache.
The reason that books are not sent is performance. At the moment, I cannot tell with any accuracy if a book has changed, so I would be required to send all of them. I am not willing to pay the performance hit for that. If and when we have a way to know that the book in the library is newer than the book on the device, I will either change the processing behind the third option or add a fourth option, 'automatic with send' (or some such). Kovid and I have talked about adding the required information, but we haven't yet found a way to do it right (that is, cover all the change cases) without visibly impacting calibre's performance.