Zoobumafu / BeatSaber-Playlist-Master

BeatSaber Ultimate Playlist Editor
4 stars 1 forks source link

Error on Updating the lists and not detecting certain type of playlists (? or a limited amount) #2

Open cadavren opened 3 years ago

cadavren commented 3 years ago

Hi again ! I now have these issues :

I just have this before it launchs :

image The window opening before the app launch (see image above) appears when trying to update (clicking on the 'update list')

it doesn't seem like all my playlists are shown. image

The actual number of playlists I have : image

I also got this error (I'm trying to reproduce it so I can say when it did happen, I can't remember what I did) image

Detailled logs :

Consultez la fin de ce message pour plus de détails sur l'appel du débogage juste-à-temps (JIT) à la place de cette boîte de dialogue.

** Texte de l'exception ** System.ArgumentOutOfRangeException: L'argument spécifié n'était pas dans les limites de la plage des valeurs valides. Nom du paramètre : index à System.Windows.Forms.TreeNodeCollection.get_Item(Int32 index) à BeatSaberPlaylistMaster.MainForm.button1_Click(Object sender, EventArgs e) à System.Windows.Forms.Control.OnClick(EventArgs e) à System.Windows.Forms.Button.OnClick(EventArgs e) à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) à System.Windows.Forms.Control.WndProc(Message& m) à System.Windows.Forms.ButtonBase.WndProc(Message& m) à System.Windows.Forms.Button.WndProc(Message& m) à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

** Assemblys chargés ** mscorlib Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4341.0 built by: NET48REL1LAST_C CodeBase : file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

BeatSaberPlaylistMaster Version de l'assembly : 1.0.0.0 Version Win32 : 1.0.0.0 CodeBase : file:///E:/Program%20Files%20(x86)/BeatSaber%20Playlist%20Master/BeatSaberPlaylistMaster.exe

System.Windows.Forms Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4341.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4300.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Core Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4341.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Configuration Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4190.0 built by: NET48REL1LAST_B CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Xml Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Microsoft.VisualBasic Version de l'assembly : 10.0.0.0 Version Win32 : 14.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll

Newtonsoft.Json Version de l'assembly : 13.0.0.0 Version Win32 : 13.0.1.25517 CodeBase : file:///E:/Program%20Files%20(x86)/BeatSaber%20Playlist%20Master/Newtonsoft.Json.DLL

System.Numerics Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll

System.Runtime.Serialization Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4250.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll

System.Data Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4270.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll

mscorlib.resources Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/mscorlib.resources.dll

BeatSaverSharp Version de l'assembly : 2.0.1.0 Version Win32 : 2.0.1.0 CodeBase : file:///E:/Program%20Files%20(x86)/BeatSaber%20Playlist%20Master/BeatSaverSharp.DLL

netstandard Version de l'assembly : 2.0.0.0 Version Win32 : 4.8.4084.0 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/netstandard/v4.0_2.0.0.0__cc7b13ffcd2ddd51/netstandard.dll

System.Net.Http Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll

Accessibility Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

System.resources Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.resources.dll

System.Windows.Forms.resources Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll

** Débogage JIT ** Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette application ou cet ordinateur (machine.config) doit avoir la valeur jitDebugging définie dans la section system.windows.forms. L'application doit également être compilée avec le débogage activé.

Par exemple :

Lorsque le débogage juste-à-temps est activé, les exceptions non gérées seront envoyées au débogueur JIT inscrit sur l'ordinateur plutôt que d'être gérées par cette boîte de dialogue.

Thank you a lot for your work !

Zoobumafu commented 3 years ago

