halsafar / BeatSaberSongBrowser

BeatSaber plugin, adds much needed functionality to the song selection interface.
MIT License
164 stars 41 forks source link

Favorites issues #51

Closed aigle1234 closed 5 years ago

aigle1234 commented 5 years ago

Hello,

If we click a few and then view favorites it shows. But when you go back to main menu or restart the game they dont show anymore.

If it helps, here's all the plugins I have enabled: BeatSaberCustomUI.dll (1.3.9) BS_Utils.dll (1.2.1) CountersPlus.dll (1.5.1) HitScoreVisualizer.dll (2.1.6) NotesLeftCounter.dll (1.1.0) Perfect Display.dll (1.5.1) ScoreSaber.dll (2.1.1) SongBrowserPlugin.dll (3.0.3) SongLoaderPlugin.dll (6.8.0)

Thank you for all your work. Regards

halsafar commented 5 years ago

I will try to reproduce this. I use favorites all the time, it is especially useful when friends/family want to play. I use it to guide their picks. The several thousand custom songs are otherwise daunting.

Do you know how to enable the --verbose console log? If not: Steam -> Beat Saber -> Properties -> Launch Options -> Add: --verbose

Are you seeing any error message or exceptions in the log?

aigle1234 commented 5 years ago

Hello,

Please find a quick test steps to reproduce the issue : 1) click on solo menu / custom songs 2) click on a song (Alan Walker for example on the test debug) 3) click on the star to add this song to favorite 4) check with favorite filter that the song is present (test ok) 5) go back to main menu and click on campain mode 6) click on song on the campain, no need to play the song 7) go back on the main menu and click on the solo menu / custom songs 8) click on the favorite filter, the favorite song has disappeared 9) click on the song that has previously been added to favorite, the star with "+" is again available to add this song to favourite.

Please find here some debug output : we can see some warning "[SongBrowserPlugin @ 20:07 - Warning] Could not find song"

Song Loader [INFO]: Loaded 176 new songs in 2 seconds [BeatSaverDownloader | LOG] Matching songs for all playlists! [SongBrowserPlugin @ 20:06 - Info] No Beatmap Characteristic selected... selecting default... [BeatSaverDownloader | LOG] Started matching songs for playlist "Song Browser Favorites"... [SongBrowserPlugin @ 20:06 - Info] Determining song download time and determining mappings took 13ms [BeatSaverDownloader | LOG] Matched all songs for playlist "Song Browser Favorites"! Time: 0,02s [SongBrowserPlugin @ 20:06 - Info] Updating songs infos took 45ms [SongBrowserPlugin @ 20:06 - Info] Refreshing the song list view. [SongBrowserPlugin @ 20:06 - Info] Determining song download time and determining mappings took 2ms [SongBrowserPlugin @ 20:06 - Info] No song filter selected... [SongBrowserPlugin @ 20:06 - Info] Filtering songs took 0ms [SongBrowserPlugin @ 20:06 - Info] Sorting song list as default (songName) [SongBrowserPlugin @ 20:06 - Info] Sorting songs took 1ms [SongBrowserPlugin @ 20:06 - Info] Updating songs infos took 7ms [SongBrowserPlugin @ 20:06 - Info] Refreshing the song list view. [SongBrowserPlugin @ 20:06 - Info] No song filter selected... [SongBrowserPlugin @ 20:06 - Info] Filtering songs took 0ms [SongBrowserPlugin @ 20:06 - Info] Sorting song list as default (songName) [SongBrowserPlugin @ 20:06 - Info] Sorting songs took 0ms [SongBrowserPlugin @ 20:06 - Info] Refreshing the song list view. [SongBrowserPlugin @ 20:06 - Info] Checking for BeatSaber Twitch Integration Plugin... [SongBrowserPlugin @ 20:06 - Info] BeatSaber Twitch Integration plugin detected: False [SongBrowserPlugin @ 20:06 - Info] Refreshing the song list view. Creating Info Button [SongBrowserPlugin @ 20:06 - Info] Add Alan Walker to editing playlist [SongBrowserPlugin @ 20:07 - Info] Filtering song list as favorites playlist... [SongBrowserPlugin @ 20:07 - Warning] Could not find song in playlist: Alan Walker [SongBrowserPlugin @ 20:07 - Warning] Could not find song in playlist: Alan Walker

Regards

halsafar commented 5 years ago

I confirmed a few issues with favorites recently. The next release should have a fix.

halsafar commented 5 years ago

Fixed in 3.0.4 release. Confirm?

aigle1234 commented 5 years ago

Hello, Seems that favorites are well saved on the "SongBrowserPluginFavorites.json" with your 3.0.4 release, but when we close the game and restart, it's like that it's not reloaded the json favorite list on the game (favorite list is empty on the game). Another strange thing is that when I restart the game, all buttons text became "SETTINGS" on the toolbar.

