Tangerine is a work-in-progress music player for the Nintendo 3DS and Nintendo Switch.
Note from developer:
The 3DS build is currently in heavy development as the shift is made from pp2d to citro2d. Please use the previous build instead of building yourself.
- Support for multiple formats (wav, flac, and mp3 currently).
- Ability to play playlists.
- Anything else the 3DS's sound application does.
- Touchscreen controls.
Available in 3DSX/SMDH and CIA formats.
You can just run
make all to get both 3DS and Switch builds, but for just one of them follow this.
Install the latest releases of ctrulib, citro3d, citro2d, and 3ds-mpg123 via the devkitPro pacman.
make 3ds to get a .3dsx, .smdh, and .cia.
Install the latest releases of libnx and switch-mpg123 installed via the devkitPro pacman.
make switch to get a .nro.
Put all music in /music/ folder on your SD card as traditional file browsing is not currently supported yet.
L/R - Skip forward/back a song
A - Pause/play
B - Return to file selection
Progress bar (touch screen) - Scrub through the audio (slow)
Some flac files have issues with playback speed on hardware but work fine in Citra.
Scrubbing within flac/mp3 files may take several seconds on Old 3DS depending on the size of the file
- @smealum for ctrulib.
- @fincs for citro3d.
- @Steveice10 for buildtools.
- @BernardoGiordano for pp2d and help with Makefile/rsf files.
- VLC for android for the rough UI design concept.
- @Sergey#5402 for help testing.
- @Fenrir#3268, @ahoischen#9453, and @TurtleP#2954 (and anyone else!) in #dev in the Nintendo Homebrew discord for help with some beginner C mistakes.
- mackron for their doctor libs (dr_flac and dr_wav specifically).
- devkitPro for the example Makefiles, portlibs, and citro2d.
- switchbrew/3dsbrew for documentation and examples.
- The big N for the Nintendo 3DS Sound application.
- Erokia for Heartbleed Synth.
- and @deltabeard for their orginal libmpg123 portlib fork and ctrmus (big inspiration and for understanding the DSP a lot better).