Hey @cadavren , thanks again for the patience, The issue you are seeing there is something I caught on my end as well, and I believe it is coming from the BeatSaberSharp Library, I think it has something to do with the BeatSaver API download servers being down (If you take a look a look at mod assistant, it can't download songs right now just as well).

I have updated the interface into something that I believe is much more stable and elegant, and from my testing this error doesn't pop up now (It still cannot download, I believe it will when BeatSaver is fixed, but that remains to be seen.)

About the playlists, my software only attempts to read .Json and .Bplist, what type of file are the ones who aren't being read? Can you send me one or two? I will try to update the software to read them.

Zoobumafu commented 3 years ago

@cadavren Hi, Released another update, this one is allot more stable, did not manage to crash it on my end,

About the playlists, if you could send me an example of a playlist you couldn't use, I will probably be able to fix this issue globally. (I need to know the file type, and verify that it is built like a json)

cadavren commented 3 years ago

Hi ! Sorry for the late reply.

About the playlists, my software only attempts to read .Json and .Bplist, what type of file are the ones who aren't being read? Can you send me one or two? I will try to update the software to read them.

Looking at it right now, there's only .bplist and .Json, so I guess it just doesn't want to take all my playlists ? I have 16 Bplist files and 30 Json files. It appears only 6 files (4 .Json and 2 . Bplist), by alphabetic name (4 starting with A- , 1 starting with B- and 1 starting with C- ).

I'm heading to download the new version and so I'll tell you more about if I still have the issues.

EDIT : There is no change on my side ! so I don't know. Also Creating multiple folders to divide the number of playlist does not seem to help, there is no more playlist displayed on the app anymore. image

EDIT 2 : Creating a playlist directly on the app makes it displayed, no matte the first letter. But I still don't see the other playlists. image

If you want to check out some of the files, even if these are supposed to be Json and Bplist, I've zipped 4 of them (two Bplist and two Json).

Playlists.zip

Zoobumafu commented 3 years ago

Hi @cadavren ! I have taken a look, I managed to load all your playlists besides one - WTB Showdown - Semi Finals.json Looking into that specific one, I see that it has some text before the json file begins, and for some reason NewtonSoft Json (the library that reads the file) cannot read this, deleting this line fixes it.

I have no clue what this line is doing there, or what is it's purpose, I am sure someone with some knowledge in Javascript would be able to understand it's meaning, but I will find a way tomorrow to detect and delete it automatically.

image

Also, about the diving files in folders, the software only scans the first level of folders, I never thought about scanning deeper, I will try to implement it, and if it doesn't have too big of a toll on performance, I will add it as well.

You should be able to use this playlist file now -

WTB Showdown - Semi Finals.zip

Zoobumafu commented 3 years ago

Hi @cadavren ! I believe the issue is resolved, the software not deletes everything before the first "{", I do recommend that you backup the playlists that didn't work before you use the software for the first time, as I am still not sure what is the purpose of this text.

Newest installation file attached here -

Edit - Sent wrong file, this is the newest - Setup.zip

cadavren commented 3 years ago

Hi ! Thank you for taking a look. I've installed the new setup, tried again to reload all my playlists (I did a backup before that) and to see if all of them were displayed, and I still have the same issues which only shows my 6 first playlist. I really don't know what is up with me.

EDIT - 20/04/2021

I have another issue, where when I tried to update and it ask for if I want to save and click yes, some of my playlists get completely erased from the playlist folder. Here is a before / after : Before : image

After : image

The error says itself it can't find the playlist (which was here just before I clicked yes, and is still displayed by the app, but cannot be found on the folder) image

Here is the log I get :

Consultez la fin de ce message pour plus de détails sur l'appel du débogage juste-à-temps (JIT) à la place de cette boîte de dialogue.

** Texte de l'exception ** System.IO.DirectoryNotFoundException: Impossible de trouver une partie du chemin d'accès 'E:\Program Files (x86)\Steam\steamapps\common\Beat Saber\Playlists\K\DA ALL OUT.bplist'. à System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) à System.IO.File.InternalDelete(String path, Boolean checkHost) à System.IO.File.Delete(String path) à BeatSaberPlaylistMaster.MainForm.saveAll() à BeatSaberPlaylistMaster.MainForm.button1_Click(Object sender, EventArgs e) à System.Windows.Forms.Control.OnClick(EventArgs e) à System.Windows.Forms.Button.OnClick(EventArgs e) à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) à System.Windows.Forms.Control.WndProc(Message& m) à System.Windows.Forms.ButtonBase.WndProc(Message& m) à System.Windows.Forms.Button.WndProc(Message& m) à System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) à System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

