strawberrymusicplayer / strawberry

:strawberry: Strawberry Music Player
https://www.strawberrymusicplayer.org/
GNU General Public License v3.0
2.67k stars 183 forks source link

avoid transcoding if device already has song(s) #1484

Open mikelpr opened 2 months ago

mikelpr commented 2 months ago

Describe the bug Currently, when copying to a device, if you have set Convert all music (trying this with an USB disk), Strawberry will transcode into its cache folder and then copy to the device. If you try to copy again a song, it will transcode again and then fail to copy.

To Reproduce

  1. set Convert all music on file formats on a (storage) device properties
  2. copy some songs to the device
  3. copy them again

Expected behavior Strawberry avoids transcoding songs that are already on the device

Screenshots: (I don't think they're necessary but will provide if asked for)

System Information:

Additional context I believe Strawberry doesn't actually match the files on your library with those on the device - if you set it to "Do not convert any music" and try to copy files to device that are already there, it quickly fails for those that exist and shows the "Error copying songs" dialog listing them, with the log textbox below empty, where it probably just should not say anything since it's not really an error or just say that these files weren't copied since they already existed.

All being said, I think if "Overwrite existing files" is not checked and the file(s) exist it should totally skip the transcode step since it will fail on the copy step.