Flazhik / CybergrindMusicExplorer

An ULTRAKILL mod that allows you to add custom songs to Cyber Grind playlist
Apache License 2.0
3 stars 0 forks source link

OGG Files break the mod #17

Open Xioverze opened 8 months ago

Xioverze commented 8 months ago

Using an OGG File in the custom music will break the mod, not allowing you to add any songs and will not allow you to change what song plays in the cybergrind

[Error  : Unity Log] UnsupportedFormatException: Unknown codec.
Stack trace:
TagLib.Ogg.Codec.GetCodec (TagLib.ByteVector packet) (at <7e91ff8d51a8484e8e9da954d83935d9>:0)
TagLib.Ogg.Bitstream..ctor (TagLib.Ogg.Page page) (at <7e91ff8d51a8484e8e9da954d83935d9>:0)
TagLib.Ogg.File.ReadStreams (System.Collections.Generic.List`1[T] pages, System.Int64& end) (at <7e91ff8d51a8484e8e9da954d83935d9>:0)
TagLib.Ogg.File.Read (TagLib.ReadStyle propertiesStyle) (at <7e91ff8d51a8484e8e9da954d83935d9>:0)
TagLib.Ogg.File..ctor (TagLib.File+IFileAbstraction abstraction, TagLib.ReadStyle propertiesStyle) (at <7e91ff8d51a8484e8e9da954d83935d9>:0)
System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) (at <44afb4564e9347cf99a1865351ea8f4a>:0   at TagLib.File.Create (TagLib.File+IFileAbstraction abstraction, System.String mimetype, TagLib.ReadStyle propertiesStyle) [0x00111] in <7e91ff8d51a8484e8e9da954d83935d9>:0)
TagLib.File.Create (System.String path, System.String mimetype, TagLib.ReadStyle propertiesStyle) (at <7e91ff8d51a8484e8e9da954d83935d9>:0)
TagLib.File.Create (System.String path) (at <7e91ff8d51a8484e8e9da954d83935d9>:0)
CybergrindMusicExplorer.Patches.CustomMusicPlaylistEditorPatch.CustomMusicPlaylistEditor_GetSongMetadataFromFilepath_Prefix (Playlist+SongIdentifier id, UnityEngine.Sprite ___defaultIcon, Playlist+SongMetadata& __result) (at <7e91ff8d51a8484e8e9da954d83935d9>:0)
CustomMusicPlaylistEditor.GetSongMetadataFromFilepath (Playlist+SongIdentifier id) (at <71de0119c3bd4574a6a60484016f7670>:0)
CustomMusicPlaylistEditor.GetSongMetadata (Playlist+SongIdentifier id) (at <71de0119c3bd4574a6a60484016f7670>:0)
CustomMusicPlaylistEditor.BuildLeaf (Playlist+SongIdentifier id, System.Int32 currentIndex) (at <71de0119c3bd4574a6a60484016f7670>:0)
DirectoryTreeBrowser`1[T].Rebuild (System.Boolean setToPageZero) (at <71de0119c3bd4574a6a60484016f7670>:0)
CustomMusicPlaylistEditor.Rebuild (System.Boolean setToPageZero) (at <71de0119c3bd4574a6a60484016f7670>:0)
DirectoryTreeBrowser`1[T].SetPage (System.Int32 target) (at <71de0119c3bd4574a6a60484016f7670>:0)
DirectoryTreeBrowser`1[T].NextPage () (at <71de0119c3bd4574a6a60484016f7670>:0)
UnityEngine.Events.InvokableCall.Invoke () (at <85d1d3e7744a4a47b5f51883bf40bba2>:0)
UnityEngine.Events.UnityEvent.Invoke () (at <85d1d3e7744a4a47b5f51883bf40bba2>:0)
ControllerPointer.UpdateEvents () (at <71de0119c3bd4574a6a60484016f7670>:0)
ControllerPointer.Update () (at <71de0119c3bd4574a6a60484016f7670>:0)
Xioverze commented 8 months ago

Theres also this, but I think this was also caused by the OGG file

[Error  : Unity Log] TargetException: Non-static field requires a target
Stack trace:
System.Reflection.MonoField.GetValue (System.Object obj) (at <44afb4564e9347cf99a1865351ea8f4a>:0)
CybergrindMusicExplorer.Util.ReflectionUtils.GetPrivate[T] (T instance, System.Type classType, System.String field) (at <7e91ff8d51a8484e8e9da954d83935d9>:0)
CybergrindMusicExplorer.GUI.Controllers.TerminalPlaylistController.BindControls () (at <7e91ff8d51a8484e8e9da954d83935d9>:0)
CybergrindMusicExplorer.GUI.Controllers.TerminalPlaylistController+<Startup>d__8.MoveNext () (at <7e91ff8d51a8484e8e9da954d83935d9>:0)
UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <85d1d3e7744a4a47b5f51883bf40bba2>:0)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
CybergrindMusicExplorer.GUI.Controllers.TerminalPlaylistController:Awake()
UnityEngine.GameObject:SetActive(Boolean)
CyberGrindSettingsNavigator:GoTo(GameObject)
CyberGrindSettingsNavigator:GoToNoMenu(GameObject)
UnityEngine.Events.UnityEvent:Invoke()
ControllerPointer:UpdateEvents()
ControllerPointer:Update()