Offline
San Francisco, CA

Hey all, I want to share a project that may be of interest.

https://mmontag.github.io/chip-player-js/browse

Chip Player JS is designed to play everything that I can't play in Spotify (and used to play in Winamp).

- Current supported formats: ay, it, mid, mod, nsf, nsfe, sgc, spc, kss, s3m, vgm, vgz, xm.
- Supports media keys on Chrome.
- Drag & drop files.
- Visualizer.
- Built-in catalog.
- Tempo adjust and channel muting.
- Subharmonic bass enhancer.
- MIDI synth with Adlib and Soundfont engines.

What would stop you from using this as a go-to music player?

Offline
NUMBSKULL

I was checking this out last night, this is awesome. Really impressive! I probably will be using this a lot at work.

Is the UI just home made by you, or is there some amazing CSS framework I need to be aware of?

One minor bug, if you scroll fast while a song is playing the audio sutters/jumps.

EDIT: another thing I would love is radio stations. Currently I listen to http://snesguide.com/ radio. Even if it was just a playlist of songs by console or something.

Last edited by catskull (Sep 16, 2019 4:38 pm)

Offline
NUMBSKULL

When I try to favorite a song, I get this error in the JS console:

Couldn't update favorites in Firebase. FirebaseError: No document to update: projects/chip-player-js/databases/(default)/documents/users/kJumfDcQrSY56mmLhALymdrKH3G2
Offline
Praha, Czech republic

Holy fuck this is nice! Nice collection as well!

Offline
São Paulo, Brazil

This is awesome! Nice UI, tested some impulse tracker mods I made and the replay is perfect. Always had some hard time suggesting mod players for osx users, now this problem is gone.

Offline
São Paulo, Brazil

Suggestion: an option for full-screening the visualizer. It'll be trippy for some good old Mortimer Twang modz.

Offline
San Francisco, CA
PULSELOOPER wrote:

This is awesome! Nice UI, tested some impulse tracker mods I made and the replay is perfect. Always had some hard time suggesting mod players for osx users, now this problem is gone.

Thanks, yeah, the module playback is handled by libxmp, which is really excellent and actively maintained for years by Claudio Matsuoka. I have only slightly modified it to handle speed control.

catskull wrote:

When I try to favorite a song, I get this error in the JS console:

Couldn't update favorites in Firebase. FirebaseError: No document to update: projects/chip-player-js/databases/(default)/documents/users/kJumfDcQrSY56mmLhALymdrKH3G2

Thanks for the report... I'll check into it!

Offline
Dallas, Texas

This is fire as f**ck

Honestly one of the best visualizers I've seen in a very long time.

Last edited by TylerBarnes (Sep 18, 2019 4:05 am)

Offline
San Francisco, CA
catskull wrote:

When I try to favorite a song, I get this error in the JS console

Should be fixed now!

Offline
São Paulo, Brazil
monx wrote:

Thanks, yeah, the module playback is handled by libxmp, which is really excellent and actively maintained for years by Claudio Matsuoka.

Claudio, brazilian dude wink

Offline
Rhode Island

This is an awesome piece of work! I will definitely be using this non-stop at work.

Random works great but I have one request; Could there be a permanent Random button that functions relative to the current directory into its children?

Offline
San Francisco, CA
catskull wrote:

Is the UI just home made by you

Yea, it is just homemade CSS, but owes a lot to ViLeR at int10h for the awesome VGA font. https://int10h.org/blog/categories/fonts/

2PLAYER wrote:

Could there be a permanent Random button that functions relative to the current directory into its children?

That's a great idea...I have been meaning to implement a shuffle button somehow, and wondering how exactly to do it. The player already has a notion of context that could be shuffled easily; but it's limited to playing through the current directory wherever you initiate playback. Doing it recursive is the tricky part, because the context could easily be 20,000 songs (like 4 MB of text data). I'll think about it...

Offline
San Francisco, CA
2PLAYER wrote:

Random works great but I have one request; Could there be a permanent Random button that functions relative to the current directory into its children?

Just added a "Shuffle Play" button to the Browse view. It will shuffle play everything in the current directory including subdirectories. There's no way to view the shuffled context, but that could change.

Other little things:
- added more cover art, now with fallback behavior
- cleaned up/added new SoundFonts
- search now matches inside camelcase words, i.e. query "endo" will match "TristEndo"

Offline
Rhode Island
monx wrote:

Just added a "Shuffle Play" button to the Browse view. It will shuffle play everything in the current directory including subdirectories.

this is awesome, thanks!

Offline
Rhode Island

Actually, just noticed one issue; when shuffling play in "Nintendo" you get "Nintendo SNES". Looks like it is an issue with having the full directory name string inside another directory name. You can get the same issue to pop up in "/sega master system/after burner" since there is an "after burner (FM)"

Offline
San Francisco, CA
2PLAYER wrote:

Actually, just noticed one issue; when shuffling play in "Nintendo" you get "Nintendo SNES". Looks like it is an issue with having the full directory name string inside another directory name. You can get the same issue to pop up in "/sega master system/after burner" since there is an "after burner (FM)"

Ohh, sick find. Thank you.
...
Fixed.