tilk / cdlc_player

Player for guitar tabs in CDLC format
GNU General Public License v3.0
31 stars 6 forks source link

Display Lyrics From psarc & Some Other Stuff #8

Open AkiraKusanagi opened 1 year ago

AkiraKusanagi commented 1 year ago

It would be nice if the app could play lyrics from the psarc, it would probably be kinda difficult though. Also, I'm sure it's completely legal. (I don't think anybody made displaying lyrics a crime...)

AkiraKusanagi commented 1 year ago

From what I know, a psarc is a kind of... encrypted zip file. You'd need some tools like, Custom Song Toolkit or some kind of Python tool for unpacking the file. Then, you would have to some how load the song's lyrics file. For example, the lyrics would be called something like, "Metallica_Wherever-I-May-Roam_V2_vocals.sng" you would have to somehow load this file and make it display onscreen.

ghost commented 1 year ago

Hello @AkiraKusanagi, it would be wonderful if you could try what I did with the lyrics https://github.com/yassineim/cdlc_player/releases/download/lyrics-v2/app-release.apk. Do note though that the code I added is really not optimized.

AkiraKusanagi commented 1 year ago

This works really good! It would be nice if the lyrics playing could be highlighted with a color such as blue or red, and turn grey when passed, and if the lyrics could be at the top-left of the screen instead of the bottom-left. (The lyrics location isn't really an issue, but if it was at the top-left of the screen, the style would be closer to Rocksmith.)

AkiraKusanagi commented 1 year ago

Oh yeah, only 15% of the songs I normally play work.

ghost commented 1 year ago

Thank you for testing ! I implemented the color stuff and the position, and fixed some inaccuracies, https://github.com/yassineim/cdlc_player/releases/download/lyrics-v3/app-release.apk About the non working songs, can you please send me the CF links or anything so that I can debug further? Thanks

AkiraKusanagi commented 1 year ago

Sure! Though, I'm not sure how I can give you the ODLC (Official DLC) not much of those work on the lyrics version. (Also, if I somehow send links to the ODLC, wouldn't that be bad since those are paid songs?) Without further ado, here's some links:

Ado - Usseewa: https://ignition4.customsforge.com/cdlc/74737 (You can't really find this without the link for some reason...)

Houkago Teatime - U&I: http://www.mediafire.com/download/aornodabs5i1vdx/U%26IDD_p.psarc (All but one of their songs don't work on lrc ver.)

Gorillaz - Feel Good Inc.: https://drive.google.com/uc?export=download&id=1m4875E7zNP7YlCvjjvTn8WBZY8Ouu_Rm

Ryo (feat. Hatsune Miku) - Parade of Liars: http://www.mediafire.com/download/ra1z5x5h89kqcma/Ryo-Feat-Hatsune-Miku_Parade-of-Liars_v_p.psarc

(A lot of the ODLC doesn't work, but Idk how to send those. (Or if I can...)

AkiraKusanagi commented 1 year ago

Is there a way you can make the player automatically read and scan a folder you select? That would save a lot of time.

AkiraKusanagi commented 1 year ago

Is there a way make this version of the app count as a newer version (Like make it CDLC Player 6.001 or something) so I don't have to delete the app I have currently installed because of "app conflicts with existing package" error?

ghost commented 1 year ago

Thank you so much for the links. I changed the id of the app and fixed reading all the example songs except for Parade of Liars (it doesn't seem to have lyrics, can you double-check please) I don't have ODLC to check for sorry 😔 As for automatic folder scanning, that would need storage permission I think. I can try that later. https://github.com/yassineim/cdlc_player/releases/download/lyrics-v4/app-release.apk

AkiraKusanagi commented 1 year ago

This works really great! The reading is fixed, no issues so far. Thanks!

AkiraKusanagi commented 1 year ago

Also, my bad, PoL doesn't have lyrics. Sorry about that!

AkiraKusanagi commented 1 year ago

Oop here's an issue: Nirvana - Lounge Act (ODLC) Screenshot_20231121-210402 (That surprised me when I started playing. 😱)

AkiraKusanagi commented 1 year ago

So basically, I was playing some Nirvana songs and tried playing Lounge Act. As soon as the song started, when there was singing, the entire lyrics of the song covered the screen.

AkiraKusanagi commented 1 year ago

Issue was also on the older lyrics release. Sorry, I didn't notice it because the lyrics were at the bottom of the screen so it didn't really cover the screen and was just cut off at the bottom.

ghost commented 1 year ago

I think the lyrics in that file are broken (as in there aren't any limits between sentences) I tried fixing the lyrics manually : Nirvana_Lounge-Act_v1_p.psarc.zip

There are some new changes in code too to fix Combo arrangements not getting loaded: https://github.com/yassineim/cdlc_player/releases/download/lyrics-v5/app-release.apk

AkiraKusanagi commented 1 year ago

Thanks! Have you found out anything about the auto-folder scanning?

AkiraKusanagi commented 1 year ago

Also, my bad... On the Nirvana - Lounge act thingy, I put CDLC, but it auto-corrected it. I think there is a newer version of the song you edited. Link: 1.2 https://drive.google.com/file/d/0B5KAhGdFkx_5eWpHMi1paHBPejQ/view?usp=sharing&resourcekey=0-9BGOGSVzDBJ-khbbe9f1Pg I think this chart has some improvements, but the lyrics file is broken.

ghost commented 1 year ago

That's the file I used as the base, the software I used to edit it put v1 there as a default value. I will try the folder scan and report back.

AkiraKusanagi commented 1 year ago

Alright, thanks!

ghost commented 1 year ago

https://github.com/yassineim/cdlc_player/releases/download/lyrics-v6/app-release.apk

Try with dots menu, scan directory. It can't be bare "Downloads" or "Internal storage", so take that into consideration. A subfolder is fine though.

AkiraKusanagi commented 1 year ago

Thanks! It works. Is there also anyway to add the ability to delete songs from the player? If you delete the file for the song, it doesn't go away. I think the player makes some kind of copy for the song and stores it in the app.

ghost commented 1 year ago

Yes, it actually only scans the folder when you tell it to. I added a delete button : https://github.com/yassineim/cdlc_player/releases/download/lyrics-v7/app-release.apk

AkiraKusanagi commented 1 year ago

It's really handy. It seems like it would be pretty easy to accidentally delete songs though. I recommend that you should put some kind of confirmation button like, "Are You Sure You Want to Delete This Song?: Yes or No"

ghost commented 1 year ago

Your ideas are really helpful, thanks.

https://github.com/yassineim/cdlc_player/releases/download/lyrics-v7.1/app-release.apk

AkiraKusanagi commented 1 year ago

You should enable issues in your fork, it doesn't really matter, but it would make more sense to report issues and improvements about the build on the build's repository.

ghost commented 1 year ago

Good idea, I just did that.

tilk commented 1 year ago

Hello, original author here! I really wanted to have lyrics in CDLC Player, but lacked the time to do so after I moved on to other projects. I'd be happy to try to merge the changes back (after reading them and ensuring they are high quality). Could you prepare a PR when the changes are ready?

ghost commented 1 year ago

Hello, would it be possible to merge music playing before? Because there are some common elements and it would be less work to create the lyrics PR after

tilk commented 1 year ago

Hello, would it be possible to merge music playing before? Because there are some common elements and it would be less work to create the lyrics PR after

Sure, but please fix up the PR first - it has the lyrics code too.