If you're a developer who owns a different music player, let me know. I'd love to link to them here.
Revision history:
v0.3
Recompiled to support updated SDK/hardware
v0.2
Two new visualizers
Fix autolock bug
Fix menu scrolling bug
v0.1
Basic ID3 (v2/3) tag support: song, artist, album
Basic sorting: all songs, artist, artist+album
Randomization / Loop modes
Toggle between light & dark themes
Choose between a handful of fonts
Choose between various text legibility options
Choose between four "visualizers": cycle or toggle off to save battery life
Known limitations:
No scrubbing support
No custom playlist support
Does not display album art
Screenshots:
Download:
From my website (jaymakesgames.com) or direct link here. The pdx will work on hardware or macOS Simulator. It is untested on Windows/Linux simulator, though I expect it won't work there
Installation:
Directions for how to install (to hardware, sim -- though I think many folks here already know how) as well as where to put your music files is available on the website (and in the README bundled in the zip). It's lengthy, so I didn't want to pollute this post with them.
Assorted other dev notes:
This project was built using the C-API.
All rendering is live, using primitive drawing APIs. No pre-rendered artwork (other than the fonts).
There is more to come -- but it's not quite ready to show off yet!
Happy to answer any questions, feedback, and any bug reports for songs that might be troublesome (I've run into a few, myself).
Hello @jaymakesgames -- love the interface, in-built visual effect, and how you let the user to change font! However, as I try to install on my Playdate (OS 2.0.0) this error message appeared. It's a message typically when Playdate OS is newer than game was built. It'd be nice to have a working version. I'll be using this at bed side to let my daughter to play her favorite songs.
Thanks so much @jaymakesgames, it's working great! It loads really fast, and the sound quality is surprisingly great!
I was wondering, if you have plan to support Unicode character display? At moment with in-built fonts I'm not able to see Japanese characters, I think it'd be really helpful if your music player supports displaying non-English characters. I'll be happy to find a font that would will suit your need (if this will be helpful to you.) I can imagine a lot of work may be involved in this, so no problem if you have no plan to support it.
Yeah; all the fonts that come provided with the SDK generally don’t seem to have any glyphs filled out outside of the ASCII range — and a subset of those are all I have provided for selection in the app.
I suspect fixing this is as simple as finding some font that includes all of these, and adding that in for usage is really easy. Maybe some extra work while decoding the tags.
I am pretty sure I’ve seen a few folks offering fonts on the forums that support the full set of characters. I’ll have to go scrounging around for a good free one!
With that, I was able to get things sort of working:
A bunch of these titles are clipped because of the entire app effectively assuming ASCII everywhere, but it’s a start. There’s a bunch more to do to get all the plumbing working.
@jaymakesgames wow, didn't expect you to have a working screen happen overnight, that IS a progress.
From the song titles... they're from Final Fantasy 7?
If the text is clipping, I wonder if it's a logic in the app or choice of font. If other fonts might help, if you could let me know the type of fonts you need I can go find if there's a free one in Japanese font community sites.
If the text is clipping, I wonder if it's a logic in the app or choice of font.
It’s a problem in the app, the font is perfectly fine from what I can tell.
To get into the technical details: I’m copying strings using methods that assume ASCII, so if they are handling a wide character string they will get tripped up seeing a \0 partway through (which is allowed in unicode, and some of the songs I have do exactly this).
Please share a beta build if it's okay!!!
What I have in place right now is pretty hacky, and only plumbs through song titles. I’d like to fix up the truncation issue in the menus (it looks fine in the player view, actually), then get an experimental build out to see how it works for you. Target is soon(ish).
If all that looks good, then the next longer term goal is to convert the hackery I did into a proper implementation (which would handle all the tags, rather than just song title).
Most of them has artist, title, and album in Japanese
Yes, I tried to use the last two fonts and compared difference. I can see that characters are now rendered in a way it's using a US code page for font "JF Dot Ayu", and characters are sort of showing but wrong characters seem to be mapped for font "KH Dot Ningyouchou".
And even though I have Japanese characters in artist and album they're categorized as Unknown Album / Artist -- please ignore this if this is known issue.
To make sure I have a clean start, I also tried deleting the game and data, and then install from Playdate's Setting ➔ Games .
I might be missing something, just letting you know what I saw.
Worth noting: when the app can’t parse out a song name, it falls back to displaying the filename, and that path isn’t aware of dealing with Unicode yet.
From the description and screenshots it looks like the app isn’t able to parse any of the tags on your mp3s.
Do you know how they are tagged? Right now I am only parsing ID3v2.2 and ID3v2.3 (and the unicode support I just added was on the v2.2 format end).
If you are able to share one of the files, that would be helpful! Feel free to DM. If you can’t share any of these for legal reasons, I could spin up a build with some debug info somewhere (either logs, or on screen) that shows what happened in the tag parser
There seems to be no DM feature on this forum and I can't post zip attachment as a new member, even got my uploaded zip file deleted by pastebin so I'll paste info read by eyed3[1]. Some of them are in ID3v2.4 which per your reply is not supported so it's expected, but others are ID3v2.3 so it should probably be parsed.
Weird... I just renamed a few Japanese filename mp3s with ID3v2.3 to English filename, when I open it the player screen is not showing Japanese characters.