Coder Social home page Coder Social logo

alaanor / beatlist Goto Github PK

View Code? Open in Web Editor NEW
202.0 10.0 54.0 4.01 MB

Beatlist is an app to manage playlists and beatmaps for the game Beat Saber.

License: MIT License

JavaScript 0.67% HTML 0.14% Vue 55.73% TypeScript 43.45%
manage-playlists beatmaps beatsaber beatsaver playlists

beatlist's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

beatlist's Issues

Playlist loading breaks when a non-playlist file is in the user's Playlist folder

Tested with both an .exe file and a .jpg file in the Beat Saber/Playlists folder

When a non-playlist file is present, you cannot properly add new playlists or create a new one from beatlist. Playlists added to the Playlists folder after the non-playlist file is added will not appear in beatlist's Playlist tab

If beatlist is installed AFTER a non-playlist file is already present, no playlists will properly load in beatlist until the non-playlist file is removed.

Memory leak or extreme ram ussage.

Not sure whats going on but this app eats my ram worse than google chrome. Its slow and it eats around 22 gb of my 24gb of ram when i try to download songs on playlists I haven't already downloaded.

One-click install isn't a one-click install

Unlike with ModAssistant, clicking a "one-click install" button on such site as bsaber.com opens the song page in BeatList instead of quietly installing it.

So until this behaviour is changed, how could I make BeatList ignore the "beatsaver://" links?

BeatList doesn't open the song when opened by One-Click

This doesn't always happen, but sometimes beatlist just stays on the home screen and does not continue to the song screen. Seems a bit random honestly... Just happened again the first time I started beatlist by using one-click, but now I can't reproduce it anymore. Maybe some kind of timeout that only happens the first time and now it's already cached in RAM and the timeout isn't hit anymore?

Severe memory leak?

I believe beatlist was running in the background, because I got an out of memory error. When I checked what was going on, I had a pagefile of 34 GB on my C:\ drive, and my 16 GB of ram was entirely being consumed by beatlist. Does the app have any logs that I can include?

Beatmap folder creation failed

When attempting to download this song (https://beatsaver.com/beatmap/74d5) I get the following error:
"Error: Error: Couldn't create a folder for the new beatmap."
I assume this has to do with the title needing further sanitization, as it contains a question mark, which is an illegal character for Windows filenames.
Downloading it manually from Beatsaver and extracting it to a folder with the same naming convention, minus the question mark worked fine.

Colon (:) not included in filename replace characters

Songs with a Colon (:) cause an error because they are invalid file characters on windows
Just change line 90 of src/lib/BeatSaber.ts from .replace(/[|&;$%@"<>()+,]/g, '') to .replace(/[|&;$%@"<>()+,:]/g, '') and it should fix it

forbidden symbol in song title causes error

When a song has a symbol in the title that Windows doesn't allow in a folder name you get an error that the folder couldn't be created without any description of why it failed. Could beatlist be reworked to notice these symbols and drop them from the folder name when downloading new songs?
It happened to me with this song that has the * symbol in its name:
https://bsaber.com/songs/9e27/

Need to dismiss Add to playlist dlg box

[Enhancement] UI best practice on the dialog box to add a map to a playlist: replace the word "Cancel" on the button with "OK" or "Close" since 1) it's the only way to close the dialog box, 2) you're not actually going to cancel your last actions.

Sort songs by title?

First I'd like to thank you for creating this awesome app. Makes creating and managing playlists a breeze. I do wish there's a sort by song title feature. Is it possible to add this feature?

Thanks

No songs added after scan

When I scan for songs there are 0 songs added.
The number of failed songs is the amount of songs I have in my Beatsaber folder.
All songs have the new key/name format and are freshly downloaded from Beatsaver.
Also tried clearing all my songs and just have 1 song downloaded from Beatsaver, same result (with 1 song not added)

scan

Put the "Preview Beatmap" button on the Song Browser screen

Just a suggestion, but having the preview button on the browser screen would make it much easier to just open a lot of browser tabs of song previews and then download the maps you like. The download button in the browser view is kinda pointless without the preview button (at least for me) because I never download a song without looking at the preview anyway.

Show playlist under the Beat Local

Hi there,

It would be really handy to be able to see under the Beat Local list the playlists a song is in using the playlist thumbnails I guess like the way you did for the difficulties.

That way, it would be quite easy to spot songs that are not in a playlist yet

Timing out and freezing

Whenever I try to download a song or even just scan my library the program seems to get stuck at some point and never finish, until the window turns solid white.
For downloading a song the moving circles progress bar will continously spin forever without finishing (the song seems to have downloaded though in beat saber folder).
For scanning library, it gets stuck at the last song until the program turns solid white. (Scanning Song 4892/4893 in my case)

Ability to add OST to playlists

Just loaded Beatlist this morning. Looks like it will be good for custom songs but I would also like to include some of the OST. Is that possible?

Downloading stops when unfocused.

The downloads from playlists/OCI's will stop once you stop focusing on the beatlist app making it insanely tedious and making it take longer to bulk download.

Downloads in turn also stop when you have too many at the same time and you have to reset the app to fix this issue.

Column headings off-center after resizing window

Issue:
If the Beatlist window is resized, some column headings can become vertically off-center.