** Assemblys chargés ** mscorlib Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4341.0 built by: NET48REL1LAST_C CodeBase : file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll

BeatSaberPlaylistMaster Version de l'assembly : 1.0.0.0 Version Win32 : 1.0.0.0 CodeBase : file:///E:/Program%20Files%20(x86)/BeatSaber%20Playlist%20Master/BeatSaberPlaylistMaster.exe

System.Windows.Forms Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4341.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll

System Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4300.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll

System.Drawing Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll

System.Core Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4341.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll

System.Configuration Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4190.0 built by: NET48REL1LAST_B CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll

System.Xml Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll

Microsoft.VisualBasic Version de l'assembly : 10.0.0.0 Version Win32 : 14.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Microsoft.VisualBasic/v4.0_10.0.0.0__b03f5f7f11d50a3a/Microsoft.VisualBasic.dll

Newtonsoft.Json Version de l'assembly : 13.0.0.0 Version Win32 : 13.0.1.25517 CodeBase : file:///E:/Program%20Files%20(x86)/BeatSaber%20Playlist%20Master/Newtonsoft.Json.DLL

System.Numerics Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll

System.Runtime.Serialization Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4250.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_4.0.0.0__b77a5c561934e089/System.Runtime.Serialization.dll

System.Data Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4270.0 built by: NET48REL1LAST_C CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll

System.Drawing.resources Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing.resources/v4.0_4.0.0.0_fr_b03f5f7f11d50a3a/System.Drawing.resources.dll

mscorlib.resources Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/mscorlib.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/mscorlib.resources.dll

BeatSaverSharp Version de l'assembly : 2.0.1.0 Version Win32 : 2.0.1.0 CodeBase : file:///E:/Program%20Files%20(x86)/BeatSaber%20Playlist%20Master/BeatSaverSharp.DLL

netstandard Version de l'assembly : 2.0.0.0 Version Win32 : 4.8.4084.0 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/netstandard/v4.0_2.0.0.0__cc7b13ffcd2ddd51/netstandard.dll

System.Net.Http Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Net.Http/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Net.Http.dll

Accessibility Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll

System.resources Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.resources.dll

System.Windows.Forms.resources Version de l'assembly : 4.0.0.0 Version Win32 : 4.8.4084.0 built by: NET48REL1 CodeBase : file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms.resources/v4.0_4.0.0.0_fr_b77a5c561934e089/System.Windows.Forms.resources.dll

** Débogage JIT ** Pour activer le débogage juste-à-temps (JIT), le fichier de configuration pour cette application ou cet ordinateur (machine.config) doit avoir la valeur jitDebugging définie dans la section system.windows.forms. L'application doit également être compilée avec le débogage activé.

Par exemple :

Lorsque le débogage juste-à-temps est activé, les exceptions non gérées seront envoyées au débogueur JIT inscrit sur l'ordinateur plutôt que d'être gérées par cette boîte de dialogue.

Zoobumafu commented 3 years ago

@cadavren Hi, Sorry for the delay, I was busy with work lately, This version is very buggy, I am currently working on fixes, expect a new version on friday-sunday

About the deleted play lists, it is something I didn't manage to replicate, but I will try to write a program in a way that it cannot interact with the play lists it cannot read.

If you could send the playlists that the software initially couldn't read, I will take a look and edit the code as needed so those are read as well

Zoobumafu commented 3 years ago

@cadavren Hi, I am letting you know that I am currently writing the program again from scratch, since it is currently barely readable in this current state

cadavren commented 3 years ago

Hello ! Sorry for the delay as well. no problem, I hope you can manage to do what you want with it! I'll be awaiting for it if you need testing again. Don't hesitate to @ me :)