StarGazer1258 / BeatDrop

The ultimate content-manager for Beat Saber. Download mods, songs, and more!
Other
326 stars 92 forks source link

Playlist "Finish Editing" rarely if ever works after adding songs #23

Closed viscoci closed 5 years ago

viscoci commented 5 years ago

Environment: OS - Windows 10 BeatDrop Version - 2.2.0

Description of bug: Thanks for the great tools, I really appreciate the hard work put into Beat Drop.

Problem: While editing a playlist, the "Finish Editing" button rarely if ever works. Usually this occurs when a duplicate of a song appears. Often, songs somehow appear as duplicates and one is usually not able to be removed.

Steps to reproduce:

  1. Create a playlist
  2. Notice that a song has duplicated itself
  3. Attempt to fix,
  4. Edit the playlist
  5. Delete one of the duplicates (the available to remove one)
  6. Attempt to finish editing by clicking finish editing button
  7. Nothing happens
  8. Close playlist and start a new one, hope that it doesn't happen again
  9. Problem somehow gets worse, another duplicate that can't be deleted appears
  10. Spend time making bug report because this happens a lot

Expected behavior: Playlist updates with only one song and actually saves changes

Actual Behavior Finish Editing button appears to do nothing when this bug occurs. Another duplicate of the song may appear.

Associated File Week14YURWeeklyCommunityWorkout1558573589308.bplist as .txt Screenshots: The song in question is Alone image image image image image image

viscoci commented 5 years ago

Fix I have been removing the songs from the .bplist file manually. This usually works

viscoci commented 5 years ago

Also just noticed that I have this song downloaded and could be an older version than the one on beatsaver or possible the duplication may be caused by having the song downloaded prior to adding it to the playlist?

xbkingx commented 5 years ago

Same issue present in 2.5.5 beta. If an map folder has the old 1.5.0 and new 2.0.0 file versions, the playlist cannot be edited (tracks deleted or playlist renamed), unless an song with a clean (2.0.0 files only) is also deleted. No idea why these maps weren't fully converted, but they work in the game. These 1.5+2.0 folders have the old json and ogg extensions, in addition to the new dat and egg ones.

This didn't happen for just one track. I have hundreds of mixed tracks now, so this may be the root cause of some other problems. Ugh.

Tested by: 1) Download a recent song (Song1) within BeatDrop. 2) Add it to Playlist TestBD1. 3) In song library, add a song that has the old 1.5 files in addition to the 2.0 files (Song2). 4) Attempt to edit playlist name. 5) Click Finish editing - Nothing will happen. 6) Delete Song2 from playlist. 7) Click Finish editing - Nothing will happen. 8) Delete Song1 from playlist 9) Click Finish editing - Changes applied.

You can repeat with playlist with only Song1, or only Song2, or same as above, but deleting Song1 first (Song2 will be stuck in the playlist until you add a newly downloaded song to the playlist).

Edit: Yup, manually deleting the json and ogg files clears up the behavior. Edit2: Unlike the OP, I had no indication of duplication, so the problem is more tricky to catch. The BeatSaver ID of the song changed, but the map is identical. Not BeatDrop's fault, but I suspect there are others having a similar problem and not finding duplicates, so leaving these comments here.

I don't even know what BeatDrop can do to make it easier because the sloppiness is really on the server side. Maybe pop up an alert that shows the tracks that have old file formats in them or write it to a log file and make sure the code ignores the offending file types. There's probably a bunch of hash value mismatching that's complicating everything (cause of my errors when trying to download missing files in the playlist view, for example). Wish I had some better recommendations, but man, the thought of wiping 100s of maps out completely and starting from scratch is competing heavily with shelving the game.