Steps to reproduce:

  1. Open Local Beatmaps page.
  2. Display the following columns: Cover, Song name, Artist, Mapper, Difficulties, Downloads, Plays, Up votes, Actions
  3. Resize the window to a smaller size.

System:

  • Windows 10 Pro (1909)
  • Beatlist 1.2.0
  • Display Scale: 100%

Screenshot:
image

Json isn't deserialized properly

Any playlist that has uppercase as the first letter will not be read, won't even show up in the playlists.
For example, playlistTitle works, but PlaylistTitle doesn't. Same goes for image, description, song hash etc.

Show players favorites

It would be nice to have a view of the players favorite maps. Maybe like a playlist

The player favorites are stored in %LOCALAPPDATA%Low\Hyperbolic Magnetism\Beat Saber\PlayerData.dat which is a JSON file.

Becomes unresponsive after using search

Using Search or Filters causes UI to be unresponsive. This is on both Songs list and Playlist editing.
Essentially unusable. I have 135 Songs.

Tested on Ver 1.2.0 and Ver 1.2.1

Duplicate Handling

I have some issues with my library in having duplicate songs, but Beatlist thinks it's just one song.

Example:
image

I don't know which directory to delete without losing my local scores.

Highly need offline mode

When Beatsaver.com is offline (maintenance or other) the program is unusable as it still tries to verify hashes and displays no maps.
Please just load the local songs regardless so we can continue creating/updating playlists.

Set default items per page?

Seems like an easy enhancement, but much needed. Just allow setting the items per page in settings so it doesn't default to 12 on each run of the app!

Search does not work for map key

Hi,

search does not seem to get any results when searching for the key of the map. This works in BeatDrop.

I guess this is because according to https://github.com/Alaanor/beatlist/blob/master/src/lib/BeatSaverAPI.ts#L17 the search/text endpoint is used but BeatDrop uses search/text/all (https://github.com/StarGazer1258/BeatDrop/blob/master/src/actions/searchActions.js#L51)

Also while looking at that piece of code I noticed that URL encoding might be missing in all functions in https://github.com/Alaanor/beatlist/blob/master/src/lib/BeatSaverAPI.ts .

Song title sanitizing before folder creation

If a song title has a special character in it which Windows does not support inside of directory names, the folder for the song fails to be created and therefore the song cannot be downloaded within Beatlist. At least that's what I'm assuming.

As a work around, I can install via ModAssistant by using the suggested workaround for changing the beatsaver:// handler temporarily mentioned here . After doing this, beatlist does recognize the song is installed. It just cant install it on its own.

Workaround may just be doing a quick search of the string for any characters not allowed in Windows directories if you're not already:

< (less than)
> (greater than)
: (colon - sometimes works, but is actually NTFS Alternate Data Streams)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)

If this is something you are already doing then I'm not sure why the folder is failing to create, as any other song I've tried so far has been working without issue.

The song in question that I had noticed the issue with is https://beatsaver.com/beatmap/ebb

Edit: Formatting

Be able to select number of element for online songs

Hi, first thanks for your software. I used it yesterday and it is working great :) !

I have an enhancement feature for you. It will be cool to able to select the number of song displayed in the online song tab. I have check the API of https://beatsaver.com/ but unfortunatly, it seems that there is not possible. They use on their site an infinite scroll view :/.

Reading their code, the page size is an hardcoded value to 10 (https://github.com/lolPants/beatsaver-reloaded/blob/master/.env.example) and server routes are not developped to be able to give this value :(.

So either you can preload n pages of 10 elements in your side or may be create a request on the gihub to be able to give this parameter in their rest api ?

What do you think about that ?

Wrong song picture loaded

This isn't big deal; only aesthetic. To reproduce, just type into the search really quickly. Preferably, type in a word that are in a lot of song names. While it tries to live-filter while the typing is happening, sometimes the wrong song pictures get associated to the final results.

Add option to archive songs

I have tons and tons of songs, some of which I don't play, but I don't really want to remove them permanently (especially as some are not available publicly anymore).

It would be amazing if one could in both local song lists (as in, in the song list and in playlists) mark songs as "archived". That could move them to a separate tab (next to Online and Local) called Archive, where they'd just sit... "backed up", but not visible by the game.

The easiest implementation would probably be an extra folder in Beat Saber Data, called something like BeatList Archive, where you'd just move the archived folders.

Thank you for considering this feature.

Some songs not discoverable in-app

First, thanks so much for building this tool! I was having a hard time with all the other ways to manage local songs, this is almost exactly what I was wishing for.

I notice that about 30 maps (out of 150) in the folder are not picked up by the application. As far as I know, there's nothing special about them (one in particular is a map I made, and it was made using the same settings as my other maps which are picked up).

I'm happy to dig into this myself, but was hoping you could point me to the right place / offer any guesses as to how this might be possible :)

Thanks!

Onclick install can "re-install" a song if it exists!

The on click installer for songs is able to re-download the songs if they already exist this is unnecessary of course and a waste of data usage!

It should be a small fix since it's just missing a check and it would be a good QoL update

Starting a new search does not reset the page

If I am browsing the latest songs and I'm a few dozen pages deep, then I go to search for something, Beatlist stays set to whatever page number I was on. If there aren't that many pages of search results it looks like there are no results until I manually page back to a lower number.

I think it would be a much better user experience for it to reset back to page 1 when running a new search.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.