Don't know if it's related or if it can help but here is a debug : [DEBUG @ 13:16:33 | IPA/LibraryLoader] Resolving library SongBrowserPlugin.XmlSerializers, Version=3.0.4.0, Culture=neutral, PublicKeyToken=null [DEBUG @ 13:16:33 | IPA/LibraryLoader] Looking for file SongBrowserPlugin.XmlSerializers.3.0.4.0.dll [CRITICAL @ 13:16:33 | IPA/LibraryLoader] No library SongBrowserPlugin.XmlSerializers, Version=3.0.4.0, Culture=neutral, PublicKeyToken=null found

Tested on BeatSaber version 0.13.2 BeatSaberSongBrowser Plugin 3.0.4

Regards

halsafar commented 5 years ago

Is this still an issue in 3.0.6? I've been unable to reproduce any more issues with favorites.

aigle1234 commented 5 years ago

Hello, I've just tested with your version 3.0.6, the issue is still present, if you had a song to the favorite and then quit/re lunch the game, the favorite is not saved and not apparead on the game. I have 2 files on "hyperbolic-magnetism-beat-saber" folder: "song_browser_settings.xml" and "song_browser_settings.xml.bak", also try to delete these files and restart, same thing. Regards

halsafar commented 5 years ago

Can you attach your SongBrowserFavorites.json Playlist?

It looks like the bug has something to do with failing to save the playlist. It should be saving it immediately after adding a song.

aigle1234 commented 5 years ago

Hello,

Please find below the content of "SongBrowserFavorites.json" for an example with 1 favorite :

{ "playlistTitle": "Song Browser Favorites", "playlistAuthor": "SongBrowser", "image": "iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAC0klEQVRYCe2Yv48NURTH3xsrklVsaCgURMgWEgkbNISGRYRNaGyiUIh/wV+gkKg0im0kSoXELhqaRWyQeIVmFWxEQmMTEhJrxue7MZt7Z8b98WYMiXeSk3vmnu855ztn7ty573U6Axl0YNABZwe6Tm8LzizLRtAxSu1Dd6PTSZJM5aVbJQiRIQrvYBSZvegedLTb7SaMy4KvB8Gd+bUCLAEg8Ca05LOA7ov3FP2WQ8i5Dr2GnmJ+GM1dVaPT2UnTdJZEdWWRPFvz6ti3QhOC7eVxGldaqwuSqGsr7dVcnzJC3DYjdtywo0zrMdL6Je7gGESPYlvkY7IS/5r4+3kM9nBuB4xpAKZZSMTjpT/pJbO61UHT0YYN8e90t8f4mHpz2LPoG7N2qwQhskjxh+gjdA59BqGvjL+VEkFafAD0OIF11+AUObJC5Rn2uMnCnPPSIsgdDqEzJF7rjPI4ideO8A7YPQ/U67a6ROIlIl54ozwAyH0CMu+BBbmtDioCkgcZan1JyGF9SZS3X6kiqH1ood+ETcdZj7jp5E3k++cJlh4x24zOYhM1715L5AhbyoeaeewjFW/fKvQci7xEPLKQjlc6892OjCvBLSIQ+0EHz4M6UUJGTEDuLbnuRoT8PShktfkvCzd/M5bJH31JILQeZldjSZl46xGbjn5tCG1E9b09ju6vu55LBLnrLSQ+FJIYIi95U5/qZrBXo1fQi8Su0VwTYhEkeYI+ocCGkOTg9HNR5PT23+H6cEhcDKa4BnU8+hKSAELzEHouLPZkIDkdRqLE6iBFqJWNobuwi+SLiT8aE6cN22V+djmrfBZBASCmU++DKrBjbrvDZ7oWzIsQ29elkBzCuH9s/8rCzeuYHyVNEXzlq8qy0XdZv0XaF7amk1q8HrnQPjOjIiSvVxFkXnLZgEaZQWsnNCMEz6BnwW9G9cbqf5YbbObRa4+4gfwfHfgJl0/SsDnBjEsAAAAASUVORK5CYII=", "playlistSongCount": 1, "songs": [ { "key": "8CC67C8B5952030DB62B3F5986833792∎Alan Walker∎Alone∎Alan Walker∎180∎", "songName": "Alan Walker", "hash": null } ], "fileLoc": "E:\Oculus\Software\Software\hyperbolic-magnetism-beat-saber\Playlists\SongBrowserPluginFavorites.json", "customDetailUrl": null, "customArchiveUrl": null }

I have also tried to remove strange caracters generated but still the same issue, the example favorite is not loaded on the game.

Here is the info.json for this song for example : {"songName":"Alan Walker","songSubName":"Alone","authorName":"Alan Walker","beatsPerMinute":180,"previewStartTime":20,"previewDuration":44,"coverImagePath":"Cover.jpg","environmentName":"NiceEnvironment","difficultyLevels":[{"difficulty":"Expert","difficultyRank":4,"audioPath":"Alone.ogg","jsonPath":"Expert.json","offset":-2000,"oldOffset":-2000},{"difficulty":"Hard","difficultyRank":4,"audioPath":"Alone.ogg","jsonPath":"Hard.json","offset":-2000,"oldOffset":-2000},{"difficulty":"Normal","difficultyRank":4,"audioPath":"Alone.ogg","jsonPath":"Normal.json","offset":-2000,"oldOffset":-2000}]}